250 |
$$ = install_pair(source_filename, |
$$ = install_pair(source_filename, |
251 |
source_line_num, |
source_line_num, |
252 |
$1, $2, $3); |
$1, $2, $3); |
253 |
string_free($3); |
efree($3); |
254 |
} |
} |
255 |
; |
; |
256 |
|
|
260 |
{ |
{ |
261 |
char buf[64]; |
char buf[64]; |
262 |
sprintf(buf, "%d", $1); |
sprintf(buf, "%d", $1); |
263 |
$$ = string_create(buf); |
$$ = estrdup(buf); |
264 |
} |
} |
265 |
| IDENT |
| IDENT |
266 |
{ |
{ |
270 |
{ |
{ |
271 |
char buf[DOTTED_QUAD_LEN]; |
char buf[DOTTED_QUAD_LEN]; |
272 |
ip_iptostr($1, buf); |
ip_iptostr($1, buf); |
273 |
$$ = string_create(buf); |
$$ = estrdup(buf); |
274 |
} |
} |
275 |
; |
; |
276 |
|
|
316 |
{ |
{ |
317 |
$$.name = NULL; |
$$.name = NULL; |
318 |
$$.type = String; |
$$.type = String; |
319 |
$$.datum.string = string_create($1); |
$$.datum.string = estrdup($1); |
320 |
} |
} |
321 |
| IDENT |
| IDENT |
322 |
{ |
{ |
428 |
for (p = pair; p; p = avl_find(p->next, dict->value)) |
for (p = pair; p; p = avl_find(p->next, dict->value)) |
429 |
length += p->avp_strlength; |
length += p->avp_strlength; |
430 |
|
|
431 |
cp = ret_var->datum.string = string_alloc(length+1); |
cp = ret_var->datum.string = emalloc(length+1); |
432 |
/* Fill in the string contents */ |
/* Fill in the string contents */ |
433 |
for (p = pair; p; p = avl_find(p->next, dict->value)) { |
for (p = pair; p; p = avl_find(p->next, dict->value)) { |
434 |
memcpy(cp, p->avp_strvalue, p->avp_strlength); |
memcpy(cp, p->avp_strvalue, p->avp_strlength); |
436 |
} |
} |
437 |
*cp = 0; |
*cp = 0; |
438 |
} else |
} else |
439 |
ret_var->datum.string = string_dup(pair->avp_strvalue); |
ret_var->datum.string = estrdup(pair->avp_strvalue); |
440 |
break; |
break; |
441 |
case TYPE_INTEGER: |
case TYPE_INTEGER: |
442 |
case TYPE_DATE: |
case TYPE_DATE: |