On 7 Jan 2008, at 07:20, cwhite wrote:

I use

yylval.string_type = strdup(yytext);

in my flex file but it seems that this is wasteful and it may cause memory leaks. I thought that yytext gets replaced everytime the lexer is called so
how is this wasteful? How do I free yylval so that those don't happen?
Perhaps there is an alternative to strdup, I'd like to know what that is.

See 'man strdup'; memory must be freed using 'free'. Done say in the actions, or using %destructor to do it during error recovers (see Bison manual).

  Hans Aberg




_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to