Recently Written · git

sacc

Mirror of git://bitreich.org/sacc, the sacc gopher client from bitreich.org.

git clone https://github.com/equwal/sacc

Log | Files | Refs


commit e6daee96e9c73d29f6e51e8400d66a3511d36526
Quentin Rameau <quinq@fifth.space>
2025-01-03 14:24:02 +0100

ui_ti: Use tiparm instead of tparm

The tparm interface was deprecated,
and has definitely been removed in SUSv5.

It's not entirely clear anymore why tparm
was favored in the first place,
due to bad (incomplete) commit message.

Supposedly that was for bad implementations of curses.

 ui_ti.c | 108 +++++++++++++++++++++++++++++++---------------------------------
 1 file changed, 52 insertions(+), 56 deletions(-)
diff --git a/ui_ti.c b/ui_ti.c
index c42bbd0..8b75b60 100644
--- a/ui_ti.c
+++ b/ui_ti.c
@@ -40,10 +40,10 @@ uisetup(void)
 	if (termset != OK)
 		/* setupterm call exits on error */
 		termset = setupterm(NULL, 1, NULL);
-	putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(change_scroll_region, 0, lines-2, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(clear_screen));
+	putp(tiparm(save_cursor));
+	putp(tiparm(change_scroll_region, 0, lines-2));
+	putp(tiparm(restore_cursor, 0));
 	fflush(stdout);
 }
 
@@ -55,8 +55,8 @@ uicleanup(void)
 	if (termset != OK)
 		return;
 
-	putp(tparm(change_scroll_region, 0, lines-1, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(change_scroll_region, 0, lines-1));
+	putp(tiparm(clear_screen));
 	fflush(stdout);
 }
 
@@ -68,11 +68,11 @@ uiprompt(char *fmt, ...)
 	size_t n;
 	ssize_t r;
 
-	putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(save_cursor));
 
-	putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(cursor_address, lines-1, 0));
+	putp(tiparm(clr_eol));
+	putp(tiparm(enter_standout_mode));
 
 	va_start(ap, fmt);
 	vsnprintf(bufout, sizeof(bufout), fmt, ap);
@@ -80,10 +80,10 @@ uiprompt(char *fmt, ...)
 
 	n = mbsprint(bufout, columns);
 
-	putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(exit_standout_mode));
+	putp(tiparm(clr_eol));
 
-	putp(tparm(cursor_address, lines-1, n, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(cursor_address, lines-1, n));
 
 	tsacc.c_lflag |= (ECHO|ICANON);
 	tcsetattr(0, TCSANOW, &tsacc);
@@ -94,7 +94,7 @@ uiprompt(char *fmt, ...)
 
 	tsacc.c_lflag &= ~(ECHO|ICANON);
 	tcsetattr(0, TCSANOW, &tsacc);
-	putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(restore_cursor));
 	fflush(stdout);
 
 	if (r == -1 || feof(stdin)) {
@@ -155,10 +155,10 @@ uistatus(char *fmt, ...)
 	va_list ap;
 	size_t n;
 
-	putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(save_cursor));
 
-	putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(cursor_address, lines-1, 0));
+	putp(tiparm(enter_standout_mode));
 
 	va_start(ap, fmt);
 	n = vsnprintf(bufout, sizeof(bufout), fmt, ap);
@@ -171,10 +171,10 @@ uistatus(char *fmt, ...)
 
 	mbsprint(bufout, columns);
 
-	putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(exit_standout_mode));
+	putp(tiparm(clr_eol));
 
-	putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(restore_cursor));
 	fflush(stdout);
 
 	getchar();
@@ -188,10 +188,10 @@ displaystatus(Item *item)
 	size_t nitems = dir ? dir->nitems : 0;
 	unsigned long long printoff = dir ? dir->printoff : 0;
 
-	putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(save_cursor));
 
