C locale

"Luís "Luís
Thu Sep 26 19:38:12 PDT 2013


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).


More information about the Digitalmars-d mailing list