diff options
| author | peter <peter@pmikkelsen.com> | 2026-09-03 19:31:52 +0000 |
|---|---|---|
| committer | peter <peter@pmikkelsen.com> | 2026-09-03 19:31:52 +0000 |
| commit | fa6a3ee5b24d5e227798330cff5f9ff060d6d863 (patch) | |
| tree | b251207d74ae183b0e0bb155e4e0f9f86334c3d3 /src/bin | |
| parent | 84dd0d9fa985c1c740b3145c6b0d858cca978911 (diff) | |
Don't dynamically allocate external reference counted pointers, just use what the user puts on the stack.
FossilOrigin-Name: 270cf0d72050bea15fc40a1e2811ba642e3ef26cbe1fa6231c5aa6f1872ccb34
Diffstat (limited to 'src/bin')
| -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; |