c++.dos.16-bits - wrong code generated by tiny program of below thread
- "Lars Hansen" <lars.o.hansen gmx.de> Feb 15 2003
- "Lars Hansen" <lars.o.hansen gmx.de> Feb 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; }
Feb 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
Feb 15 2003








"Lars Hansen" <lars.o.hansen gmx.de>