Procházet zdrojové kódy

LibC: Define locale categories (LC_*) as macros

The C standard states that these symbols should be declared as macros,
not as emum variants as we were doing previously. This is used in some
ports (e.g. bash) to conditionally compile locale-dependent
functionality.

We now use the same trick here as with the errno constants. We keep the
enum, but also create macros that defer to the enum variants.
Daniel Bertalan před 3 roky
rodič
revize
ba975f4ba4
1 změnil soubory, kde provedl 7 přidání a 0 odebrání
  1. 7 0
      Userland/Libraries/LibC/locale.h

+ 7 - 0
Userland/Libraries/LibC/locale.h

@@ -12,12 +12,19 @@ __BEGIN_DECLS
 
 enum {
     LC_ALL,
+#define LC_ALL LC_ALL
     LC_NUMERIC,
+#define LC_NUMERIC LC_NUMERIC
     LC_CTYPE,
+#define LC_CTYPE LC_CTYPE
     LC_COLLATE,
+#define LC_COLLATE LC_COLLATE
     LC_TIME,
+#define LC_TIME LC_TIME
     LC_MONETARY,
+#define LC_MONETARY LC_MONETARY
     LC_MESSAGES,
+#define LC_MESSAGES LC_MESSAGES
 };
 
 struct lconv {