diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -58,7 +58,9 @@ int get_addr(const char **cmd){ break; case ',': comma = 1; - if (addr1 < addr2){ + if (addr1 ==-1) + addr2 = 1, addr1=num; + else if (addr1 < addr2){ *cmd = c; return -1; } @@ -82,6 +84,10 @@ int get_addr(const char **cmd){ return 0; } if (addr2 == -1){ + if (comma){ + addr2 = addr1; + return 2; + } addr2 = pos; return 1; } @@ -103,9 +109,9 @@ void main_loop(){ ret = get_addr((const char **) &cmd); - printf(">>> *** pos: %d address: %d ***\n", pos, ret); + fprintf(stderr,">>> *** pos: %d address: %d ***\n", pos, ret); if (ret) { - printf(">>> *** addr1: %d, addr2= %d***\n", addr1, addr2); + fprintf(stderr, ">>> *** addr1: %d, addr2= %d***\n", addr1, addr2); } switch(cmd[0]){ @@ -157,8 +163,8 @@ void main_loop(){ print_lineno(); break; default: - printf(">>> **** unknown command: '%c'****\n", cmd[0]) - ; + fprintf(stderr, ">>> **** unknown command: '%c'****\n", cmd[0]); + printf("?\n"); } } } |