efn/c_print.c

32 lines
584 B
C

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, char **argv) {
Row *row = buffer;
int line = 1;
if (atoi(c + 2) != 0) line = atoi(c + 2);
row = b_getline(buffer, line);
if (row == NULL) {puts("invalid line."); return;}
for (;; line++) {
printf("%3.i| ", line);
print_with_fixed_tabs(row);
puts("");
if (row->n == NULL) break;
row = row -> n;
}
}