[sisyphus] Re: Пакет bluemote

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Июн 7 11:26:30 MSD 2005


On Sun, Jun 05, 2005 at 11:58:38PM +0400, Dmitry (Mothlike) Marochko wrote:
> char lockfile[MAXLEN];
> 
> [...]
> 
> int get_lock()
> {
> struct flock fl;
> 
> strcpy(lockfile, getenv("HOME"));
> strcat(lockfile, BLUEMOTEDIR);
> strcat(lockfile, LOCKFILE);

Используйте asprintf.

	char *lockfile = NULL;
	char *home = getenv("HOME");
	if (!home) {
		// ...
		exit(1);
	}
	if (asprintf(&lockfile, "%s/%s/%s", home, BLUEMOTEDIR, LOCKFILE) > 0) {
		struct flock fl;
		// ...
		free(lockfile);
	}
	else {
		perror("asprintf");
		exit(1);
	}

Существует портабельная реализация asprintf --
http://www.ijs.si/software/snprintf/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050607/02f448d7/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus