trurlib

Paweł Gajda mis w hq.obop.com.pl
Wto, 25 Maj 1999, 15:27:22 CEST



On Tue, 25 May 1999, Jarek Woloszyn wrote:

> 
> Zdecydowałem się pisać pkgssela od razu pod trurlib i tak zupełnie przez
> przypadek wyszło parę bugów :))
> 
> Pierwszy, to coś nie tak z nlist push i pop. push chyba działa, ale z
> popem miałem czasem sigsegv. Nie wiem czy to moja wina, czy nie, ale ten
> sam kod tylko po zmianie na narray zaczal normalnie dzialac. Nie
> doszukiwalem sie bledu - postanowilem calosc przeniesc na narray. Tutaj
> brawo dla Pawła, bo polegalo to tylko na sed 's/n_list/n_array/g' :)
> No powiedzmy, bo musiałem zmienić listowe iterate na *_nth.
> 
> I wyszedł jeszcze jeden problem. Używałem lookupa i chciałem to zamienić
> na bsearch. Niestety nie da się. W tablicach trzymam struktury, a szukać
> chcę jednego pola w tej strukturze. Dlatego qsort musi byc wywolywany z
> inna funkcja porownujaca, a bsearch z inna.

Zobacz BUGS :-) Dopisałem to tak z marszu, właściwie to zapomniałem
usunąć protoryp z *.h.  
W ogóle, jeżeli brak wywołań danej funkcji w ttest.c, to znaczy, że
nikt tego nie testował.

Jedyne IMO rozsądne wyjście to nie sortowanie tego w bsearch, to bez
sensu sortować to za każdym razem.  Ew. można wprowadzić znacznik
czy_posortowana(z zapamiętaniem adresu funkcji cmp). Tak chyba zrobię.


> 
> Przerobiona wersja lezy na dione. 
[..]
> Sorry, za to zamieszanie wczoraj. trurlib jest ok. To ja nie popatrzylem
> dokladnie ze te funkcje porownujace dostaja podwojne wskazniki.

Za to był byk innego rodzaju: bsearch(data,...) zamiast bsearch(&data,
...).   

Akurat array wczoraj trochę rozgrzebałem i też znalazłem(i poprawiłem)
parę błędów. Dorobiłem parę funkcji, może masz zapotrzebowanie na
jakieś?  
Obejrzę co zrobiłeś i postaram się wieczorem wrzucić następną
wersję. Aha, może rób raczej łatki? Na razie używasz tego tylko
Ty i nie ma to znaczenia, za to później może się zrobić bałagan. 

Paweł




Więcej informacji o liście dyskusyjnej pld-installer