new= newvar(name) takes ownership of the string and might free its
memory. Don't print name. Do print new->v_name.
Also #include <string.h> for strcmp().
*
*/
+#include <string.h>
#include "ack.h"
#ifndef NORCSID
new= newvar(name);
#ifdef DEBUG
- if ( debug>=2 ) vprint("%s=%s\n", name, str) ;
+ if ( debug>=2 ) vprint("%s=%s\n", new->v_name, str) ;
#endif
new->v_type= string;
new->v_value.v_string= str;
new= newvar(name);
#ifdef DEBUG
- if ( debug>=2 ) vprint("%s= (*%o)()\n",name,rout) ;
+ if ( debug>=2 ) vprint("%s= (*%o)()\n", new->v_name, rout) ;
#endif
new->v_type= routine;
new->v_value.v_routine= rout;