|
#include <stdio.h> |
|
1 |
#include "stack.h" |
#include "stack.h" |
2 |
|
|
3 |
/* Print newline. */ |
/* Print newline. */ |
293 |
} |
} |
294 |
|
|
295 |
/* long names are a pain */ |
/* long names are a pain */ |
296 |
sym= CAR(env->head)->content.ptr; |
sym= CAR(env->head)->content.sym; |
297 |
|
|
298 |
/* Bind the symbol to the value */ |
/* Bind the symbol to the value */ |
299 |
sym->val= CAR(CDR(env->head)); |
sym->val= CAR(CDR(env->head)); |
359 |
protect(a_val); protect(b_val); |
protect(a_val); protect(b_val); |
360 |
toss(env); if(env->err) return; |
toss(env); if(env->err) return; |
361 |
toss(env); if(env->err) return; |
toss(env); if(env->err) return; |
362 |
len= strlen(a_val->content.ptr)+strlen(b_val->content.ptr)+1; |
len= strlen(a_val->content.string)+strlen(b_val->content.string)+1; |
363 |
new_string= malloc(len); |
new_string= malloc(len); |
364 |
assert(new_string != NULL); |
assert(new_string != NULL); |
365 |
strcpy(new_string, b_val->content.ptr); |
strcpy(new_string, b_val->content.string); |
366 |
strcat(new_string, a_val->content.ptr); |
strcat(new_string, a_val->content.string); |
367 |
push_cstring(env, new_string); |
push_cstring(env, new_string); |
368 |
unprotect(a_val); unprotect(b_val); |
unprotect(a_val); unprotect(b_val); |
369 |
free(new_string); |
free(new_string); |