SOURCES: poldek-cookie.patch - was doing a lot of these seeks, use...

Jakub Bogusz qboosh w pld-linux.org
Czw, 21 Kwi 2005, 01:02:07 CEST


On Thu, Apr 21, 2005 at 12:38:55AM +0200, Arkadiusz Miskiewicz wrote:
> On Thursday 21 of April 2005 00:28, Patrys :: Patryk Zawadzki wrote:
> > Dnia 20-04-2005, śro o godzinie 23:31 +0200, arekm napisał(a):
> > > +-    fseek(stream, size + 1, SEEK_CUR);
> > > ++    /* skip size + 1 bytes */
> > > ++    buf = alloca(size + 1);
> > > ++    fread(buf, 1, size + 1, stream);
> >
> > Wygląda na workaround metodą gwałtu analnego :D
> Pomijając, że nie sprawdza czy alokacja się udała (wynik fseeka też nie był 
> sprawdzany choć hmm, chyba jak fseek się nie uda to po prostu nic się nie 
> zmienia jeśli chodzi o wskaźnik pozycji w strumieniu) to z czym jest problem?
> 
> Tak czy siak nadal jeszcze sporo mu schodzi czasami na zapisywaniu 
> zaktualizowanej bazy. ;/

Jeszcze drugi podobny fseek() został - tylko z odczytaną 16-bitową liczbą
jako parametrem.

BTW: temu powyższemu nie zdarza się mieć jakiegoś dużego argumentu?
Myślałem o sprawdzaniu size i w zależności od niego robienia fread()
lub fseek() - bo jak skądś się weźmie duża liczba 32-bitowa (choćby
z uszkodzonego indeksu), to poleci...


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/




Więcej informacji o liście dyskusyjnej pld-devel-pl