diff --git a/c_print.c b/c_print.c index 4c2a728..7f73bdc 100644 --- a/c_print.c +++ b/c_print.c @@ -1,11 +1,26 @@ +void +print_with_fixed_tabs(Row *row) { +for (int i = 0; i < ROW_SIZE; i++) { +if(row->text[i] == 0) break; +if (row->text[i] == '\t') printf(" "); +else printf("%c", row->text[i]); +} +} + void c_print(char *c) { Row *row = buffer; int line = 1; for (;; line++) { - printf("%4.4i| %s\n", line, row->text); +printf("%3.i| ", line); +print_with_fixed_tabs(row); +puts(""); if (row->n == NULL) break; row = row -> n; } } + + + + diff --git a/consts.h b/consts.h index bab8f69..f5d41bf 100644 --- a/consts.h +++ b/consts.h @@ -1 +1,4 @@ #define ROW_SIZE 100 + +#define COM_BUF_SIZE 256 + diff --git a/main.c b/main.c index c6713ea..48101b2 100644 --- a/main.c +++ b/main.c @@ -1,8 +1,9 @@ int main(int argc, char **argv) { - static char buf[256]; - while(1) { + static char buf[COM_BUF_SIZE]; + while(1) { memset(buf, 0, sizeof(buf)); +printf(" > "); char *com = fgets(buf, sizeof(buf), stdin); for (int i = 0; i < sizeof(buf); i++) if (buf[i] == '\n') @@ -15,3 +16,5 @@ char *com = fgets(buf, sizeof(buf), stdin); return 0; } + +