diff options
Diffstat (limited to 'src/bin/main.c')
| -rw-r--r-- | src/bin/main.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/bin/main.c b/src/bin/main.c index 00fd88b..516fb51 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -145,10 +145,10 @@ file_size: for(;;){ if(input) free(input); - if(aplwc_valid_line(line)) - aplwc_free_line(line); - if(aplwc_valid_value(value)) - aplwc_free_value(value); + if(aplwc_valid_line(&line)) + aplwc_free_line(&line); + if(aplwc_valid_value(&value)) + aplwc_free_value(&value); input = NULL; if(getline(&input, &input_size, stdin) < 0){ @@ -157,8 +157,8 @@ file_size: break; }else{ line_number++; - line = aplwc_read(aplwc, input); - if(!aplwc_valid_line(line)){ + aplwc_read(aplwc, input, &line); + if(!aplwc_valid_line(&line)){ line_error: fprintf(stderr, "error on line %d: %s: %s\n", line_number, aplwc_errstr(aplwc), input); if(input_file){ @@ -167,20 +167,20 @@ line_error: } continue; } - value = aplwc_eval(line); - if(!aplwc_valid_value(value)) + aplwc_eval(&line, &value); + if(!aplwc_valid_value(&value)) goto line_error; - fprintf(stdout, "%s\n", aplwc_value_string(value)); + fprintf(stdout, "%s\n", aplwc_value_string(&value)); } } exit: if(input) free(input); - if(aplwc_valid_line(line)) - aplwc_free_line(line); - if(aplwc_valid_value(value)) - aplwc_free_value(value); + if(aplwc_valid_line(&line)) + aplwc_free_line(&line); + if(aplwc_valid_value(&value)) + aplwc_free_value(&value); aplwc_destroy(aplwc); return exit_code; |