37 |
#include <unistd.h> |
#include <unistd.h> |
38 |
/* EX_NOINPUT, EX_USAGE */ |
/* EX_NOINPUT, EX_USAGE */ |
39 |
#include <sysexits.h> |
#include <sysexits.h> |
40 |
|
/* assert */ |
41 |
|
#include <assert.h> |
42 |
|
|
43 |
|
#ifdef __linux__ |
44 |
/* mtrace, muntrace */ |
/* mtrace, muntrace */ |
45 |
#include <mcheck.h> |
#include <mcheck.h> |
46 |
/* ioctl */ |
/* ioctl */ |
47 |
#include <sys/ioctl.h> |
#include <sys/ioctl.h> |
48 |
/* KDMKTONE */ |
/* KDMKTONE */ |
49 |
#include <linux/kd.h> |
#include <linux/kd.h> |
50 |
|
#endif /* __linux__ */ |
51 |
|
|
52 |
#include "stack.h" |
#include "stack.h" |
53 |
|
|
123 |
stackitem *nitem= malloc(sizeof(stackitem)); |
stackitem *nitem= malloc(sizeof(stackitem)); |
124 |
|
|
125 |
nval->content.ptr= NULL; |
nval->content.ptr= NULL; |
126 |
|
nval->type= integer; |
127 |
|
|
128 |
nitem->item= nval; |
nitem->item= nval; |
129 |
nitem->next= env->gc_ref; |
nitem->next= env->gc_ref; |
261 |
value *new_value= new_val(env); |
value *new_value= new_val(env); |
262 |
|
|
263 |
new_value->content.c= malloc(sizeof(cons)); |
new_value->content.c= malloc(sizeof(cons)); |
264 |
|
assert(new_value->content.c!=NULL); |
265 |
new_value->type= tcons; |
new_value->type= tcons; |
266 |
CAR(new_value)= val; |
CAR(new_value)= val; |
267 |
CDR(new_value)= env->head; |
CDR(new_value)= env->head; |
890 |
if(env->free_string!=NULL) |
if(env->free_string!=NULL) |
891 |
free(env->free_string); |
free(env->free_string); |
892 |
|
|
893 |
|
#ifdef __linux__ |
894 |
muntrace(); |
muntrace(); |
895 |
|
#endif |
896 |
|
|
897 |
exit(EXIT_SUCCESS); |
exit(EXIT_SUCCESS); |
898 |
} |
} |
967 |
|
|
968 |
int c; /* getopt option character */ |
int c; /* getopt option character */ |
969 |
|
|
970 |
|
#ifdef __linux__ |
971 |
mtrace(); |
mtrace(); |
972 |
|
#endif |
973 |
|
|
974 |
init_env(&myenv); |
init_env(&myenv); |
975 |
|
|
1267 |
|
|
1268 |
protect(old_value); |
protect(old_value); |
1269 |
new_value= new_val(env); |
new_value= new_val(env); |
|
protect(new_value); |
|
1270 |
new_value->type= old_value->type; |
new_value->type= old_value->type; |
1271 |
|
|
1272 |
switch(old_value->type){ |
switch(old_value->type){ |
1281 |
strdup((char *)(old_value->content.ptr)); |
strdup((char *)(old_value->content.ptr)); |
1282 |
break; |
break; |
1283 |
case tcons: |
case tcons: |
|
new_value= NULL; |
|
1284 |
|
|
1285 |
new_value->content.c= malloc(sizeof(cons)); |
new_value->content.c= malloc(sizeof(cons)); |
1286 |
|
assert(new_value->content.c!=NULL); |
1287 |
|
|
1288 |
CAR(new_value)= copy_val(env, CAR(old_value)); /* recurse */ |
CAR(new_value)= copy_val(env, CAR(old_value)); /* recurse */ |
1289 |
CDR(new_value)= copy_val(env, CDR(old_value)); /* recurse */ |
CDR(new_value)= copy_val(env, CDR(old_value)); /* recurse */ |
1290 |
break; |
break; |
1291 |
} |
} |
1292 |
|
|
1293 |
unprotect(old_value); unprotect(new_value); |
unprotect(old_value); |
1294 |
|
|
1295 |
return new_value; |
return new_value; |
1296 |
} |
} |
1683 |
return sx_72656164(env); |
return sx_72656164(env); |
1684 |
} |
} |
1685 |
|
|
1686 |
|
#ifdef __linux__ |
1687 |
extern void beep(environment *env) |
extern void beep(environment *env) |
1688 |
{ |
{ |
1689 |
int freq, dur, period, ticks; |
int freq, dur, period, ticks; |
1726 |
abort(); |
abort(); |
1727 |
} |
} |
1728 |
} |
} |
1729 |
|
#endif /* __linux__ */ |
1730 |
|
|
1731 |
/* "wait" */ |
/* "wait" */ |
1732 |
extern void sx_77616974(environment *env) |
extern void sx_77616974(environment *env) |