1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

r23660: Anybody know what check_dos_char() was used for? It wasn't called at

all, so it's gone. With it 8k bss went away.
This commit is contained in:
Volker Lendecke 2007-06-29 17:27:59 +00:00 committed by Gerald (Jerry) Carter
parent 3ec43e18a4
commit 7e9a4c39a5
4 changed files with 1 additions and 96 deletions

View File

@ -1735,8 +1735,6 @@ bin/t_strappend@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ tortur
bin/t_stringoverflow@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ torture/t_stringoverflow.o bin/t_stringoverflow@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ torture/t_stringoverflow.o
$(CC) $(FLAGS) -o $@ $(DYNEXP) torture/t_stringoverflow.o -L./bin -lbigballofmud $(CC) $(FLAGS) -o $@ $(DYNEXP) torture/t_stringoverflow.o -L./bin -lbigballofmud
bin/t_doschar@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ torture/t_doschar.o
$(CC) $(FLAGS) -o $@ $(DYNEXP) $(LIBS) torture/t_doschar.o -L ./bin -lbigballofmud
bin/t_push_ucs2@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ torture/t_push_ucs2.o bin/t_push_ucs2@EXEEXT@: $(BINARY_PREREQS) bin/libbigballofmud.@SHLIBEXT@ torture/t_push_ucs2.o
$(CC) $(FLAGS) -o $@ $(DYNEXP) $(LIBS) torture/t_push_ucs2.o -L ./bin -lbigballofmud $(CC) $(FLAGS) -o $@ $(DYNEXP) $(LIBS) torture/t_push_ucs2.o -L ./bin -lbigballofmud

View File

@ -179,7 +179,6 @@ void init_iconv(void)
* codepage changes? */ * codepage changes? */
/* XXX: Is the did_reload test too strict? */ /* XXX: Is the did_reload test too strict? */
conv_silent = True; conv_silent = True;
init_doschar_table();
init_valid_table(); init_valid_table();
conv_silent = False; conv_silent = False;
} }

View File

@ -35,14 +35,6 @@ static BOOL upcase_table_use_unmap;
static BOOL lowcase_table_use_unmap; static BOOL lowcase_table_use_unmap;
static BOOL valid_table_use_unmap; static BOOL valid_table_use_unmap;
/**
* This table says which Unicode characters are valid dos
* characters.
*
* Each value is just a single bit.
**/
static uint8 doschar_table[8192]; /* 65536 characters / 8 bits/byte */
/** /**
* Destroy global objects allocated by load_case_tables() * Destroy global objects allocated by load_case_tables()
**/ **/
@ -150,21 +142,6 @@ void load_case_tables(void)
#endif #endif
} }
/*
see if a ucs2 character can be mapped correctly to a dos character
and mapped back to the same character in ucs2
*/
int check_dos_char(smb_ucs2_t c)
{
lazy_initialize_conv();
/* Find the right byte, and right bit within the byte; return
* 1 or 0 */
return (doschar_table[(c & 0xffff) / 8] & (1 << (c & 7))) != 0;
}
static int check_dos_char_slowly(smb_ucs2_t c) static int check_dos_char_slowly(smb_ucs2_t c)
{ {
char buf[10]; char buf[10];
@ -182,33 +159,6 @@ static int check_dos_char_slowly(smb_ucs2_t c)
return (c == c2); return (c == c2);
} }
/**
* Fill out doschar table the hard way, by examining each character
**/
void init_doschar_table(void)
{
int i, j, byteval;
/* For each byte of packed table */
for (i = 0; i <= 0xffff; i += 8) {
byteval = 0;
for (j = 0; j <= 7; j++) {
smb_ucs2_t c;
c = i + j;
if (check_dos_char_slowly(c)) {
byteval |= 1 << j;
}
}
doschar_table[i/8] = byteval;
}
}
/** /**
* Load the valid character map table from <tt>valid.dat</tt> or * Load the valid character map table from <tt>valid.dat</tt> or
* create from the configured codepage. * create from the configured codepage.
@ -257,7 +207,7 @@ void init_valid_table(void)
for (;i<0x10000;i++) { for (;i<0x10000;i++) {
smb_ucs2_t c; smb_ucs2_t c;
SSVAL(&c, 0, i); SSVAL(&c, 0, i);
valid_table[i] = check_dos_char(c); valid_table[i] = check_dos_char_slowly(c);
} }
} }

View File

@ -1,42 +0,0 @@
/*
Samba - Unix SMB/CIFS implementation
Test harness for check_dos_char
Copyright (C) Martin Pool 2003
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "includes.h"
/*
* Just print out DOS validity or not for every character.
*
* DOS validity for a Unicode character set means that it can be
* represented in DOS codepage, and that the DOS character maps back
* to the same Unicode character.
*
* This depends on which DOS codepage is configured.
*/
int main(void)
{
smb_ucs2_t i;
for (i = 0; i < 0xffff; i++) {
printf("%d %d\n", (int) i, (int) check_dos_char(i));
}
return 0;
}