浏览代码

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 3 年之前
父节点
当前提交
ba975f4ba4
共有 1 个文件被更改,包括 7 次插入0 次删除
  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 {