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:
parent
3ec43e18a4
commit
7e9a4c39a5
@ -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
|
||||
$(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
|
||||
$(CC) $(FLAGS) -o $@ $(DYNEXP) $(LIBS) torture/t_push_ucs2.o -L ./bin -lbigballofmud
|
||||
|
||||
|
@ -179,7 +179,6 @@ void init_iconv(void)
|
||||
* codepage changes? */
|
||||
/* XXX: Is the did_reload test too strict? */
|
||||
conv_silent = True;
|
||||
init_doschar_table();
|
||||
init_valid_table();
|
||||
conv_silent = False;
|
||||
}
|
||||
|
@ -35,14 +35,6 @@ static BOOL upcase_table_use_unmap;
|
||||
static BOOL lowcase_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()
|
||||
**/
|
||||
@ -150,21 +142,6 @@ void load_case_tables(void)
|
||||
#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)
|
||||
{
|
||||
char buf[10];
|
||||
@ -182,33 +159,6 @@ static int check_dos_char_slowly(smb_ucs2_t c)
|
||||
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
|
||||
* create from the configured codepage.
|
||||
@ -257,7 +207,7 @@ void init_valid_table(void)
|
||||
for (;i<0x10000;i++) {
|
||||
smb_ucs2_t c;
|
||||
SSVAL(&c, 0, i);
|
||||
valid_table[i] = check_dos_char(c);
|
||||
valid_table[i] = check_dos_char_slowly(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user