51 lines
1016 B
C
51 lines
1016 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;
|
|
}
|
|
}
|
|
*/
|
|
|
|
|
|
void
|
|
c_print(char *c, char **argv) {
|
|
int start = argv[1] != NULL ? atoi(argv[1]) : 1;
|
|
int end = argv[2] != NULL ? atoi(argv[2]) : b_countlines(buffer);
|
|
start = start > 1 ? start : 1;
|
|
end = end < b_countlines(buffer) ? end : b_countlines(buffer);
|
|
Row *row = b_getline(buffer, start);
|
|
for(int line = start; line <= end; line++) {
|
|
printf("%3.i| ", line);
|
|
print_with_fixed_tabs(row);
|
|
puts("");
|
|
row = row->n;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|