| diff -up vim71/src/xxd/xxd.c.xxd vim71/src/xxd/xxd.c |
| |
| |
| @@ -90,6 +90,7 @@ |
| #if __MWERKS__ && !defined(BEBOX) |
| # include <unix.h> /* for fdopen() on MAC */ |
| #endif |
| +#include <locale.h> |
| |
| #if defined(__BORLANDC__) && __BORLANDC__ <= 0x0410 && !defined(fileno) |
| /* Missing define and prototype grabbed from the BC 4.0 <stdio.h> */ |
| @@ -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++; |