]> git.draconx.ca Git - cdecl99.git/blobdiff - src/execute.gperf
Port to use getline.h from dxcommon.
[cdecl99.git] / src / execute.gperf
index ddebd5d08867d246ef5fea503da0fc33936bd315..51443ba0b31b46f10be9a395b75f7d2585821f8f 100644 (file)
@@ -1,6 +1,6 @@
 %{
 /*
- * Copyright © 2021 Nick Bowler
+ * Copyright © 2021, 2023-2024 Nick Bowler
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
 #include <config.h>
 #include <stdio.h>
 #include <string.h>
-#include <stdint.h>
+#include <inttypes.h>
 #include <assert.h>
 
 #include "cdecl99.h"
@@ -72,7 +72,7 @@ static int run_cmd_help(void)
                int w;
 
                w = printf("  %s", stringpool+c->name);
-               if (w < 0 || w > 13) {
+               if (w <= 0 || w > 13) {
                        putchar('\n');
                        w = 0;
                }
@@ -104,11 +104,16 @@ int run_command(const char *line, int batch)
        }
 
        switch (c->cmd) {
-       case cmd_help: return run_cmd_help();
-       case cmd_declare: case cmd_type: return run_command_declare(cmd);
-       case cmd_simplify: return run_command_simplify(arg);
-       case cmd_explain: return run_command_explain(arg);
-       case cmd_quit: return 1;
+       case cmd_help:
+               return run_cmd_help();
+       case cmd_declare: case cmd_type:
+               return run_command_cdecl(cmd, INPUT_ENGLISH, OUTPUT_C);
+       case cmd_simplify:
+               return run_command_cdecl(arg, INPUT_C, OUTPUT_C);
+       case cmd_explain:
+               return run_command_cdecl(arg, INPUT_C, OUTPUT_ENGLISH);
+       case cmd_quit:
+               return 1;
        }
 
        assert(0);