-	putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(cursor_address, lines-1, 0));
+	putp(tiparm(enter_standout_mode));
 
 	fmt = (strcmp(item->port, "70") && strcmp(item->port, "gopher")) ?
 	      "%1$3lld%%| %2$s:%5$s/%3$c%4$s" : "%3lld%%| %s/%c%s";
@@ -202,10 +202,10 @@ displaystatus(Item *item)
 
 	mbsprint(bufout, columns);
 
-	putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(exit_standout_mode));
+	putp(tiparm(clr_eol));
 
-	putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(restore_cursor));
 	fflush(stdout);
 }
 
@@ -215,19 +215,19 @@ displayuri(Item *item)
 	if (item->type == 0 || item->type == 'i')
 		return;
 
-	putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(save_cursor));
 
-	putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(cursor_address, lines-1, 0));
+	putp(tiparm(enter_standout_mode));
 
 	itemuri(item, bufout, sizeof(bufout));
 
 	mbsprint(bufout, columns);
 
-	putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(exit_standout_mode));
+	putp(tiparm(clr_eol));
 
-	putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(restore_cursor));
 	fflush(stdout);
 }
 
@@ -244,13 +244,13 @@ uidisplay(Item *entry)
 
 	curentry = entry;
 
-	putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(clear_screen));
 	displaystatus(entry);
 
 	if (!(dir = entry->dat))
 		return;
 
-	putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(save_cursor));
 
 	items = dir->items;
 	nitems = dir->nitems;
@@ -260,20 +260,18 @@ uidisplay(Item *entry)
 
 	for (i = printoff; i < nitems && i < lastln; ++i) {
 		if (i != printoff)
-			putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(cursor_down));
 		if (i == curln) {
-			putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-			putp(tparm(enter_standout_mode,
-			           0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(save_cursor));
+			putp(tiparm(enter_standout_mode));
 		}
 		printitem(&items[i]);
-		putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+		putp(tiparm(column_address, 0));
 		if (i == curln)
-			putp(tparm(exit_standout_mode,
-			           0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(exit_standout_mode));
 	}
 
-	putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(restore_cursor));
 	fflush(stdout);
 }
 
@@ -299,36 +297,34 @@ movecurline(Item *item, int l)
 	if (l > 0) {
 		offline = dir->printoff + lines-1;
 		if (curline - dir->printoff >= plines / 2 && offline < nitems) {
-			putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(save_cursor));
 
-			putp(tparm(cursor_address, plines,
-			           0, 0, 0, 0, 0, 0, 0, 0));
-			putp(tparm(scroll_forward, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(cursor_address, plines, 0));
+			putp(tiparm(scroll_forward));
 			printitem(&dir->items[offline]);
 
-			putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(restore_cursor));
 			dir->printoff += l;
 		}
 	} else {
 		offline = dir->printoff + l;
 		if (curline - offline <= plines / 2 && offline >= 0) {
-			putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(save_cursor));
 
-			putp(tparm(cursor_address, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-			putp(tparm(scroll_reverse, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(cursor_address, 0, 0));
+			putp(tiparm(scroll_reverse));
 			printitem(&dir->items[offline]);
 			putchar('\n');
 
-			putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+			putp(tiparm(restore_cursor));
 			dir->printoff += l;
 		}
 	}
 
-	putp(tparm(cursor_address, curline - dir->printoff,
-	           0, 0, 0, 0, 0, 0, 0, 0));
-	putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(cursor_address, curline - dir->printoff, 0));
+	putp(tiparm(enter_standout_mode));
 	printitem(&dir->items[curline]);
-	putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(exit_standout_mode));
 	displaystatus(item);
 	fflush(stdout);
 }
@@ -572,7 +568,7 @@ uisigwinch(int signal)
 	if (termset == OK)
 		del_curterm(cur_term);
 	termset = setupterm(NULL, 1, NULL);
-	putp(tparm(change_scroll_region, 0, lines-2, 0, 0, 0, 0, 0, 0, 0));
+	putp(tiparm(change_scroll_region, 0, lines-2));
 
 	if (!curentry || !(dir = curentry->dat))
 		return;