{"thread":{"id":"56070","subject":"[PATCH] imap-send.c: use less verbose strbuf_fread() idiom","startedAt":"2021-07-07T09:05:52Z","lastAt":"2021-07-07T09:05:52Z","messageCount":1,"participants":["Ævar Arnfjörð Bjarmason"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"429407","messageId":"patch-1.1-ee64a64449f-20210707T090458Z-avarab@gmail.com","threadId":"56070","inReplyTo":null,"subject":"[PATCH] imap-send.c: use less verbose strbuf_fread() idiom","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2021-07-07T09:05:24Z","receivedAt":"2021-07-07T09:05:52Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"When looking for things that hardcoded a non-zero \"hint\" parameter to\nstrbuf_fread() I discovered that since f2561fda364 (Add git-imap-send,\nderived from isync 1.0.1., 2006-03-10) we've been passing a hardcoded\n4096 in imap-send.c to read stdin.\n\nSince we're not doing anything unusual here let's use a less verbose\npattern used in a lot of other places (the hint of \"0\" will default to\n8192). We don't need to take a FILE * here either, so we can use \"0\"\ninstead of \"stdin\". While we're at it improve the error message if we\ncan't read the input to use error_errno().\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n imap-send.c | 16 ++--------------\n 1 file changed, 2 insertions(+), 14 deletions(-)\n\ndiff --git a/imap-send.c b/imap-send.c\nindex bb085d66d10..9d06ef7cd25 100644\n--- a/imap-send.c\n+++ b/imap-send.c\n@@ -1266,18 +1266,6 @@ static void wrap_in_html(struct strbuf *msg)\n \t*msg = buf;\n }\n \n-#define CHUNKSIZE 0x1000\n-\n-static int read_message(FILE *f, struct strbuf *all_msgs)\n-{\n-\tdo {\n-\t\tif (strbuf_fread(all_msgs, CHUNKSIZE, f) <= 0)\n-\t\t\tbreak;\n-\t} while (!feof(f));\n-\n-\treturn ferror(f) ? -1 : 0;\n-}\n-\n static int count_messages(struct strbuf *all_msgs)\n {\n \tint count = 0;\n@@ -1582,8 +1570,8 @@ int cmd_main(int argc, const char **argv)\n \t}\n \n \t/* read the messages */\n-\tif (read_message(stdin, &all_msgs)) {\n-\t\tfprintf(stderr, \"error reading input\\n\");\n+\tif (strbuf_read(&all_msgs, 0, 0) < 0) {\n+\t\terror_errno(_(\"could not read from stdin\"));\n \t\treturn 1;\n \t}\n \n-- \n2.32.0.636.g43e71d69cff\n\n"}]}