On my OS X SDK, locale.h has:

    #define     LC_ALL          0
    #define     LC_COLLATE      1
    #define     LC_CTYPE        2
    #define     LC_MONETARY     3
    #define     LC_NUMERIC      4
    #define     LC_TIME         5
    #define     LC_MESSAGES     6

    #define     _LC_LAST        7               /* marks end */

On std.c.locate it has:

    enum LC_CTYPE          = 0;
    enum LC_NUMERIC        = 1;
    enum LC_TIME           = 2;
    enum LC_COLLATE        = 3;
    enum LC_MONETARY       = 4;
    enum LC_ALL            = 6;
    enum LC_PAPER          = 7;  // non-standard
    enum LC_NAME           = 8;  // non-standard
    enum LC_ADDRESS        = 9;  // non-standard
    enum LC_TELEPHONE      = 10; // non-standard
    enum LC_MEASUREMENT    = 11; // non-standard
    enum LC_IDENTIFICATION = 12; // non-standard

The mismatch of course causes problems.

Are the locale enumerate values supposed to be only source compatible? (not binary compatible). Should I send a patch for OS X? For what system are the current D values, Linux? (The author is Sean Kelly).

Reply via email to