On Wed, Jan 31, 2007 at 06:27:47PM +0300, Damir Shayhutdinov wrote: >> Я об этом долго думал. И не знаю как делать правильнее. >> Я могу класть переменную в TLS, а могу просто malloc и возвращать >> результат. >> Во втором случае ей сложнее будет пользоваться (лишний free будут >> хронически забывать). DS> Почему бы не передавать буфер куда надо покласть результат в саму DS> функцию (вместе с размером этого буфера конечно) в качестве DS> параметров? Наверное так действительно правильнее. В таком случае я реализую оба варианта. То есть если передали NULL, то тогда пишем в статику. > DS>> И получается что если у меня XFG_HOME_CONFIG=$HOME, то все мои > DS>> .dotfiles будут переименованы в dotfiles и будут видны везде? > DS>> Непорядок! >> Принято! В случае XFG_HOME_CONFIG=$HOME действительно никакой логики >> включаться не должно. >> Как мне проверить это равенство? DS> char* xfg_home = getenv("XFG_HOME_CONFIG"); DS> char* home = getenv("HOME"); DS> if (xfg_home && home && strcmp(home, xfg_home) == 0) DS> { DS> /* match */ DS> } Вопрос -- если мы _не нашли_ файл, то есть его будут создавать. Что делать в случае XFG_HOME_CONFIG==HOME, возврашать имя с точкой, или без? Мне кажется что без, так что fixed. См. git. >> Ещё вопрос, XFG_HOME_CONFIG может быть и "~/.blablabla". Тильду чем >> правильно раскрывать? DS> Вообще принято использовать $HOME в качестве замены тильде. DS> ИМХО не надо ее раскрывать. DS> Пусть пользователи пишут DS> export XFG_HOME_CONFIG="$HOME/.mymegaconfigdir" Понял. -- С уважением, Денис http://freesource.info ---------------------------------------------------------------------------- Рискую получить черный шар от ldv, но не удержусь. -- aen in devel@