upload fixed verion by paulcodeman

git-svn-id: svn://kolibrios.org@7700 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
2019-11-14 18:45:31 +00:00
parent 26c8e413a9
commit 7984195956
19 changed files with 441 additions and 14665 deletions

View File

@@ -1,28 +1,27 @@
Compiler = kos32-gcc # sudo apt-get install gcc-multilib g++-multilib
Linker = kos32-ld
SDK_DIR:= $(abspath ../../../contrib/sdk) Compiler = gcc
Includes = -Id:\TEMP\mprog\kos\includes -I$(SDK_DIR)/sources/newlib/libc/include Compiler_Options = -m32 -c -fno-exceptions -D_UNIX_
#Compiler_Options = -c -fno-exceptions -O2 -D_WIN32_
Compatib_Posix = -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp #-D: _WIN32_ or _UNIX_
#-D: for _WIN32_ add -D__CONSOLE__
Compiler_Options = -c -fno-exceptions -D_KOS_ -U_Win32 -U_WIN32 -U__MINGW32__ \ Exe_file = cmm
-mno-ms-bitfields -Wno-write-strings $(Includes) $(Compatib_Posix)
Exe_file = cmm.kex
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/kos -L $(SDK_DIR)/lib
#-Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
Add_Libs = Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
#Link_Libs = -lc -lgcc Add_Libs = d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtbegin.o d:/TEMP/Dev-Cpp/lib/crt2.o d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtend.o
Link_Libs = -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app-dynamic.lds \
--image-base 0 -lgcc -ldll -lc.dll
My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
My_Libs = main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o
#Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
#################### ####################
## Makefile rules ## ## Makefile rules ##
@@ -31,9 +30,12 @@ My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o o
all : $(Exe_file) all : $(Exe_file)
$(Exe_file) : $(My_Libs) $(Exe_file) : $(My_Libs)
$(Linker) -o cmm.kex --stack 0x100000 $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs) # ld -o cmm.exe $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
objcopy cmm.kex -O binary $(Compiler) -m32 -o $(Exe_file) $(My_Libs)
kpack cmm.kex # ld -o cmm.exe -Bdynamic d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtend.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../crt2.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtbegin.o -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc
clean: clean:
rm *.o rm *.o
@@ -108,4 +110,3 @@ port.o: port.cpp
.asm.o: .asm.o:
fasm $< fasm $<

View File

@@ -0,0 +1,111 @@
Compiler = kos32-gcc
Linker = kos32-ld
SDK_DIR:= $(abspath ../../../contrib/sdk)
Includes = -Id:\TEMP\mprog\kos\includes -I$(SDK_DIR)/sources/newlib/libc/include
Compatib_Posix = -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp
Compiler_Options = -c -fno-exceptions -D_KOS_ -U_Win32 -U_WIN32 -U__MINGW32__ \
-mno-ms-bitfields -Wno-write-strings $(Includes) $(Compatib_Posix)
Exe_file = cmm.kex
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/kos -L $(SDK_DIR)/lib
#-Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
Add_Libs =
#Link_Libs = -lc -lgcc
Link_Libs = -static -S -nostdlib -T $(SDK_DIR)/lib/app-dynamic.lds \
--image-base 0 -lgcc -ldll -lc.dll
My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o
####################
## Makefile rules ##
####################
all : $(Exe_file)
$(Exe_file) : $(My_Libs)
$(Linker) -o cmm.kex --stack 0x100000 $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
objcopy cmm.kex -O binary
kpack cmm.kex
clean:
rm *.o
# next are the exceptions that don't have to be compiled with the /zu option
# since they will never be called from a interrupt. hey.. I _tried_ to find
# a clean solution..
main.o : main.cpp
$(Compiler) $(Compiler_Options) $<
toka.o : toka.cpp
$(Compiler) $(Compiler_Options) $<
tokb.o : tokb.cpp
$(Compiler) $(Compiler_Options) $<
tokc.o : tokc.cpp
$(Compiler) $(Compiler_Options) $<
toke.o : toke.cpp
$(Compiler) $(Compiler_Options) $<
tokr.o : tokr.cpp
$(Compiler) $(Compiler_Options) $<
errors.o :errors.cpp
$(Compiler) $(Compiler_Options) $<
debug.o : debug.cpp
$(Compiler) $(Compiler_Options) $<
outobj.o : outobj.cpp
$(Compiler) $(Compiler_Options) $<
outpe.o : outpe.cpp
$(Compiler) $(Compiler_Options) $<
disasm.o : disasm.cpp
$(Compiler) $(Compiler_Options) $<
switch.o : switch.cpp
$(Compiler) $(Compiler_Options) $<
outle.o : outle.cpp
$(Compiler) $(Compiler_Options) $<
pointer.o : pointer.cpp
$(Compiler) $(Compiler_Options) $<
new_type.o : new_type.cpp
$(Compiler) $(Compiler_Options) $<
class.o : class.cpp
$(Compiler) $(Compiler_Options) $<
res.o : res.cpp
$(Compiler) $(Compiler_Options) $<
optreg.o : optreg.cpp
$(Compiler) $(Compiler_Options) $<
libobj.o : libobj.cpp
$(Compiler) $(Compiler_Options) $<
port.o: port.cpp
$(Compiler) $(Compiler_Options) $<
.cpp.o:
$(Compiler) $(Compiler_Options) $<
.asm.o:
fasm $<

