chg: TC+1 compatibly: Remove inline assembly (Ron Cemer) add: mark the places where warnings occure add: debug subsystem bugfix: Fposcmp(): If abs(pos1 - pos2) > 32767, the return value is random add: strend() --> returns the address of the NUL byte of a string chg: StrAppend() --> StrAppQStr() add: StrQuote(), StrUnquote() bugfix: Strspn(): if any parameter is NULL, returns NULL now bugfix: MemiCmp(): returned wrong sign bugfix: dfnstat(): Win95 LFN's entry never or invalidly detected add: dfndelim() & dfndelim2() chg: environ.h: mcb_toenv() --> macro mcb_env() fix: cfg_osen.c: cfg_ostkEnum(): If output stack empty --> random return value fix: strnum(): '0x' prefix detection fails chg: long*(): Except longcmp() all functions are void; for portable subsys bugfix: Erealloc(): if len == 0, the program is terminated erroreously add: Fcopyi() & Fcopyl() & Fcopybuf() chg: Fcopyto(): 'topos' must contain a valid position returned by Fgetpos() add: supplio.h: Fpos2dword() & Fppos2dword(): Extract (dword) pos from(fpos_t) chg: env_newsize() renamed into env_setsize() bugfix: env_check(): accepts no segm==0, as it is standard sub: dynstr.h: STR_SAVE_MODES, not used anymore (StrSaveTokens() removed) chg: dynstr.h: STR_SAVED_TOKENS is its own type now bugfix: StrTok*(): if(st) effects first assignment only bugfix: StrTail(): string is strdup()'ed two times bugfix: _fStriCmp(): temporary storage into (char) is unportable bugfix: StriCmp(): sign is inverted bugfix: StriCmp(): accepts no NULL parameters add: DFN_LFN to dfn.h and dfnstat() bugfix: UNC-aware dfnmatch2(): function name wrong sub: removed "Target compilers" note everywhere fix: dfnstat(): returns DFN_DIRECTORY on "X:" and "X:\" chg: No SUPPL function will invoke openlog() automatically bugfix: DFN_LABEL wrong; DFN_SYSTEM missing fix: cfgASBoolean: bad function name fix: cntry.h: 'char' members could be treated signed add: syslogo(), syslogv() add: SUPPL_LOG_MEMORY & *alloc/free/strdup replacements add: SUPPLDBG.H as last #include into all *.C files fix: openlog() prevents recursive calls fix: syslog_printv() accepts syslog_logfile == NULL chg: syslog_openmode --> [] bugfix: dfnexpand(): fname == "" --> fname := "." bugfix: dfnsearch(): Searching root instead of '.' if no search path add: syslog subsystem fix: spelling in comments etc. bugfix: not all SUPPORT_UNC_PATH macros correct add: INI file random access subsystem add: Fmaxbuf() add: Fcopy(), Fcopyto() add: Fposcpy(), Fposcmp() add: memzero(): unportable memory zero'ing function add: INI file writing functions fix: dfnstat() uses wrong register for result add: dfnfreplace(), dfnbakname() chg: renamed *.inc into *.loc add: Fgetline() & Egetline() sub: cfgfile subsystem to be added later add: FFget()/FFput() add: appName subsystem fix: Esetsize() removed warning because of free() fix: some typos add: secure string functions add: Esetsize() chg: F_tmpfile(): returns NULL if fnam == NULL (to simplify Ftmpfile()) add: F_tmpfile() as Ftmpfile(), but open a given filename fix: ostkWrFile(): save newly created output structure into putArg add: output stack and functions for memory & file arg list sub: cfg_addArgToList(), cfg_getArgFromList(), cfg_addItemToList() add: Fxcloseall() fix: Ftmpfile(): to set the "istmp" attribute chg: Fxopen() renamed to F_xopen() and returns the extended attributes added new Fxopen() to call F_xopen() fix: cfg_rspwr(): Eget() instead of Eput() fix: env_fetch(): ignoring segm==0, returning variable name as well chg: cfgSplitArg() & cfgSplitBuffer() independed on what string is to be splitted fix: getopt(): longname == NULL fix: pushargv: wrong parameters in structure fix: getarg(): C(_stk) == NULL --> return NULL fix: getopt(): S(buf)[ ] = new char fix: type conflict appVar() <-> insVar add: dpeekc(), dpeekb(), dpeekw() add: Eresize() chg: env_change() to use env_ovrVarOffset() --> replaced variables remain at the position they were before add: env_ovrVarOffset(), env_insVarOffset(), env_appVar() sub: env_addVar() [replaced by env_appVar()] bugfix: DOSalloc(): add FreeDOS compliant setting of flags prior call DOS chg: toupperx.c: to use nlsInfo(); added toLower() add: cntry.?: nlsInfo(): NLS information provider add: fpos_t/fsetpos()/fgetpos() to PAC bugfix: DOSalloc(): If called with length == 0, the allocation strategy is not resetted bugfix: env_newsize(): Grow block, if fails completely, the old environment was destroyed unneceesaryly add: getbootdisk() add: Ftmpfile(), Ftmpnam(), Etmpfile() add: dfnstat(), dfnmktmp() add: dfnwrdir(), dfnstat(), dfnmkfile() fix/chg: StrTrim(): returns "s" if realloc() fails fix: _getdcwd(): removed Carry() bugfix: dfnsqueeze(): In non-UNC mode, there was nothing actually sequeezed, except the slashes were flipped add: env_fetch(): DOS-ish getenv() add: _fdupstr(): Duplicates far string into local heap add: ff*.c/supplio.h: F*(), equal (FILE*) functions for Micro-C & ANSI C add: gm_*.c: get memory, wrappers of malloc() and assoc. functions chg: getopt.c: to use msgs.h add: msgs.h: shared MSGLIB/internal message handling add: StrChr(): searches for a character within a string add: StrWord(): strips leading & trailing whitespaces and trim string bugfix: StrTrim(): if realloc() fails, no NULL was returned. add: getoptx.c: This file always includes the version control information of GETOPT.C in order to be compared with external getopt() supplements chg: getopt.c: Added support for MSGLIB to getopt() and substutution for non-MSGLIB environments; by default no MSGLIB is supported fix: spelling Release Version 2.6: fix: incompatiblies Watcom to other compilers chg: added Watcom C v10.6 chg: include RCS IDs if RCS_Version is defined (rather than !defined(lint)) bugfix: dfnmerge(): doesn't added '\' if root directory && no name given chg: dfnsearch(): always return absolute paths or paths from PATH bugfix: dfnsearch(): incomplete paths sometimes failed bugfix: dfnsearch(): "c:\path\fnam" doesn't work chg: splitted StrSaveTokens() into StrTokSave() & StrTokRestore() add: StrTokStop(): stop StrTokenize() cycle (next call to it returns NULL) Release Version 2.5: chg: getopt() to not depend on msglib add: portable.h: getvect(), setvect(), isr chg: moving _f*() memory/string function declarations into fmemory.h bugfix: env_size.c: env_newsize(): shrinking causes unpredictable results add: _fmemcmp(), _fnormalize(), _fmemmove() for PAC add: dta.c/suppl.h: setdta()/getdta() add: suppl.h/filefind.c: findfirst()/findnext()/ffblk for PAC add: _getdcwd.c: Pacific C version add: suppl.h: settings for Pacific C, incl. (struct REGPACK) chg: all *.c files include INITSUPL.INC as the very first line after the welcome header. This will setup various compiler depend macros (e.g. _PAC_NOCLIB_) add: setdisk.c, getdisk.c, osvers.c: for Pacific C add: portable.h: various settings: Support for Pacific C v7.51 Release Version 2.4: bugfix: getopt.c: Micro-C complains about comment in #include add: dfnmatch(): check if a filename matches a p‘ttern, DOS style add: dfnmatch2(): check if a filename matches a p‘ttern, Win32 style ren: *MemCmp() --> *MemiCmp() bugfix: env_resize(): growing/shrinking swapped bugfix: env_resize() and assoc. fail on length == 0 or non-existent environment segments Release Version 2.3: fix: suppl.h: memcmpi -> memicmp fix: dossize.c: In Micro-C mode the INT 21h was called with random values chg: env_nullStrings(): Eliminated the Missing Prototype warning fix: env_sub.c: segm must >>NOT<< be zero :) Release Version 2.2: add: env_nullStrings() fix: env_shell(): using MCB number instead of PSP fix: dfnumerge(): double backslash with UNC drive & root path add: StrCString(), toxdigit(), isodigit() add: UNC path support to the dfn*() functions add: StrLeft(), StrRight(), StrMiddle(), StrTail(), StrBeg() add: dfnsearch(), StrTokenize(), StrSaveTokens() add: Carry() for Micro-C only chg: dfnpath(): use _getdcwd() for Micro-C add: _getdcwd() for Micro-C only fix: dfnpath(): getdrive() -> get_dir() fix: suppl.h: invokeDOS() struct REGPACK typedef for Micro-C add: StrAppend(), StrAppChr() fix: env_replace(): the 3rd argument as length with native CREATE mode chg: DOSalloc(): update the name field of the MCB to the caller's one add: StrStrip(), StrChar() add: toFUpper(), MemFCmp(), _fMemFCmp() add: dfnpath(), dfntruename() chg: toUpper(): retreive the upcase table only once add: _fStrCmp(), _fMemCmp(), StrCmp(),& MemCmp() add: toUpper() add: env_matchVar() add: env_dupvar() & dupvar() chg: env_switch() -> env_replace() chg: env_strinsert & env_strput: more efficient when appending a new string fix: env_strcpy: stringnr must be < env_strings() Release Version 2.1: chg: Makefile: automatically detect, when switching compiler or mem model etc. fix: mcb_walk: evaluating _FLAGS after destroying them by a compare add: env_noSpace: check if environment can hold another variable fix: env_change: don't delete the variable if environment too small fix: env_strput: check env size, ¡f a new string is appended chg: environ.h: prototype: putenv(char *var) to conform to DOS quasi-standard Release Version 2: fix: revised: segm == 0 on all environment functions add: the environment string functions fix: getoptg(): last option preserves the boolean state flag if MARKEMPTY is set add: DOSalloc(), addu() chg: newenv(), sizenv() add: getopt() functions fix: (signed) cast bug in suppl.h Initial revision