about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-01-26 22:14:12 -0500
committerJune McEnroe <june@causal.agency>2021-01-26 22:14:12 -0500
commit52c58128c83a4e6207afd75318446793fd0110ff (patch)
tree9d472e3bb7f3029b1a737c3b51a55ae0b5786e3b
parentRename and move scroll functions closer to where they are used (diff)
downloadcatgirl-52c58128c83a4e6207afd75318446793fd0110ff.tar.gz
catgirl-52c58128c83a4e6207afd75318446793fd0110ff.zip
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.
Diffstat (limited to '')
-rw-r--r--buffer.c3
-rw-r--r--chat.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/buffer.c b/buffer.c
index 49943ba..47d0955 100644
--- a/buffer.c
+++ b/buffer.c
@@ -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);
diff --git a/chat.h b/chat.h
index 4c9b32b..6ecd91a 100644
--- a/chat.h
+++ b/chat.h
@@ -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;
tor certificate loading and load all certs from config pathsJune McEnroe 2020-08-27Sandbox pounce with pledge(2)June McEnroe unveil(2) is a bit complicated to apply to this, I'll have to think about it more. 2020-08-27Sandbox calico with pledge(2) and unveil(2)June McEnroe 2020-08-27Add support for OpenBSDJune McEnroe 2020-08-27Remove rc scriptsJune McEnroe 2020-08-27contrib/palaver: Fix documented database pathJune McEnroe 2020-08-27contrib/palaver: Remove rc scriptJune McEnroe 2020-08-27contrib/palaver: Fix database search and creationJune McEnroe 2020-08-27contrib/palaver: Use pounce's XDG directoryJune McEnroe 2020-08-27contrib/palaver: Only allow HTTPSJune McEnroe 2020-08-25Support the pounce_env rc variableJune McEnroe 2020-08-25Remove deprecated option namesJune McEnroe The next release will be 2.0 so these can be removed now. 2020-08-25Document configuration and data file searchJune McEnroe 2020-08-24Use dataOpen for save fileJune McEnroe 2020-08-24Use configOpen to load localCAJune McEnroe 2020-08-24Use configPath to load client cert/privJune McEnroe 2020-08-24Use configOpen in getopt_configJune McEnroe 2020-08-24Import xdg.c from catgirlJune McEnroe 2020-08-23Replace “RAND_bytes” by “getentropy”Issam E. Maghni This removes the dependency on libcrypto. Signed-off-by: Issam E. Maghni <issam.e.maghni@mailbox.org> 2020-08-16contrib/palaver: Add no message preview flagsJune McEnroe 2020-08-13contrib/palaver: Don't set channel for PMsJune McEnroe 2020-08-13Fix unintended interception of NICK after registrationJune McEnroe Another bug caused by trying to support broken clients. I'm annoyed. 2020-08-12Add Additional Components section to READMEJune McEnroe 2020-08-12Document -L / palaver optionJune McEnroe 2020-08-11contrib/palaver: Document service configurationJune McEnroe 2020-08-11contrib/palaver: Add install target and rc scriptJune McEnroe 2020-08-11contrib/palaver: Implement command and notificationsJune McEnroe