rpmmen c. 0.2.0 już jest

Paweł Gajda mis w k2.net.pl
Pią, 4 Cze 1999, 01:11:49 CEST


On Thu, 3 Jun 1999, Paweł Kołodziej wrote:

> [wtorek, 01 czerwiec 1999], Paweł Gajda napisał(a):
> 
> > Pisałem już, że tą pamięcią martwi się db i nie musisz się tym
> > przejmować.
> 
> Przypuszczam, że tam jest kilka buforów w które db wpisuje dane i zwraca,
> wskaźnik na ten gdzie wpisał te których potrzbuję. I teraz dylemat. Czy 

Tak, jest po prostu cache.  

> orzymany bufor sobie kopiować, a jak przestanie być używany to go zwalniać
> (rpmpkgs_entry_free), czy założyć że nie będziemy potrzebowali naraz
> informacji z kilku pakietów, i operować na wskazanym przez db obszarze
> pamięci. To drugie rozwiązanie wydaje mi się potencjalnie niebezpieczne, a
> do pierwszego mam już cały mechanizm zrobiony, więc chyba zdecyduję się na
> pierwsze rozwiązanie. Chyba, że Jarkowi _bardzo_ niebędzie się chciało
> wstawiać w odpowiednich miejscach rpmpkgs_entry_free. 

Optuję za kopiowaniem na życznie, tj. jeżeli Jarek będzie potrzebował
info o kilku pakietach na raz, to woła header[entry]_copy(). Myślę, że
kopiowanie będzie raczej wyjątkiem, także po co marnować pamięć?

Funkcja header_entry_free() i tak będzie musiała być wołana, z uwagi
na to, że headerGetEntry() wymaga wołania free() dla niektórych typów
tagów (STRING_ARRAY_TYPE i chyba jeszcze jeden). Trochę to dziwne, że
nie ma funkcji headerFreeEntry() i trzeba to robić ręcznie. No ale cóż
zrobić. 

BTW przeszedłeś na rpm-3.x?

Paweł
-- 
mailto: mis w k2.net.pl



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