diff -up vim71/src/xxd/xxd.c.xxd vim71/src/xxd/xxd.c --- vim71/src/xxd/xxd.c.xxd 2008-07-18 14:21:03.000000000 +0200 +++ vim71/src/xxd/xxd.c 2008-07-18 14:23:48.000000000 +0200 @@ -90,6 +90,7 @@ #if __MWERKS__ && !defined(BEBOX) # include /* for fdopen() on MAC */ #endif +#include #if defined(__BORLANDC__) && __BORLANDC__ <= 0x0410 && !defined(fileno) /* Missing define and prototype grabbed from the BC 4.0 */ @@ -452,6 +453,11 @@ char *argv[]; long length = -1, n = 0, seekoff = 0; char l[LLEN+1]; char *pname, *pp; + char *lang=getenv("LANG"); + if(!lang) lang=getenv("LC_ALL"); + if(!lang) lang=getenv("LC_CTYPE"); + if(lang) + setlocale(LC_ALL, lang); #ifdef AMIGA /* This program doesn't work when started from the Workbench */ @@ -756,7 +762,7 @@ char *argv[]; #else (e > 31 && e < 127) #endif - ? e : '.'; + ? e : isalnum(e) ? e : '.'; if (e) nonzero++; n++;