View File

@@ -0,0 +1,110 @@
Compiler = gcc
Compiler_Options = -c -m32 -fno-exceptions -D_UNIX_
#Compiler_Options = -c -fno-exceptions -O2 -D_WIN32_
#-D: _WIN32_ or _UNIX_
#-D: for _WIN32_ add -D__CONSOLE__
Exe_file = cmm
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
Add_Libs = d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtbegin.o d:/TEMP/Dev-Cpp/lib/crt2.o d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtend.o
Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
My_Libs = main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o
#Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
####################
## Makefile rules ##
####################
all : $(Exe_file)
$(Exe_file) : $(My_Libs)
# ld -o cmm.exe $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
$(Compiler) -m32 -o $(Exe_file) $(My_Libs)
# ld -o cmm.exe -Bdynamic d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtend.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../crt2.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtbegin.o -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc
clean:
rm *.o
# next are the exceptions that don't have to be compiled with the /zu option
# since they will never be called from a interrupt. hey.. I _tried_ to find
# a clean solution..
main.o : main.cpp
$(Compiler) $(Compiler_Options) $<
toka.o : toka.cpp
$(Compiler) $(Compiler_Options) $<
tokb.o : tokb.cpp
$(Compiler) $(Compiler_Options) $<
tokc.o : tokc.cpp
$(Compiler) $(Compiler_Options) $<
toke.o : toke.cpp
$(Compiler) $(Compiler_Options) $<
tokr.o : tokr.cpp
$(Compiler) $(Compiler_Options) $<
errors.o :errors.cpp
$(Compiler) $(Compiler_Options) $<
debug.o : debug.cpp
$(Compiler) $(Compiler_Options) $<
outobj.o : outobj.cpp
$(Compiler) $(Compiler_Options) $<
outpe.o : outpe.cpp
$(Compiler) $(Compiler_Options) $<
disasm.o : disasm.cpp
$(Compiler) $(Compiler_Options) $<
switch.o : switch.cpp
$(Compiler) $(Compiler_Options) $<
outle.o : outle.cpp
$(Compiler) $(Compiler_Options) $<
pointer.o : pointer.cpp
$(Compiler) $(Compiler_Options) $<
new_type.o : new_type.cpp
$(Compiler) $(Compiler_Options) $<
class.o : class.cpp
$(Compiler) $(Compiler_Options) $<
res.o : res.cpp
$(Compiler) $(Compiler_Options) $<
optreg.o : optreg.cpp
$(Compiler) $(Compiler_Options) $<
libobj.o : libobj.cpp
$(Compiler) $(Compiler_Options) $<
port.o: port.cpp
$(Compiler) $(Compiler_Options) $<
.cpp.o:
$(Compiler) $(Compiler_Options) $<
.asm.o:
fasm $<

File diff suppressed because one or more lines are too long

View File

