330 |
return new_string; /* The caller must free() it */ |
return new_string; /* The caller must free() it */ |
331 |
} |
} |
332 |
|
|
|
extern void mangle(environment *env) |
|
|
{ |
|
|
char *new_string; |
|
|
|
|
|
if(env->head->type==empty) { |
|
|
printerr("Too Few Arguments"); |
|
|
env->err= 1; |
|
|
return; |
|
|
} |
|
|
|
|
|
if(CAR(env->head)->type!=string) { |
|
|
printerr("Bad Argument Type"); |
|
|
env->err= 2; |
|
|
return; |
|
|
} |
|
|
|
|
|
new_string= mangle_str(CAR(env->head)->content.string); |
|
|
|
|
|
toss(env); |
|
|
if(env->err) return; |
|
|
|
|
|
push_cstring(env, new_string); |
|
|
} |
|
|
|
|
333 |
/* Push a symbol onto the stack. */ |
/* Push a symbol onto the stack. */ |
334 |
void push_sym(environment *env, const char *in_string) |
void push_sym(environment *env, const char *in_string) |
335 |
{ |
{ |