February 15, 2003
the following program compiled with sc "sourcefilename" produces a program which does the following:

appends b at end of file, places b at file offset 138

it should place b at file offset 71 and 138  (b is the char array)

(also compiling with -o or -mtd produces this wrong code)

Also two qs:
1. when compiled with -mt there's the optlink warning 23 "No Stack": so does
the compiler not generate pushes or will they result in code loss?
2. when compiling with -mtd x.n filenames are shortened to x.3 filenames
(x<8)resulting in the file rt.htm created by the program. Is there a
workaround?


dmc version 8.29n


Lars


> #include <dos.h>
> #include <stdio.h>
>
> int main(void)
>  {
>   FILE *f;
>   char b[4];
>   struct date d;
>
>   getdate(&d);
>
>   b[3]=d.da_day%10+48;
>   d.da_day/=10;
>   b[2]=d.da_day%10+48;
>
>   b[1]=d.da_mon%10+48;
>   d.da_mon/=10;
>   b[0]=d.da_mon%10+48;
>
>   f=fopen("rt.html","a");
>   fseek(f,71,SEEK_SET);
>   fwrite(b,sizeof(char),4,f);
>   fseek(f,138,SEEK_SET);
>   fwrite(b,sizeof(char),4,f);
>   fclose(f);
>
>   return 0;
>  }



February 15, 2003
> 2. when compiling with -mtd x.n filenames are shortened to x.3 filenames (x<8)resulting in the file rt.htm created by the program. Is there a workaround?

small correction: -mt causes filename truncation, not -mtd