@@ -1,94 +1 @@
/* <20><><EFBFBD><EFBFBD><><><E1A3A5><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD> 'FASTLIST.EXE' */ /* <20><><EFBFBD><EFBFBD><><><E1A3A5><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD> 'FASTLIST.EXE' */
short ofsdir[27]={
0x0000,0x000F, //D a
0xFFFF,0x0045, //b c
0x0072,0x0090, //d e
0x00A5,0xFFFF, //f g
0xFFFF,0x00C0, //h i
0x010A,0xFFFF, //j k
0xFFFF,0x0118, //l m
0xFFFF,0xFFFF, //n o
0x0132,0xFFFF, //p q
0x015F,0x0184, //r s
0xFFFF,0x01F6, //t u
0xFFFF,0x0263, //v w
0xFFFF,0xFFFF, //x y
0xFFFF}; //z
unsigned char dirlist[]={
0x19,0x00,0x4F,0x53,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0, // DOSrequired
0xFF,0xFF, // end char 'D'
0x14,0x00,0x6C,0x69,0x67,0x6E,0, // align
0x32,0x00,0x6C,0x69,0x67,0x6E,0x63,0x6F,0x64,0x65,0, // aligncode
0x15,0x00,0x6C,0x69,0x67,0x6E,0x65,0x72,0, // aligner
0x16,0x00,0x6C,0x69,0x67,0x6E,0x77,0x6F,0x72,0x64,0, // alignword
0x03,0x00,0x72,0x67,0x63,0, // argc
0x0B,0x00,0x74,0x65,0x78,0x69,0x74,0, // atexit
0xFF,0xFF, // end char 'a'
0x30,0x00,0x6F,0x64,0x65,0x33,0x32,0, // code32
0x17,0x00,0x6F,0x64,0x65,0x73,0x69,0x7A,0x65,0, // codesize
0x35,0x00,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x72,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0, // compilerversion
0x00,0x00,0x74,0x72,0x6C,0x5F,0x63,0, // ctrl_c
0xFF,0xFF, // end char 'c'
0x0C,0x00,0x61,0x74,0x61,0x73,0x65,0x67,0, // dataseg
0x18,0x00,0x65,0x66,0x69,0x6E,0x65,0, // define
0x34,0x00,0x6F,0x73,0x73,0x74,0x72,0x69,0x6E,0x67,0, // dosstring
0xFF,0xFF, // end char 'd'
0x3B,0x00,0x6C,0x69,0x66,0, // elif
0x36,0x00,0x6C,0x73,0x65,0, // else
0x1A,0x00,0x6E,0x64,0x69,0x66,0, // endif
0xFF,0xFF, // end char 'e'
0x10,0x00,0x61,0x73,0x74,0x63,0x61,0x6C,0x6C,0x61,0x70,0x69,0, // fastcallapi
0x33,0x00,0x69,0x78,0x75,0x70,0x74,0x61,0x62,0x6C,0x65,0, // fixuptable
0xFF,0xFF, // end char 'f'
0x3A,0x00,0x66,0, // if
0x1B,0x00,0x66,0x64,0x65,0x66,0, // ifdef
0x1C,0x00,0x66,0x6E,0x64,0x65,0x66,0, // ifndef

View File

@@ -706,7 +706,7 @@ char *second_f20f[]={
char *second_660f[]={ const char *second_660f[]={
// 0 // 0
@@ -1152,7 +1152,7 @@ void addr_to_hex(long addr, unsigned char splitup)
{ {
static char buffer[12]; // fix by cppcheck static char buffer[25];
WORD32 adr; WORD32 adr;
@@ -1848,7 +1848,7 @@ void floating_point(int e1)
int esc = e1*8 + REG(modrm()); int esc = e1*8 + REG(modrm());
if(MOD(modrm())==3){ //2-<EFBFBD> <20><><EFBFBD><EFBFBD>>C0 if(MOD(modrm())==3){ //2-\89 \81\80\89\92>C0
if (fspecial[esc]) { if (fspecial[esc]) {
@@ -2572,7 +2572,7 @@ int c;
getbyte(); getbyte();
ua_str(second_660f[getbyte()]); ua_str((char *)second_660f[getbyte()]);
goto endp; goto endp;

File diff suppressed because one or more lines are too long

View File

@@ -34,9 +34,9 @@ char modelmem=TINY;
char *stubfile=NULL; char *stubfile=NULL;
char *winstub=NULL; char *winstub=NULL;
FILE *hout=NULL; FILE *hout=NULL;
char *namestartupfile="startup.h--"; const char *namestartupfile="startup.h--";
char outext[4]="com"; char outext[4]="kex";
short extflag=TRUE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> short extflag=TRUE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//int scrsize; //int scrsize;
unsigned char gwarning=FALSE; unsigned char gwarning=FALSE;
@@ -78,73 +78,73 @@ unsigned char ESPloc=FALSE;
int startupfile=-1; int startupfile=-1;
int alignproc=8,aligncycle=8; int alignproc=8,aligncycle=8;
char *usage[]={ const char *usage[]={
"USAGE: C-- [options] [FILE_NAME.INI] [SOURCE_FILE_NAME]", "USAGE: C-- [options] [FILE_NAME.INI] [SOURCE_FILE_NAME]",
"", "",
" C-- COMPILER OPTIONS", " C-- COMPILER OPTIONS",
"", "",
" OPTIMIZATION", " OPTIMIZATION",
"/OC optimize for code size /DE enable temporary expansion variable", "-OC optimize for code size -DE enable temporary expansion variable",
"/OS optimize for speed /OST enable optimization string", "-OS optimize for speed -OST enable optimization string",
"/ON enable optimization number /AP[=n] align start function", "-ON enable optimization number -AP[=n] align start function",
"/UST use startup code for variables /AC[=n] align start cycles", "-UST use startup code for variables -AC[=n] align start cycles",
#ifdef OPTVARCONST #ifdef OPTVARCONST
"/ORV replace variable on constant /OIR skip repeated initializing register", "-ORV replace variable on constant -OIR skip repeated initializing register",
#else #else
" /OIR skip repeated initializing register", " -OIR skip repeated initializing register",
#endif #endif
"", "",
" CODE GENERATION", " CODE GENERATION",
"/2 80286 code optimizations /SA=#### start code address", "-2 80286 code optimizations -SA=#### start code address",
"/3 80386 code optimizations /AL=## set value insert byte", "-3 80386 code optimizations -AL=## set value insert byte",
"/4 80486 code optimizations /WFA fast call API functions", "-4 80486 code optimizations -WFA fast call API functions",
"/5 pentium code optimizations /IV initial all variables", "-5 pentium code optimizations -IV initial all variables",
"/A enable address alignment /SUV=#### start address variables", "-A enable address alignment -SUV=#### start address variables",
"/AS[=n] def. alignment in structures /LRS load in registers over stack", "-AS[=n] def. alignment in structures -LRS load in registers over stack",
"/UL use 'lea' for adding registers /JS join stack calling functions", "-UL use 'lea' for adding registers -JS join stack calling functions",
"/BA byte access to array",// /ASP addressing local variable via ESP", "-BA byte access to array",// -ASP addressing local variable via ESP",
"", "",
" PREPROCESSOR", " PREPROCESSOR",
"/IP=<path> include file path /IA assembly instructions as identifier", "-IP=<path> include file path -IA assembly instructions as identifier",
"/D=<idname> defined identifier /CRI- not check include file on repeated", "-D=<idname> defined identifier -CRI- not check include file on repeated",
"/MIF=<file> main input file /IND=<name> import name from dll", "-MIF=<file> main input file -IND=<name> import name from dll",
"/SF=<file> other startup file", "-SF=<file> other startup file",
"", "",
" LINKING", " LINKING",
"/AT insert ATEXIT support block /NS disable stub", "-AT insert ATEXIT support block -NS disable stub",
"/ARGC insert parse command line /S=##### set stack size", "-ARGC insert parse command line -S=##### set stack size",
"/P insert parse command line /WIB=##### set image base address", "-P insert parse command line -WIB=##### set image base address",
"/C insert CTRL<C> ignoring code /WFU add Fix Up table, for Windows", "-C insert CTRL<C> ignoring code -WFU add Fix Up table, for Windows",
"/R insert resize memory block /WMB create Windows mono block", "-R insert resize memory block -WMB create Windows mono block",
"/ENV insert variable with environ /WS=<name> set name stub file for win32", "-ENV insert variable with environ -WS=<name> set name stub file for win32",
"/J0 disable initial jump to main() /WBSS set post data in bss section", "-J0 disable initial jump to main() -WBSS set post data in bss section",
"/J1 initial jump to main() short /WO call API functions on ordinals", "-J1 initial jump to main() short -WO call API functions on ordinals",
"/J2 initial jump to main() near /CPA clear post area", "-J2 initial jump to main() near -CPA clear post area",
"/STUB= <name> set name stub file /WSI short import table, for Windows", "-STUB= <name> set name stub file -WSI short import table, for Windows",
"/DOS4GW file running with DOS4GW /WAF=#### align Windows file (def 512)", "-DOS4GW file running with DOS4GW -WAF=#### align Windows file (def 512)",
"/STM startup code in main function", "-STM startup code in main function",
"", "",
" OUTPUT FILES", " OUTPUT FILES",
"/TEXE DOS EXE file (model TINY) /D32 EXE file (32bit code for DOS)", "-TEXE DOS EXE file (model TINY) -D32 EXE file (32bit code for DOS)",
"/EXE DOS EXE file (model SMALL) /W32 EXE for Windows32 GUI", "-EXE DOS EXE file (model SMALL) -W32 EXE for Windows32 GUI",
"/OBJ OBJ output file /W32C EXE for Windows32 console", "-OBJ OBJ output file -W32C EXE for Windows32 console",
"/SOBJ slave OBJ output file /DLL DLL for Windows32", "-SOBJ slave OBJ output file -DLL DLL for Windows32",
"/COFF OBJ COFF output file /DBG create debug information", "-COFF OBJ COFF output file -DBG create debug information",
"/SYM COM file symbiosis /LST create assembly listing", "-SYM COM file symbiosis -LST create assembly listing",
"/SYS device (SYS) file /B32 32bit binary files", "-SYS device (SYS) file -B32 32bit binary files",
"/MEOS executable file for MeOS /MAP create function map file", "-MEOS executable file for MeOS -MAP create function map file",
"/EXT= <ext> set file extension", "-EXT= <ext> set file extension",
"", "",
" MISCELLANEOUS", " MISCELLANEOUS",
"/HELP /H /? help, this info /WORDS list of C-- reserved words", "-HELP -H -? help, this info -WORDS list of C-- reserved words",
"/W enable warning /LAI list of assembler instructions", "-W enable warning -LAI list of assembler instructions",
"/WF=<file> direct warnings to a file /ME display my name and my address", "-WF=<file> direct warnings to a file -ME display my name and my address",
"/MER=## set maximum number errors /X disable SPHINX C-- header in output", "-MER=## set maximum number errors -X disable SPHINX C-- header in output",
"/NW=## disable selected warnings /WE=## selected warning will be error", "-NW=## disable selected warnings -WE=## selected warning will be error",
//" /SCD split code and date", //" -SCD split code and date",
NULL}; NULL};
char *dir[]={ const char *dir[]={
"ME", "WORDS", "SYM", "LAI", "ME", "WORDS", "SYM", "LAI",
"OBJ", "SOBJ", "J0", "J1", "J2", "C", "R", "OBJ", "SOBJ", "J0", "J1", "J2", "C", "R",
@@ -204,7 +204,7 @@ void compile();
void PrintInfo(char **str); void PrintInfo(char **str);
void LoadIni(char *name); void LoadIni(char *name);
//void CheckNumStr(); //void CheckNumStr();
void ListId(int num,unsigned char *list,short *ofs); void ListId(int num,unsigned char *list,unsigned short *ofs);
void printmemsizes(); void printmemsizes();
void print8item(char *str); void print8item(char *str);
void doposts(void); void doposts(void);
@@ -222,6 +222,27 @@ int MakePE();
int MakeObj(); int MakeObj();
void CheckUndefClassProc(); void CheckUndefClassProc();
void ListId(int numfirstchar,unsigned char *list,unsigned short *ofs)
{
char buf[40];
for(int i=0;i<numfirstchar;i++){
if((short)ofs[i]!=-1){
if(i<26)buf[0]=(char)('A'+i);
else if(i==26)buf[0]='_';
else buf[0]=(char)(i-27+'a');
unsigned char *ii=(unsigned char *)(list+ofs[i]);
while(*(short *)&*ii!=-1){
ii+=2;
strcpy(buf+1,(char *)ii);
ii+=strlen((char *)ii)+1;
puts(buf);
// CheckNumStr();
}
}
}
}
/* /*
void PrintTegList(structteg *tteg) void PrintTegList(structteg *tteg)
{ {
@@ -265,7 +286,7 @@ unsigned char pari=FALSE;
if(rawfilename!=NULL)IncludePath(rawfilename); if(rawfilename!=NULL)IncludePath(rawfilename);
rawfilename=rawext=NULL; rawfilename=rawext=NULL;
LoadIni("c--.ini"); LoadIni((char *)"c--.ini");
for(count=1;count<argc;count++){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> for(count=1;count<argc;count++){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//if(argv[count][0]=='/'||argv[count][0]=='-'){ //if(argv[count][0]=='/'||argv[count][0]=='-'){
@@ -293,7 +314,7 @@ unsigned char pari=FALSE;
} }
} }
if(rawfilename==NULL){ if(rawfilename==NULL){
PrintInfo(usage); PrintInfo((char **)usage);
exit( e_noinputspecified ); exit( e_noinputspecified );
} }
time(&systime); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> time(&systime); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
@@ -315,13 +336,6 @@ int i;
printf("Bad input file extension '%s'.",rawext); printf("Bad input file extension '%s'.",rawext);
exit(e_badinputfilename); exit(e_badinputfilename);
} }
// Add dirname of the input file to include path.
char *slash_idx = strrchr((char*)rawfilename, DIV_FOLD);
if (slash_idx) {
*slash_idx = '\0';
IncludePath((char*)rawfilename);
*slash_idx = DIV_FOLD;
}
} }
void compile() void compile()
@@ -695,7 +709,7 @@ errlate:
int j,jj; int j,jj;
puts("LIST OF RESERVED IDENTIFIERS:"); puts("LIST OF RESERVED IDENTIFIERS:");
numstr=1; numstr=1;
ListId(53,id,idofs); ListId(53,(unsigned char *)id,idofs);
for(j=0;j<ID2S;j++){ for(j=0;j<ID2S;j++){
puts(id2[j]); puts(id2[j]);
// CheckNumStr(); // CheckNumStr();
@@ -898,7 +912,7 @@ nexpardll:
case c_help: case c_help:
case c_h: case c_h:
case c_hh: case c_hh:
PrintInfo(usage); PrintInfo((char **)usage);
exit(e_ok); exit(e_ok);
case c_mif: case c_mif:
if(ptr==NULL)return c_end; if(ptr==NULL)return c_end;
@@ -922,7 +936,7 @@ nexpardll:
AlignCycle=(unsigned char)1^neg; AlignCycle=(unsigned char)1^neg;
if(ptr!=NULL){ if(ptr!=NULL){
aligncycle=getnumber((unsigned char *)ptr); aligncycle=getnumber((unsigned char *)ptr);
if(aligncycle<1 || aligncycle>4096)aligncycle=8; // fix by cppcheck if(aligncycle<1&&aligncycle>4096)aligncycle=8;
} }
break; break;
case c_ws: //dos-stub for windows programs case c_ws: //dos-stub for windows programs
@@ -1254,25 +1268,7 @@ void GetMemExeDat()
if(outputdata==output&&outputdata!=0)outputdata=(unsigned char *)MALLOC((size_t)MAXDATA); if(outputdata==output&&outputdata!=0)outputdata=(unsigned char *)MALLOC((size_t)MAXDATA);
} }
void ListId(int numfirstchar,unsigned char *list,short *ofs)
{
char buf[40];
for(int i=0;i<numfirstchar;i++){
if((short)ofs[i]!=-1){
if(i<26)buf[0]=(char)('A'+i);
else if(i==26)buf[0]='_';
else buf[0]=(char)(i-27+'a');
unsigned char *ii=(unsigned char *)(list+ofs[i]);
while(*(short *)&*ii!=-1){
ii+=2;
strcpy(buf+1,(char *)ii);
ii+=strlen((char *)ii)+1;
puts(buf);
// CheckNumStr();
}
}
}
}
int writeoutput() int writeoutput()
{ {
@@ -1658,8 +1654,8 @@ char *ostartline;
tok=ptr->rectok; tok=ptr->rectok;
if(tok==tk_structvar)datasize+=initstructvar((structteg *)ptr->newid,ptr->recrm); if(tok==tk_structvar)datasize+=initstructvar((structteg *)ptr->newid,ptr->recrm);
else{ else{
long type,ssize; long type = 0,ssize = 0;
unsigned char typev; unsigned char typev = 0;
if(tok>=tk_charvar&&tok<=tk_doublevar){ if(tok>=tk_charvar&&tok<=tk_doublevar){
type=tok-(tk_charvar-tk_char); type=tok-(tk_charvar-tk_char);
typev=variable; typev=variable;
@@ -1671,7 +1667,6 @@ unsigned char typev;
if(am32==FALSE&&((itok.flag&f_far)==0))ssize=2; if(am32==FALSE&&((itok.flag&f_far)==0))ssize=2;
else ssize=4; else ssize=4;
} }
else printf("unexpected condition\n"); // fix by cppcheck
datasize+=initglobalvar(type,ptr->recsize/ssize,ssize,typev); datasize+=initglobalvar(type,ptr->recsize/ssize,ssize,typev);
} }
free(input); free(input);
@@ -1689,9 +1684,6 @@ FILE *CreateOutPut(char *ext,char *mode)
{ {
char buf[256]; char buf[256];
FILE *diskout; FILE *diskout;
if (comfile == file_meos)
sprintf(buf,"%s",rawfilename);
else
sprintf(buf,"%s.%s",rawfilename,ext); sprintf(buf,"%s.%s",rawfilename,ext);
if((diskout=fopen(buf,mode))==NULL){ if((diskout=fopen(buf,mode))==NULL){
ErrOpenFile(buf); ErrOpenFile(buf);

View File

@@ -33,7 +33,7 @@ int usebracket=FALSE;
case tk_double: case tk_double:
case tk_qword: case tk_qword:
*sign=0; *sign=0;
*rettype=tok; *rettype=tok;

File diff suppressed because one or more lines are too long

View File

@@ -99,7 +99,7 @@ int MultiByteToWideChar(
int cchWideChar // size of buffer int cchWideChar // size of buffer
) )
{ {
int i = 0; // fix by cppcheck int i = 0;
while ((lpMultiByteStr[i*2]!=0) && (lpMultiByteStr[i*2+1]!=0)) i++; while ((lpMultiByteStr[i*2]!=0) && (lpMultiByteStr[i*2+1]!=0)) i++;
return i/2; return i/2;
} }
@@ -147,7 +147,7 @@ int stat (const char* path, struct _stat* buf)
char * getcwd (char *buffer, int size) char * getcwd (char *buffer, int size)
{ {
volatile int len=0; // fix by cppcheck int len=0;
if (size==0){ if (size==0){
if (buffer!=0) if (buffer!=0)
return 0; return 0;

View File

@@ -90,15 +90,12 @@ bool OemToCharA(char*, char*);
bool CharToOemA(char*, char*); bool CharToOemA(char*, char*);
int MultiByteToWideChar(unsigned int,unsigned int,char*,int,wchar_t *,int); int MultiByteToWideChar(unsigned int,unsigned int,char*,int,wchar_t *,int);
#else
int stricmp(const char*, const char*);
int strnicmp(const char*, const char*, int);
#endif #endif
char* strupr(char* s); char* strupr(char* s);
char* strlwr(char* s); char* strlwr(char* s);
int stricmp(const char*, const char*);
int strnicmp(const char*, const char*, int);
#ifdef _PORT_CPP_ #ifdef _PORT_CPP_

View File

@@ -1,218 +1 @@
#define CRT_NEWRESOURCE 0x2000 #define CRT_NEWRESOURCE 0x2000
#define CRT_ERROR 0x7FFF
#define CRT_CURSOR 1
#define CRT_BITMAP 2
#define CRT_ICON 3
#define CRT_MENU 4
#define CRT_DIALOG 5
#define CRT_STRING 6
#define CRT_FONTDIR 7
#define CRT_FONT 8
#define CRT_ACCELERATOR 9
#define CRT_RCDATA 10
#define CRT_MESSAGETABLE 11
#define CRT_GROUP_CURSOR 12
#define CRT_GROUP_ICON 14
#define CRT_VERSION 16
#define CRT_DLGINCLUDE 17
#define CRT_PLUGPLAY 19
#define CRT_VXD 20
#define CRT_ANICURSOR 21
#define CRT_ANIICON 22
#define CRT_NEWBITMAP (CRT_BITMAP|CRT_NEWRESOURCE)
#define CRT_NEWMENU (CRT_MENU|CRT_NEWRESOURCE)
#define CRT_NEWDIALOG (CRT_DIALOG|CRT_NEWRESOURCE)
#define TOTALTYPERES 22
#define NUMMENUPOPUP 8
struct RES{
int type; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char *tname; //<2F><><EFBFBD> <>
int id; //<2F><><EFBFBD> id
char *name; //<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned short lang; //<2F><><EFBFBD><EFBFBD>
unsigned char *res; //㪠<><E3AAA0><EFBFBD> <20><><><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int size; //ࠧ<><E0A0A7><EFBFBD><><E2A0A1><EFBFBD><EFBFBD>
};
#define DRESNUM 100
#define SIZERESBUF 2048
struct _STRINGS_{
char *id;
short val;
};
_STRINGS_ typemem[7]={
"MOVEABLE", 0x0010,
"FIXED", ~0x0010,
"PURE", 0x0020,
"IMPURE", ~0x0020,
"PRELOAD", 0x0040,
"LOADONCALL", ~0x0040,
"DISCARDABLE",0x1000
};
_STRINGS_ typeclass[6]={
"BUTTON", 0x80,
"EDIT", 0x81,
"STATIC", 0x82,
"LISTBOX", 0x83,
"SCROLLBAR",0x84,
"COMBOBOX", 0x85
};
_STRINGS_ typemenu[NUMMENUPOPUP]={
"GREYED", 0x0001,
"INACTIVE", 0x0002,
"BITMAP", 0x0004,
"OWNERDRAW", 0x0100,
"CHECKED", 0x0008,
"MENUBARBREAK",0x0020,
"MENUBREAK", 0x0040,
"HELP", 0x4000
};
_STRINGS_ typeacceler[5]={
"VIRTKEY", 0x01,
"NOINVERT", 0x02,
"SHIFT", 0x04,
"CONTROL", 0x08,
"ALT", 0x10
};
enum {v_fv=1,v_pv,v_ffm,v_ff,v_fo,v_ft,v_fs};
_STRINGS_ typeversion[7]={
"FILEVERSION",v_fv,
"PRODUCTVERSION",v_pv,
"FILEFLAGSMASK",v_ffm,
"FILEFLAGS",v_ff,
"FILEOS",v_fo,
"FILETYPE",v_ft,
"FILESUBTYPE",v_fs
};
enum{
rc_accelerators,rc_auto3state, rc_autocheckbox,rc_autoradiobutton,rc_bitmap,
rc_caption, rc_characteristics,rc_checkbox, rc_class, rc_combobox,
rc_control, rc_ctext, rc_cursor, rc_defpushbutton, rc_dialog,
rc_dialogex, rc_edittext, rc_exstyle, rc_font, rc_groupbox,
rc_icon, rc_listbox, rc_ltext, rc_menu, rc_menuex,
rc_menuitem, rc_messagetable, rc_popup, rc_pushbox, rc_pushbutton,
rc_radiobutton, rc_rcdata, rc_rtext, rc_scrollbar, rc_state3,
rc_stringtable, rc_style, rc_version, rc_versioninfo, rc_begin,
rc_end, rc_language
};
struct{

View File

@@ -1,75 +1 @@
/* <20><><EFBFBD><EFBFBD><><><E1A3A5><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD> 'FASTLIST.EXE' */ /* <20><><EFBFBD><EFBFBD><><><E1A3A5><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD> 'FASTLIST.EXE' */
short ofsres[26]={
0x0000,0x003B, //a b
0x004C,0x009B, //c d
0x00BE,0x00D8, //e f
0x00E0,0xFFFF, //g h
0x00EC,0xFFFF, //i j
0xFFFF,0x00F4, //k l
0x0110,0xFFFF, //m n
0xFFFF,0x0138, //o p
0xFFFF,0x0156, //q r
0x0174,0xFFFF, //s t
0xFFFF,0x019D, //u v
0xFFFF,0xFFFF, //w x
0xFFFF,0xFFFF}; //y z
unsigned char resMnem[]={
0x00,0x00,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0, // accelerators
0x01,0x00,0x75,0x74,0x6F,0x33,0x73,0x74,0x61,0x74,0x65,0, // auto3state
0x02,0x00,0x75,0x74,0x6F,0x63,0x68,0x65,0x63,0x6B,0x62,0x6F,0x78,0, // autocheckbox
0x03,0x00,0x75,0x74,0x6F,0x72,0x61,0x64,0x69,0x6F,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // autoradiobutton
0xFF,0xFF, // end char 'a'
0x27,0x00,0x65,0x67,0x69,0x6E,0, // begin
0x04,0x00,0x69,0x74,0x6D,0x61,0x70,0, // bitmap
0xFF,0xFF, // end char 'b'
0x05,0x00,0x61,0x70,0x74,0x69,0x6F,0x6E,0, // caption
0x06,0x00,0x68,0x61,0x72,0x61,0x63,0x74,0x65,0x72,0x69,0x73,0x74,0x69,0x63,0x73,0, // characteristics
0x07,0x00,0x68,0x65,0x63,0x6B,0x62,0x6F,0x78,0, // checkbox
0x08,0x00,0x6C,0x61,0x73,0x73,0, // class
0x09,0x00,0x6F,0x6D,0x62,0x6F,0x62,0x6F,0x78,0, // combobox
0x0A,0x00,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0, // control
0x0B,0x00,0x74,0x65,0x78,0x74,0, // ctext
0x0C,0x00,0x75,0x72,0x73,0x6F,0x72,0, // cursor
0xFF,0xFF, // end char 'c'
0x0D,0x00,0x65,0x66,0x70,0x75,0x73,0x68,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // defpushbutton
0x0E,0x00,0x69,0x61,0x6C,0x6F,0x67,0, // dialog
0x0F,0x00,0x69,0x61,0x6C,0x6F,0x67,0x65,0x78,0, // dialogex

View File

@@ -278,7 +278,7 @@ typedef struct _PE_HEADER_
typedef struct _OBJECT_ENTRY_ typedef struct _OBJECT_ENTRY_
{ {
char name[8]; char name[16];
long vsize; long vsize;
long sectionRVA; long sectionRVA;
long psize; long psize;
@@ -414,7 +414,7 @@ struct paraminfo
struct MEOSheader struct MEOSheader
{ {
unsigned char sign[8]; unsigned char sign[25];
unsigned long vers; unsigned long vers;
unsigned long start; unsigned long start;
unsigned long size; unsigned long size;

View File

@@ -191,14 +191,14 @@ extern int tok,tok2;
#if !defined (_TOKR_) #if !defined (_TOKR_)
extern char useasm; extern char useasm;
extern short ofsmnem[]; extern unsigned short ofsmnem[];
extern unsigned char asmMnem[]; extern unsigned char asmMnem[];
extern char asmparam; extern char asmparam;
#endif #endif
#if !defined (_TOKA_) #if !defined (_TOKA_)
extern unsigned char id[]; extern unsigned char id[];
extern short idofs[]; extern unsigned short idofs[];
extern char id2[ID2S][9]; extern char id2[ID2S][9];
extern char regs[2][8][4]; extern char regs[2][8][4];
extern char begs[8][3]; extern char begs[8][3];
@@ -350,7 +350,7 @@ void InitStruct(); //
unsigned long LocalStruct(int flag,int *localline); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> unsigned long LocalStruct(int flag,int *localline); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct structteg * FindTeg(int Global,char *name=itok.name); //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> struct structteg * FindTeg(int Global,char *name=itok.name); //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
void dostruct(); void dostruct();
int FastSearch(unsigned char *list,short *ofs,int type,char *str); int FastSearch(unsigned char *list,short unsigned *ofs,int type,char *str);
void FindDirectiv(); void FindDirectiv();
unsigned long long scannumber(int *rm); unsigned long long scannumber(int *rm);
void FastTok(int mode,int *tok4=&tok,ITOK *itok4=&itok); void FastTok(int mode,int *tok4=&tok,ITOK *itok4=&itok);
@@ -462,7 +462,7 @@ int procdo(int expectedreturn);
int updatecall(unsigned int which,unsigned int where,unsigned int top); int updatecall(unsigned int which,unsigned int where,unsigned int top);
void AddBackBuf(int,char); void AddBackBuf(int,char);
void CharToBackBuf(char c); void CharToBackBuf(char c);
void missingpar(char *name=""); void missingpar(char *name=(char *)"");
int CheckCodeSize(); int CheckCodeSize();
void CheckPosts(); void CheckPosts();
int doanyundefproc(int jumpsend=FALSE); int doanyundefproc(int jumpsend=FALSE);

View File

@@ -663,7 +663,7 @@ int otok;
void CheckReg(int idx,int base,int *reg1,int *reg2,int razr) void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
{ {
if(razr==r32){ if(razr==r32){
unsigned char lreg[8]; unsigned char lreg[16];
int i; int i;
for(i=0;i<8;i++){ for(i=0;i<8;i++){
if(i==ESP||i==EBP)lreg[i]=1; if(i==ESP||i==EBP)lreg[i]=1;
@@ -675,7 +675,7 @@ void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
} }
if(lreg[*reg1]==0)lreg[*reg1]=1; if(lreg[*reg1]==0)lreg[*reg1]=1;
else{ else{
for(i=7;i>=0;i--){ // fix by cppcheck, side effect - enable EAX for(i=8;i!=0;i--){
if(lreg[i]==0){ if(lreg[i]==0){
lreg[i]=1; lreg[i]=1;
*reg1=i; *reg1=i;
@@ -685,7 +685,7 @@ void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
} }
// printf("\nreg1=%d",*reg1); // printf("\nreg1=%d",*reg1);
if(lreg[*reg2]!=0){ if(lreg[*reg2]!=0){
for(i=7;i>=0;i--){ // fix by cppcheck, side effect - enable EAX for(i=8;i!=0;i--){
if(lreg[i]==0){ if(lreg[i]==0){
*reg2=i; *reg2=i;
break; break;
@@ -4094,7 +4094,7 @@ int GetDirective(char *str)
return i; return i;
} }
int FastSearch(unsigned char *list,short *ofs,int type,char *str) int FastSearch(unsigned char *list,short unsigned *ofs,int type,char *str)
{ {
if((strlen(str)-1)>0){ if((strlen(str)-1)>0){
short offs=-1; short offs=-1;

File diff suppressed because one or more lines are too long

View File

@@ -9976,7 +9976,7 @@ void unpackteg(structteg *tteg)
int i; int i;
elementteg *bazael; elementteg *bazael;
structteg *newteg; structteg *newteg;
int ssize=4,count; // fix by cppcheck int ssize=0,count;
idrec *newrec,*ptr; idrec *newrec,*ptr;
if(alignword){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> if(alignword){ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
if(am32==0){ if(am32==0){