Re: [Freedos-kernel] CONFIG.C ANNOYANCE

2004-06-24 Thread Arkady V.Belousov
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

2004-06-24 Thread Arkady V.Belousov
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

2004-06-23 Thread tom ehlert


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