Re: defrag ?

Autor: Przemyslaw Dobrowolski (dobrawka_at_asua.org.pl)
Data: Mon 23 Jul 2001 - 19:36:04 MET DST


On Mon, 23 Jul 2001 19:12:12 +0200 (MET DST), Rafal Szymczak wrote:

>pliku. Ponizej jest fragment programu kompilowany VAC-kiem. Choc czasem
>sie zdarzalo, ze plik utworzony przekraczal nieznacznie granice 2 GB, to
>nigdy nie wyszedl poza nia o wiecej niz pare MB.
>
> fpout = fopen( szOutputFile, "a" );
[...]
> fprintf( fpout, "%-15.15s %s ", szServer, ExtrTimeStamp(
[...]
> fprintf( fpout, "%-15.15s %-20.20s"
[...]
> iRC = fprintf( fpout, " %s\n", szTimeStamp ); <=== ***
>tu sie wywalal ***
> if ( iRC <= 0 )
[...]

Ja rozumiem, że lewhoo może takie bzdury pisać, ale Ty?

A spróbuj potestować, używając API, tak:

DosOpen(...)
sprintf(do bufora)
DosWrite(bufor który sprinfowałeś)

i co wywali się?
TAK. I nawet pod JFSem.

A zrób tak (trzeba mieć WSeBa lub *CP) i toolkita 4.51:
DosOpenL(te same paremetry)
[.. i wszystko to samo...]

wywali się?
NIE.

Odpowiedź jest bardzo prosta. Po prostu wcześniejsze API nie umiało korzystać z liczb
większych od LONG'a. A zapewne fprintf robił seek'a i otrzymywał liczbę ujemną albo
po prostu przeskakiwał mu licznik.
Ale HPFS

---
*Przemek/2* - dobrawka_at_asua.org.pl - ICQ: 18642806
Asua Programmers http://www.asua.org.pl
TeamOS/2pl http://www.teamos2.org.pl
This OS/2 system uptime is 0d 0h 23m 05s 539ms (en).


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:33:06 MET DST