[devel] Q: bison strdup

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Окт 8 03:17:35 MSD 2006


On Sun, Oct 08, 2006 at 02:00:49AM +0400, Alexey Tourbin wrote:
> Специалисты по бизону!
> Кто-нибудь знает, когда я хочу немного модифицировать $1, нужно strdup
> делать или нет?  А то у меня после вот этого вот изменения SEGV стал
> наблюдаться.  Если нужно делать strdup, как тогда в конце правильно
> очистить память?

А в общем я кажется стал догадываться в чём дело.  Надо UPE перечитать,
а то уже забыл что это за бизон такой.

> @@ -95,7 +109,7 @@ symbols		: symbols symbol
>  symbol		: name COLON NUMBER
>  		  {
>  			$$ = calloc (1, sizeof (cvs_symbol));
> -			$$->name = $1;
> +			$$->name = fixup_symbol ($1);
>  			$$->number = $3;
>  		  }
>  		;

Здесь name это во-первых нетерминальный символ, то есть откуда он взялся
и в каком виде это ещё надо думать.  Во-вторых если бы он был
тенминальным значит его отдал flex и надо смотреть делается ли в *.l
что-то типа strdup(yytext) или нет.

Кому надо UPE на русском обращайтесь.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/devel/attachments/20061008/142b90dc/attachment-0001.bin>


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