25 lines
533 B
C
25 lines
533 B
C
void
|
|
c_copy(char *c) {
|
|
c += 2;
|
|
int start = atoi(c);
|
|
for(; *c != '\0' && *c != ' '; c++);
|
|
int end = atoi(c);
|
|
Row *cpy_start = b_getline(buffer, start);
|
|
if(cpy_start == NULL || b_getline(buffer, end) == NULL) {
|
|
puts("invalid line.");
|
|
return;
|
|
}
|
|
if (clipboard != NULL) {
|
|
b_truncate(clipboard);
|
|
free(clipboard);
|
|
}
|
|
clipboard = calloc(1, sizeof(Row));
|
|
Row *dest = clipboard;
|
|
for (int i = start; i <= end; i++) {
|
|
memcpy(dest->text, cpy_start->text, ROW_SIZE);
|
|
cpy_start = cpy_start->n;
|
|
dest = b_insert(dest);
|
|
}
|
|
}
|
|
|