Add numbers to buffer lines

This directly correlates hard-wrapped lines with the soft lines
they were wrapped from.

Choosing uint here because it doesn't change the size of struct
Line. It doesn't at all matter since buffers only hold 1024 lines
at a time anyway.
master
C. McEnroe 2021-01-26 22:14:12 -05:00
parent a18ced53df
commit 52c58128c8
2 changed files with 4 additions and 0 deletions

View File

@ -102,6 +102,7 @@ static int flow(struct Lines *hard, int cols, const struct Line *soft) {
int flowed = 1;
struct Line *line = linesNext(hard);
line->num = soft->num;
line->heat = soft->heat;
line->time = soft->time;
line->str = strdup(soft->str);
@ -177,6 +178,7 @@ static int flow(struct Lines *hard, int cols, const struct Line *soft) {
flowed++;
line = linesNext(hard);
line->num = soft->num;
line->heat = soft->heat;
line->time = 0;
@ -203,6 +205,7 @@ int bufferPush(
enum Heat heat, time_t time, const char *str
) {
struct Line *soft = linesNext(&buffer->soft);
soft->num = buffer->soft.len;
soft->heat = heat;
soft->time = time;
soft->str = strdup(str);

1
chat.h
View File

@ -301,6 +301,7 @@ int uiSave(const char *name);
enum { BufferCap = 1024 };
struct Buffer;
struct Line {
uint num;
enum Heat heat;
time_t time;
char *str;