can now writelines
parent
a9118be5b1
commit
c839aa9e61
|
@ -0,0 +1,8 @@
|
||||||
|
Row *
|
||||||
|
b_getline(Row *r, int l) {
|
||||||
|
|
||||||
|
if (l == 1) return r;
|
||||||
|
if (r->n == NULL) return NULL;
|
||||||
|
return b_getline(r->n, l - 1);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
void
|
||||||
|
c_writeline(char *c) {
|
||||||
|
c += 2;
|
||||||
|
int line = atoi(c);
|
||||||
|
for(; *c != 0 && *c != ' '; c++);
|
||||||
|
c += 1; // start of text
|
||||||
|
Row *r = b_getline(buffer, line);
|
||||||
|
if (r == NULL) {
|
||||||
|
printf("%i, invalid line.\n", line);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int i = 0;
|
||||||
|
for (;i < ROW_SIZE && c[i] != 0; i++) {
|
||||||
|
r->text[i] = c[i];
|
||||||
|
}
|
||||||
|
for(;i < ROW_SIZE; i++) {
|
||||||
|
r->text[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,3 +3,4 @@ NULL,
|
||||||
['q'] = c_quit,
|
['q'] = c_quit,
|
||||||
['O'] = c_open,
|
['O'] = c_open,
|
||||||
['P'] = c_print,
|
['P'] = c_print,
|
||||||
|
['w'] = c_writeline,
|
||||||
|
|
3
efn.c
3
efn.c
|
@ -17,3 +17,6 @@
|
||||||
#include "b_truncate.c"
|
#include "b_truncate.c"
|
||||||
#include "c_print.c"
|
#include "c_print.c"
|
||||||
#include "b_insert.c"
|
#include "b_insert.c"
|
||||||
|
#include "c_writeline.c"
|
||||||
|
#include "b_getline.c"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue