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