Re: [Freedos-kernel] CONFIG.C ANNOYANCE
Hi! 24-Июн-2004 19:36 Arkady V.Belousov wrote to [EMAIL PROTECTED]: AVB> My near TODO is to: AVB> - detect redefinition of env variables (and replace definition). AVB> - add environment before each INSTALL=. BTW, forget to mention. Some years ago I report about BUG in ChildEnv(), which wrongly handles empty environment. And, yes, this is easy to see: run some program through INSTALL= (in current FD) and review its environment. --- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] CONFIG.C ANNOYANCE
Hi! 23-Июн-2004 20:13 [EMAIL PROTECTED] (tom ehlert) wrote to [EMAIL PROTECTED]: te> I'M HIGHLY DISAPPOINTED TO FIND THAT SOME FORMERLY te> WORKING CODE DOESN'T WORK ANYMORE; ?! All work, (now) I test code before reporting. te> I'M IN PARTICULAR DISAPPOINTED AS te> THIS CODE WAS ONLY CHANGED TO SAVE SOME 20 BYTE OF INIT CODE. Who says about "save some bytes"?! YES! Executable _also_ reduced (for example, now kernel.sys after OW is shorter by 1.3k, but some of this reduction is part of resident code reduction), but all what I report here before is report about BUGFIXES, FIXES and ENHANCEMENTS! Wel, new portion of changes: __O\_/_\_/O__ config.c - when tracing, Esc now turns off asks for following lines with "?" and assumes "Y" for all; F8 now behaves similar to Esc. main.c - kernel(): now "/D" or "/Y" option inserted even if command line is too long (by trimming command line tail). task.c ! P_0(): old shell command line stored in SecPathName buffer and, thus, will be overwritten by DOS rename function with argument, longer than 50 bytes. - bugfix: P_0() was copy argument of SHELL line into Shell buffer without checking length of source (NOTE: max length of SHELL argument is a 74 bytes, because Shell=SecPathName+50 and sizeof SecPathName=128). - P_0(): now supported command line without space between command and options (starting from '/'). _ O/~\ /~\O My near TODO is to: - detect redefinition of env variables (and replace definition). - add environment before each INSTALL=. BTW, because SET processed with INSTALL= in one pass, now possible to redefine variables between INSTALL= (unlike MS-DOS, which parses all SET before INSTALL=). --- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] CONFIG.C ANNOYANCE
I'M HIGHLY DISAPPOINTED TO FIND THAT SOME FORMERLY WORKING CODE DOESN'T WORK ANYMORE; I'M IN PARTICULAR DISAPPOINTED AS THIS CODE WAS ONLY CHANGED TO SAVE SOME 20 BYTE OF INIT CODE. WELL - THIS SAVES 20 BYTE, BUT COSTED ME A MONTH TO DISCOVER - AND AN ADDITIONAL HOUR TO FIX. TO ALL OPTIMIZERS: HANDS OFF. GO PLAY SOMEWHERE ELSE. UWORD GetBiosKey(int timeout) { iregs r; ULONG startTime = GetBiosTime(); if (timeout >= 0) do { r.a.x = 0x0100; /* are there keys available ? */ init_call_intr(0x16, &r); -if ((unsigned)(GetBiosTime() - startTime) >= timeout * 18u) +if ((unsigned)(GetBiosTime() - startTime) > timeout * 18u) return 0x; } while (r.flags & FLG_ZERO); /* key available or blocking wait (timeout < 0): fetch it */ r.a.x = 0x; init_call_intr(0x16, &r); return r.a.x; } tom --- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel