diff options
-rw-r--r-- | buff.c | 2 | ||||
-rw-r--r-- | main.c | 16 | ||||
-rw-r--r-- | problems.txt | 2 |
3 files changed, 14 insertions, 6 deletions
@@ -59,7 +59,7 @@ void print_lines(char lineno){ p = b_start; - printf(">>> *** addr1: %d addr2: %d ***\n", addr1, addr2); + fprintf(stderr, ">>> *** addr1: %d addr2: %d ***\n", addr1, addr2); for (i=1; i<addr2; i++) p = p->next; pos = i; cur = p; @@ -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"); } } } diff --git a/problems.txt b/problems.txt new file mode 100644 index 0000000..139597f --- /dev/null +++ b/problems.txt @@ -0,0 +1,2 @@ + + |