Just for paranoia I propose change in LString.C/.h Is this one safe? --------------------------------- #ifndef _LSTRING_H_ #define _LSTRING_H_ #ifdef __GNUG__ #pragma interface #endif #include <config.h> // needed at least for compiler that do not // understand 'explicit' (JMarc) #ifdef _AIX // AIX has strange ideas about where definitions like strcasecmp // should go (JMarc) #include <strings.h> #else #include <string.h> /* AHanses: Macros handling non ASCII characters according to locale */ #ifdef __EMX__ # include <sys/nls.h> #endif #endif ----------------------------------- LString& LString::lowercase() { for (int i=0; i<length() ; i++) #ifdef _EMX_ /* AHanses: This macro handles non ASCII characters according to locale */ p->s[i] = _nls_tolower((unsigned char) p->s[i]); /* AHanses: DBCS unsafe */ #else p->s[i] = tolower((unsigned char) p->s[i]); #endif return *this; } ------------------------------------ Sorry, I'm asking too many questions. Arnd