From 7971fb1febc67a845cde6bbb9b92842aa0a283ce Mon Sep 17 00:00:00 2001 From: Samba Release Account Date: Wed, 27 Aug 1997 20:20:58 +0000 Subject: charset.c: Added patch for client code page 852 (Eastern European) from Leos Bitto . clitar.c: proto.h: Fixed proto mismatch for strslashcmp(). Jermey (jallison@netcom.com) (This used to be commit c7a4647b7a84641f5fed6b67d45c241fff19c2b3) --- source3/client/clitar.c | 3 +-- source3/include/proto.h | 1 - source3/lib/charset.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/source3/client/clitar.c b/source3/client/clitar.c index f70e639e90..d5bca8c5bb 100644 --- a/source3/client/clitar.c +++ b/source3/client/clitar.c @@ -376,8 +376,7 @@ Compare two strings in a slash insensitive way, allowing s1 to match s2 if s1 is an "initial" string (up to directory marker). Thus, if s2 is a file in any subdirectory of s1, declare a match. ***************************************************************************/ -static -int strslashcmp(char *s1, char *s2) +static int strslashcmp(char *s1, char *s2) { char *s1_0=s1; diff --git a/source3/include/proto.h b/source3/include/proto.h index 8faa3201dc..65287ff595 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -51,7 +51,6 @@ char *smb_errstr(char *inbuf); /*The following definitions come from clitar.c */ -int strslashcmp(char *s1, char *s2); int padit(char *buf, int bufsize, int padsize); void cmd_block(void); void cmd_tarmode(void); diff --git a/source3/lib/charset.c b/source3/lib/charset.c index 0bbf99e29f..c1945cb1ef 100644 --- a/source3/lib/charset.c +++ b/source3/lib/charset.c @@ -96,6 +96,52 @@ unsigned char cp_850[][4] = { {0,0,0,0} }; +/* lower->upper mapping for IBM Code Page 852 - MS-DOS Latin 2 */ +/* Donated by Leos Bitto */ +unsigned char cp_852[][4] = { +{0x81,0x9A,1,1}, +{0x82,0x90,1,1}, +{0x83,0xB6,1,1}, +{0x84,0x8E,1,1}, +{0x85,0xDE,1,1}, +{0x86,0x8F,1,1}, +{0x87,0x80,1,1}, +{0x88,0x9D,1,1}, +{0x89,0xD3,1,1}, +{0x8B,0x8A,1,1}, +{0x8C,0xD7,1,1}, +{0x92,0x91,1,1}, +{0x93,0xE2,1,1}, +{0x94,0x99,1,1}, +{0x96,0x95,1,1}, +{0x98,0x97,1,1}, +{0x9C,0x9B,1,1}, +{0x9F,0xAC,1,1}, +{0xA0,0xB5,1,1}, +{0xA1,0xD6,1,1}, +{0xA2,0xE0,1,1}, +{0xA3,0xE9,1,1}, +{0xA5,0xA4,1,1}, +{0xA7,0xA6,1,1}, +{0xA9,0xA8,1,1}, +{0xAB,0x8D,1,1}, +{0xAD,0xB8,1,1}, +{0xBE,0xBD,1,1}, +{0xC7,0xC6,1,1}, +{0xD0,0xD1,1,1}, +{0xD4,0xD2,1,1}, +{0xD8,0xB7,1,1}, +{0xE4,0xE3,1,1}, +{0xE5,0xD5,1,1}, +{0xE7,0xE6,1,1}, +{0xEA,0xE8,1,1}, +{0xEC,0xED,1,1}, +{0xEE,0xDD,1,1}, +{0xFB,0xEB,1,1}, +{0xFD,0xFC,1,1}, +{0,0,0,0} +}; + /* lower->upper mapping for IBM Code Page 437 - MS-DOS Latin US */ unsigned char cp_437[][4] = { /* 135 08/07 207 87 c cedilla */ @@ -257,6 +303,9 @@ void codepage_initialise(int client_codepage) case 850: cp = cp_850; break; + case 852: + cp = cp_852; + break; case 437: cp = cp_437; break; -- cgit