about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--imbox.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/imbox.c b/imbox.c
index 70b1270..d3c2bf5 100644
--- a/imbox.c
+++ b/imbox.c
@@ -67,6 +67,13 @@ static void mboxrd(char *header, char *body) {
 	printf("\n");
 }
 
+static void printNums(FILE *file, struct List nums) {
+	for (size_t i = 0; i < nums.len; ++i) {
+		uint32_t num = dataCheck(nums.ptr[i], Number).number;
+		fprintf(file, "%s%" PRIu32, (i ? "," : ""), num);
+	}
+}
+
 int main(int argc, char *argv[]) {
 	int rppFlags = 0;
 	const char *host = NULL;
@@ -160,10 +167,7 @@ search:;
 
 	enum Atom fetch = atom("fetch");
 	fprintf(imap.w, "%s FETCH ", Atoms[fetch]);
-	for (size_t i = 0; i < nums.len; ++i) {
-		uint32_t num = dataCheck(nums.ptr[i], Number).number;
-		fprintf(imap.w, "%s%" PRIu32, (i ? "," : ""), num);
-	}
+	printNums(imap.w, nums);
 	fprintf(
 		imap.w, " (BODY[HEADER.FIELDS (" FETCH_HEADERS ")] BODY[TEXT])\r\n"
 	);
@@ -195,10 +199,7 @@ search:;
 	if (seen) {
 		enum Atom sto = atom("store");
 		fprintf(imap.w, "%s STORE ", Atoms[sto]);
-		for (size_t i = 0; i < nums.len; ++i) {
-			uint32_t num = dataCheck(nums.ptr[i], Number).number;
-			fprintf(imap.w, "%s%" PRIu32, (i ? "," : ""), num);
-		}
+		printNums(imap.w, nums);
 		fprintf(imap.w, " +FLAGS.SILENT (\\Seen)\r\n");
 		for (; resp = respOk(imapResp(&imap)), resp.tag != sto; respFree(resp));
 		respFree(resp);
@@ -207,10 +208,7 @@ search:;
 	if (move) {
 		enum Atom mov = atom("move");
 		fprintf(imap.w, "%s MOVE ", Atoms[mov]);
-		for (size_t i = 0; i < nums.len; ++i) {
-			uint32_t num = dataCheck(nums.ptr[i], Number).number;
-			fprintf(imap.w, "%s%" PRIu32, (i ? "," : ""), num);
-		}
+		printNums(imap.w, nums);
 		fprintf(imap.w, " \"%s\"\r\n", move);
 		for (; resp = respOk(imapResp(&imap)), resp.tag != mov; respFree(resp));
 		respFree(resp);
e512b64c939bb30bd&follow=1'>Disable mouse mode in xtermJune McEnroe 2021-02-09Add pbcopy, pbpaste, open dispatch scriptsJune McEnroe 2021-02-09Use flags for pbd client behaviourJune McEnroe 2021-02-08Add macOS-like copy and paste to xtermJune McEnroe 2021-02-08Only update clock script every minuteJune McEnroe 2021-02-08Use 4M- for window resizing in cwmJune McEnroe 2021-02-08Tweak trackpad scaling, mouse accelerationJune McEnroe 2021-02-08Use xsel in up and add it do install.shJune McEnroe 2021-02-07Swap root window coloursJune McEnroe 2021-02-07Add -X flag to install X stuff on OpenBSDJune McEnroe 2021-02-07Adjust brightness by smaller incrementsJune McEnroe 2021-02-07Fix cwm window cycling, move big by defaultJune McEnroe 2021-02-07Use class names for Foreground, Background, BorderColorJune McEnroe 2021-02-07Add simple battery status and clock to xsessionJune McEnroe 2021-02-07Set cursor theme and sizeJune McEnroe 2021-02-07Use scrot for up -s if no screencaptureJune McEnroe 2021-02-07Enable mouse acceleration in XJune McEnroe 2021-02-07Set colours for Xt and cwmJune McEnroe 2021-02-07Set urgency on bell in xtermJune McEnroe 2021-02-07Add bindings for brightness controlJune McEnroe 2021-02-07Set X key repeat rateJune McEnroe 2021-02-07Bump font size to 12June McEnroe 2021-02-07Fully configure and rebind cwmJune McEnroe 2021-02-07Add BintiJune McEnroe 2021-02-07Finish configuring xtermJune McEnroe 2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe 2021-02-06Set root window to black on purple snowJune McEnroe 2021-02-06Add xmodmap configurationJune McEnroe 2021-02-06Add initial OpenBSD X configurationJune McEnroe 2021-02-06Add xterm output to schemeJune McEnroe