10 int main(int argc
, char *argv
[])
12 size_t offset
, stacksize
;
14 struct nest
*temp
, *stack
;
18 fprintf(stderr
, "Usage: %s PROGRAM\n", argv
[0]);
22 if((buf
= malloc(stacksize
= 1)) == NULL
){
29 if((in
= fopen(argv
[1], "r")) == NULL
){
41 if(ptr
>= buf
+stacksize
){
43 if((buf
= realloc(buf
, stacksize
*= 2)) == NULL
){
48 memset(ptr
, 0, stacksize
/2);
53 fprintf(stderr
, "There is no stack position -1...\n");
73 if((stack
= malloc(sizeof(struct nest
))) == NULL
){
78 if((stack
->pos
= ftell(in
)) == -1){
83 while(fgetc(in
) != ']');
87 if(fseek(in
, stack
->pos
-1, SEEK_SET
) == -1){