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