a1df06b363
return true for characters > 127. I.e. they are allowing extended ASCII characters through which then cause problems. E.g. marking superscript '2' as a number then causes the common (ch - '0') conversion to number to fail miserably. Likewise letters with diacritical marks can also cause problems. If a non-ASCII character set is being used (currently only EBCDIC), it is adjusted for. The implementation uses a single table with a bit for each of the defined classes. These functions accept an int argument and fail for values out of range or for characters outside of the ASCII set. They will work for both signed and unsigned character inputs. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4102)
37 lines
1.5 KiB
Text
37 lines
1.5 KiB
Text
{- use File::Spec::Functions qw/catdir catfile/; -}
|
|
LIBS=../libcrypto
|
|
SOURCE[../libcrypto]=\
|
|
cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c cpt_err.c \
|
|
ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fopen.c ctype.c \
|
|
threads_pthread.c threads_win.c threads_none.c \
|
|
o_init.c o_fips.c mem_sec.c init.c {- $target{cpuid_asm_src} -} \
|
|
{- $target{uplink_aux_src} -}
|
|
EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \
|
|
x86cpuid.pl x86_64cpuid.pl ia64cpuid.S \
|
|
ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl
|
|
|
|
DEPEND[cversion.o]=buildinf.h
|
|
GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(CFLAGS_Q)" "$(PLATFORM)"
|
|
DEPEND[buildinf.h]=../configdata.pm
|
|
|
|
GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME)
|
|
GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl $(PERLASM_SCHEME)
|
|
GENERATE[uplink-ia64.s]=../ms/uplink-ia64.pl $(PERLASM_SCHEME)
|
|
|
|
GENERATE[x86cpuid.s]=x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(LIB_CFLAGS) $(PROCESSOR)
|
|
DEPEND[x86cpuid.s]=perlasm/x86asm.pl
|
|
|
|
GENERATE[x86_64cpuid.s]=x86_64cpuid.pl $(PERLASM_SCHEME)
|
|
|
|
GENERATE[ia64cpuid.s]=ia64cpuid.S
|
|
GENERATE[ppccpuid.s]=ppccpuid.pl $(PERLASM_SCHEME)
|
|
GENERATE[pariscid.s]=pariscid.pl $(PERLASM_SCHEME)
|
|
GENERATE[alphacpuid.s]=alphacpuid.pl
|
|
GENERATE[arm64cpuid.S]=arm64cpuid.pl $(PERLASM_SCHEME)
|
|
INCLUDE[arm64cpuid.o]=.
|
|
GENERATE[armv4cpuid.S]=armv4cpuid.pl $(PERLASM_SCHEME)
|
|
INCLUDE[armv4cpuid.o]=.
|
|
|
|
IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
|
|
SHARED_SOURCE[../libcrypto]=dllmain.c
|
|
ENDIF
|