HOME_ETC - propozycja

Witold Filipczyk witekfl w poczta.onet.pl
Czw, 6 Cze 2002, 18:09:01 CEST


On Thu, Jun 06, 2002 at 12:13:58PM +0200, Roman Werpachowski wrote:
> On Thu, 6 Jun 2002, Filip Kalinski wrote:
> 
> > Widzę, że tworzone są skomplikowane algorytmy postępowania z CONFIG_DIR,
> > co robić jak ustawione, ale jakos zle itd...
> > 
> > Mam propozycję usprawnienia procesu przechodzenia na CONFIG_DIR poprzez
> > centralizację, to znaczy stworzenie biblioteki implementującej funkcję
> > otwierania pliku z tymi wszytskimi posywaniymi bajerami. Potem wystarczy
> > podmienić otwieranie pliku "$HOME/.dupa" na open_config(".dupa) i
> > zlinkować (raczej statycznie) z tą biblioteką.
> 
> Tylko że nie każdy program działa na zasadzie open "$HOME/.dupa". Są 
> takie, które tworzą sobie nazwę pliku i odwołują się do niej wiele razy, 
> przekazując ją różnym funkcjom itd. Najlepszą wg mnie metodą jest 
> opracowanie metody konstruowania nazwy pliku konfiguracyjnego i zapisanie 
> jej w zmiennej. Poza tym, te nazwy nie każdą nazwę da się skonstruować wg 
> schematu "$HOME z kropką, w $CONFIG_DIR bez kropki".

W pierwszym przybliżeniu:
Tam gdzie są odwołania do $HOME:
- conf = getenv("HOME");
+ conf = getenv("CONFIG_DIR");
+ if (conf == NULL) conf = getenv("HOME");

W drugim przybliżeniu można jeszcze wycinać kropkę z przodu.
- do_something(string);
- free(string);
+ tmp_string = string;
+ string++;
+ do_something(string);
+ string = tmp;
+ free(string);
gdzie string to np.
string = ".blablabla"

-- 
Witold Filipczyk <witekfl w poczta.onet.pl>



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