{"thread":{"id":"64322","subject":"[PATCH 0/2] [Outreachy] gpg-interface.c: use string_list_split instead of strbuf_split_max","startedAt":"2025-10-15T02:19:50Z","lastAt":"2025-10-15T22:05:20Z","messageCount":9,"participants":["Olamide Caleb Bello","Christian Couder","Bello Olamide"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"528773","messageId":"cover.1760490943.git.belkid98@gmail.com","threadId":"64322","inReplyTo":null,"subject":"[PATCH 0/2] [Outreachy] gpg-interface.c: use string_list_split instead of strbuf_split_max","fromName":"Olamide Caleb Bello","fromEmail":"belkid98@gmail.com","sentAt":"2025-10-15T02:19:41Z","receivedAt":"2025-10-15T02:19:50Z","isPatch":true,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"The array of strbufs that calls to strbuf_split_max provides are merely\nused to store the list of tokens gotten from the split and no edit are\ndone on these resulting splits making the strbuf_split_max unideal\nfor this usecase.\n\nThis patchset replaces these instances with the modern string_list_split\n\nOlamide Caleb Bello (2):\n  gpg-interface: replace strbuf_split with string_list_split\n  gpg-interface: use string_list_split instead of strbuf_split\n\n gpg-interface.c | 24 ++++++++++--------------\n 1 file changed, 10 insertions(+), 14 deletions(-)\n\n-- \n2.51.0.463.g79cf913ea9\n\n"},{"id":"528774","messageId":"aea3b80a8883c4dac4e05defdee3eb82b83fe8c9.1760490943.git.belkid98@gmail.com","threadId":"64322","inReplyTo":"cover.1760490943.git.belkid98@gmail.com","subject":"[PATCH 1/2] [Outreachy] gpg-interface: replace strbuf_split with string_list_split","fromName":"Olamide Caleb Bello","fromEmail":"belkid98@gmail.com","sentAt":"2025-10-15T02:19:42Z","receivedAt":"2025-10-15T02:19:55Z","isPatch":true,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"get_ssh_finger_print() accepts a signing key and then uses pipe_command\nto execute the ssh-keygen command, gets its output and sets it in\nfingerprint_stdout.\n\nThe string in fingerprint_stdout is then split into 3 strbufs using\nstrbuf_split_max(), however they are not modified after the split thereby\nnot making use of the strbuf API as the fingerprint token is merely\nreturned, hence they do not need to be strbufs.\n\nUse string_list_split instead for simplicity.\n\nNote that strbuf_split_max uses 3 to specify the number of tokens to\nextract from the string, while string_list_split uses 2 because it specifies\nthe number of times the split will be done on the string, so 2 gives 3 tokens\nas it is in the initial instance.\n\nSigned-off-by: Olamide Caleb Bello <belkid98@gmail.com>\n---\n gpg-interface.c | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)\n\ndiff --git a/gpg-interface.c b/gpg-interface.c\nindex 2f4f0e32cb..043a808577 100644\n--- a/gpg-interface.c\n+++ b/gpg-interface.c\n@@ -14,6 +14,7 @@\n #include \"sigchain.h\"\n #include \"tempfile.h\"\n #include \"alias.h\"\n+#include \"string-list.h\"\n \n static int git_gpg_config(const char *, const char *,\n \t\t\t  const struct config_context *, void *);\n@@ -821,7 +822,7 @@ static char *get_ssh_key_fingerprint(const char *signing_key)\n \tstruct child_process ssh_keygen = CHILD_PROCESS_INIT;\n \tint ret = -1;\n \tstruct strbuf fingerprint_stdout = STRBUF_INIT;\n-\tstruct strbuf **fingerprint;\n+\tstruct string_list split = STRING_LIST_INIT_DUP;\n \tchar *fingerprint_ret;\n \tconst char *literal_key = NULL;\n \n@@ -845,13 +846,12 @@ static char *get_ssh_key_fingerprint(const char *signing_key)\n \t\tdie_errno(_(\"failed to get the ssh fingerprint for key '%s'\"),\n \t\t\t  signing_key);\n \n-\tfingerprint = strbuf_split_max(&fingerprint_stdout, ' ', 3);\n-\tif (!fingerprint[1])\n+\tif (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) <= 1)\n \t\tdie_errno(_(\"failed to get the ssh fingerprint for key '%s'\"),\n \t\t\t  signing_key);\n \n-\tfingerprint_ret = strbuf_detach(fingerprint[1], NULL);\n-\tstrbuf_list_free(fingerprint);\n+\tfingerprint_ret = xstrdup(split.items[1].string);\n+\tstring_list_clear(&split, 0);\n \tstrbuf_release(&fingerprint_stdout);\n \treturn fingerprint_ret;\n }\n-- \n2.51.0.463.g79cf913ea9\n\n"},{"id":"528775","messageId":"d1c20c911637870c3cacfedf763ce508a641710f.1760490943.git.belkid98@gmail.com","threadId":"64322","inReplyTo":"cover.1760490943.git.belkid98@gmail.com","subject":"[PATCH 2/2] [Outreachy] gpg-interface: use string_list_split instead of strbuf_split","fromName":"Olamide Caleb Bello","fromEmail":"belkid98@gmail.com","sentAt":"2025-10-15T02:19:43Z","receivedAt":"2025-10-15T02:19:59Z","isPatch":true,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"get_default_ssh_signing_key() gets the signing key via the pipe_command and\nstores the output in key_stdout.\nThe output string is then split using strbuf_split_max into two tokens at a\nnew line and the first token is returned. This makes the function lack the\nuse of strbuf API as no edits was performed on the split tokens.\n\nReplace strbuf_split_max with string_list_split for simplicity.\n\nSigned-off-by: Olamide Caleb Bello <belkid98@gmail.com>\n---\n gpg-interface.c | 14 +++++---------\n 1 file changed, 5 insertions(+), 9 deletions(-)\n\ndiff --git a/gpg-interface.c b/gpg-interface.c\nindex 043a808577..7a78cbd8b2 100644\n--- a/gpg-interface.c\n+++ b/gpg-interface.c\n@@ -862,7 +862,7 @@ static char *get_default_ssh_signing_key(void)\n \tstruct child_process ssh_default_key = CHILD_PROCESS_INIT;\n \tint ret = -1;\n \tstruct strbuf key_stdout = STRBUF_INIT, key_stderr = STRBUF_INIT;\n-\tstruct strbuf **keys;\n+\tstruct string_list keys = STRING_LIST_INIT_DUP;\n \tchar *key_command = NULL;\n \tconst char **argv;\n \tint n;\n@@ -884,19 +884,15 @@ static char *get_default_ssh_signing_key(void)\n \t\t\t   &key_stderr, 0);\n \n \tif (!ret) {\n-\t\tkeys = strbuf_split_max(&key_stdout, '\\n', 2);\n-\t\tif (keys[0] && is_literal_ssh_key(keys[0]->buf, &literal_key)) {\n-\t\t\t/*\n-\t\t\t * We only use `is_literal_ssh_key` here to check validity\n-\t\t\t * The prefix will be stripped when the key is used.\n-\t\t\t */\n-\t\t\tdefault_key = strbuf_detach(keys[0], NULL);\n+\t\tif (string_list_split(&keys, key_stdout.buf, \"\\n\", 1) > 0 &&\n+\t\t\tis_literal_ssh_key(keys.items[0].string, &literal_key)) {\n+\t\t\t\tdefault_key = xstrdup(keys.items[0].string);\n \t\t} else {\n \t\t\twarning(_(\"gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s\"),\n \t\t\t\tkey_stderr.buf, key_stdout.buf);\n \t\t}\n \n-\t\tstrbuf_list_free(keys);\n+\t\tstring_list_clear(&keys, 0);\n \t} else {\n \t\twarning(_(\"gpg.ssh.defaultKeyCommand failed: %s %s\"),\n \t\t\tkey_stderr.buf, key_stdout.buf);\n-- \n2.51.0.463.g79cf913ea9\n\n"},{"id":"528819","messageId":"CAP8UFD1U07T8_nX+sSL6ZHhCQsQuy5PwfQfbHC5piC5W5T=7Cw@mail.gmail.com","threadId":"64322","inReplyTo":"aea3b80a8883c4dac4e05defdee3eb82b83fe8c9.1760490943.git.belkid98@gmail.com","subject":"Re: [PATCH 1/2] [Outreachy] gpg-interface: replace strbuf_split with string_list_split","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2025-10-15T15:01:30Z","receivedAt":"2025-10-15T15:01:46Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Wed, Oct 15, 2025 at 4:19 AM Olamide Caleb Bello <belkid98@gmail.com> wrote:\n>\n> get_ssh_finger_print() accepts a signing key and then uses pipe_command\n\n\"pipe_command\" is a function too so it's better to use \"()\" when\ntalking about it like in \"get_ssh_finger_print()\".\n\nIn the commit message subject, if it doesn't make it too long, I think\nit might be better to also use \"()\" when talking about functions.\n\n> to execute the ssh-keygen command, gets its output and sets it in\n> fingerprint_stdout.\n\nAnyway I am not sure we need so many details about what\nget_ssh_finger_print() does before the split.\n\nMaybe saying something like the following is enough:\n\n\"In get_ssh_finger_print(), the output of the `ssh-keygen` command is\nput into `fingerprint_stdout`.\"\n\n> The string in fingerprint_stdout is then split into 3 strbufs using\n> strbuf_split_max(), however they are not modified after the split thereby\n> not making use of the strbuf API as the fingerprint token is merely\n> returned, hence they do not need to be strbufs.\n\nIt might be interesting to say that the fingerprint token is returned\nas a `char *` not a strbuf.\n\n> Use string_list_split instead for simplicity.\n\nHere also using \"()\" could make it clearer that \"string_list_split\" is\na function.\n\n> Note that strbuf_split_max uses 3 to specify the number of tokens to\n\nHere also using \"()\" could help a bit.\n\n> extract from the string, while string_list_split uses 2 because it specifies\n\nHere also using \"()\" could help a bit.\n\n> the number of times the split will be done on the string, so 2 gives 3 tokens\n> as it is in the initial instance.\n\nMaybe: s/initial/original/\n\n> Signed-off-by: Olamide Caleb Bello <belkid98@gmail.com>\n\n[...]\n\n> @@ -845,13 +846,12 @@ static char *get_ssh_key_fingerprint(const char *signing_key)\n>                 die_errno(_(\"failed to get the ssh fingerprint for key '%s'\"),\n>                           signing_key);\n>\n> -       fingerprint = strbuf_split_max(&fingerprint_stdout, ' ', 3);\n> -       if (!fingerprint[1])\n> +       if (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) <= 1)\n\nAccording to its doc, string_list_split() returns the the number of\nsubstrings appended to the list. And you said in the commit message\nthat it should give 3 tokens, so I think the above line should be:\n\nif (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) < 3)\n\nor even:\n\nif (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) != 3)\n\n>                 die_errno(_(\"failed to get the ssh fingerprint for key '%s'\"),\n>                           signing_key);\n\nExcept for the above points, your patch look good to me. Thanks.\n"},{"id":"528821","messageId":"CAP8UFD3zu6DJRRBcSMOQsPQDQcgzSOsqsrMWJH51=VeBkWs+SQ@mail.gmail.com","threadId":"64322","inReplyTo":"d1c20c911637870c3cacfedf763ce508a641710f.1760490943.git.belkid98@gmail.com","subject":"Re: [PATCH 2/2] [Outreachy] gpg-interface: use string_list_split instead of strbuf_split","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2025-10-15T15:28:34Z","receivedAt":"2025-10-15T15:28:48Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Wed, Oct 15, 2025 at 4:19 AM Olamide Caleb Bello <belkid98@gmail.com> wrote:\n>\n> get_default_ssh_signing_key() gets the signing key via the pipe_command and\n\ns/the pipe_command/pipe_command()/\n\n> stores the output in key_stdout.\n\nIt's not very clear from the sentence if the signing key is the output\nor not. Maybe something like:\n\n\"In get_default_ssh_signing_key(), the default ssh signing key is\nretrieved in `key_stdout`, which is then split using\nstrbuf_split_max() into two tokens.\"\n\n> The output string is then split using strbuf_split_max into two tokens at a\n> new line and the first token is returned.\n\nHere also it might be interesting to know that the first token is\nreturned as a `char *`, not a strbuf.\n\n> This makes the function lack the\n> use of strbuf API as no edits was performed on the split tokens.\n\ns/was performed/are performed/\n\n> Replace strbuf_split_max with string_list_split for simplicity.\n\nHere also, using \"()\" could help a bit as it would make it clear that\n\"strbuf_split_max\" and \"string_list_split\" are functions.\n\n> Signed-off-by: Olamide Caleb Bello <belkid98@gmail.com>\n\n> @@ -884,19 +884,15 @@ static char *get_default_ssh_signing_key(void)\n>                            &key_stderr, 0);\n>\n>         if (!ret) {\n> -               keys = strbuf_split_max(&key_stdout, '\\n', 2);\n> -               if (keys[0] && is_literal_ssh_key(keys[0]->buf, &literal_key)) {\n> -                       /*\n> -                        * We only use `is_literal_ssh_key` here to check validity\n> -                        * The prefix will be stripped when the key is used.\n> -                        */\n\nWhy is this comment removed? It's not clear to me that it's not valid anymore.\n\n> -                       default_key = strbuf_detach(keys[0], NULL);\n> +               if (string_list_split(&keys, key_stdout.buf, \"\\n\", 1) > 0 &&\n\nIn the commit message you should explain, like you did for the\nprevious commit, why \"1\" is passed to string_list_split() while \"2\"\nwas passed to strbuf_split_max().\n\nAlso I think that, instead of \"> 0\", the tests should be \">=2\" or \"==\n2\". Or, if an output that contains no new line is valid, then that\nshould be explained in the commit message.\n\n> +                       is_literal_ssh_key(keys.items[0].string, &literal_key)) {\n> +                               default_key = xstrdup(keys.items[0].string);\n\nThanks.\n"},{"id":"528823","messageId":"CAP8UFD1paGeMQZ6oOHau4YBiSC8U3csWHFdOx+ro-8xOO+0wTA@mail.gmail.com","threadId":"64322","inReplyTo":"cover.1760490943.git.belkid98@gmail.com","subject":"Re: [PATCH 0/2] [Outreachy] gpg-interface.c: use string_list_split instead of strbuf_split_max","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2025-10-15T15:40:10Z","receivedAt":"2025-10-15T15:40:24Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Wed, Oct 15, 2025 at 4:19 AM Olamide Caleb Bello <belkid98@gmail.com> wrote:\n>\n> The array of strbufs that calls to strbuf_split_max provides are merely\n> used to store the list of tokens gotten from the split and no edit are\n> done on these resulting splits making the strbuf_split_max unideal\n> for this usecase.\n>\n> This patchset replaces these instances with the modern string_list_split\n\nA cover letter like this should be used to provide broad context for\nthe changes. So if there are there patch series or merged commits that\nstarted doing something similar, it would be a good idea to mention\nthem or give a link. (To properly mention a commit, you can use\nsomething like: `git show -s --pretty=\"tformat:%h (%s, %ad)\"\n--date=short <commit>`.) If there are mailing list discussions were\nthe topic was discussed, it could be interesting to mention and link\nthem too.\n\nThanks.\n"},{"id":"528862","messageId":"CAD=f0L_Jb8Fx9k8fU70qJKMw4oQh23f5H-BbQg-WrnSfsCTfAQ@mail.gmail.com","threadId":"64322","inReplyTo":"CAP8UFD1U07T8_nX+sSL6ZHhCQsQuy5PwfQfbHC5piC5W5T=7Cw@mail.gmail.com","subject":"Re: [PATCH 1/2] [Outreachy] gpg-interface: replace strbuf_split with string_list_split","fromName":"Bello Olamide","fromEmail":"belkid98@gmail.com","sentAt":"2025-10-15T21:56:09Z","receivedAt":"2025-10-15T21:56:09Z","isPatch":true,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"On Wed, 15 Oct 2025 at 16:01, Christian Couder\n<christian.couder@gmail.com> wrote:\n>\n> On Wed, Oct 15, 2025 at 4:19 AM Olamide Caleb Bello <belkid98@gmail.com> wrote:\n> >\n> > get_ssh_finger_print() accepts a signing key and then uses pipe_command\n>\n> \"pipe_command\" is a function too so it's better to use \"()\" when\n> talking about it like in \"get_ssh_finger_print()\".\n>\n> In the commit message subject, if it doesn't make it too long, I think\n> it might be better to also use \"()\" when talking about functions.\n>\n> > to execute the ssh-keygen command, gets its output and sets it in\n> > fingerprint_stdout.\n>\n> Anyway I am not sure we need so many details about what\n> get_ssh_finger_print() does before the split.\n>\n> Maybe saying something like the following is enough:\n>\n> \"In get_ssh_finger_print(), the output of the `ssh-keygen` command is\n> put into `fingerprint_stdout`.\"\n>\n> > The string in fingerprint_stdout is then split into 3 strbufs using\n> > strbuf_split_max(), however they are not modified after the split thereby\n> > not making use of the strbuf API as the fingerprint token is merely\n> > returned, hence they do not need to be strbufs.\n>\n> It might be interesting to say that the fingerprint token is returned\n> as a `char *` not a strbuf.\n>\n> > Use string_list_split instead for simplicity.\n>\n> Here also using \"()\" could make it clearer that \"string_list_split\" is\n> a function.\n>\n> > Note that strbuf_split_max uses 3 to specify the number of tokens to\n>\n> Here also using \"()\" could help a bit.\n>\n> > extract from the string, while string_list_split uses 2 because it specifies\n>\n> Here also using \"()\" could help a bit.\n>\n> > the number of times the split will be done on the string, so 2 gives 3 tokens\n> > as it is in the initial instance.\n>\n> Maybe: s/initial/original/\n\nThank you very much for your review, I make the adjustments.\n>\n> > Signed-off-by: Olamide Caleb Bello <belkid98@gmail.com>\n>\n> [...]\n>\n> > @@ -845,13 +846,12 @@ static char *get_ssh_key_fingerprint(const char *signing_key)\n> >                 die_errno(_(\"failed to get the ssh fingerprint for key '%s'\"),\n> >                           signing_key);\n> >\n> > -       fingerprint = strbuf_split_max(&fingerprint_stdout, ' ', 3);\n> > -       if (!fingerprint[1])\n> > +       if (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) <= 1)\n>\n> According to its doc, string_list_split() returns the the number of\n> substrings appended to the list. And you said in the commit message\n> that it should give 3 tokens, so I think the above line should be:\n>\n> if (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) < 3)\n>\n> or even:\n>\n> if (string_list_split(&split, fingerprint_stdout.buf, \" \", 2) != 3)\n>\n\nOkay, thank you very much Christian.\nMy thinking here is that after the split, it is expected that the\nfingerprint token\nwill be at index 1 in the list so string_list_split() must append at\nleast 2 tokens.\nso if it appends 1 token or none, I assume the fingerprint was not set\nin the list.\n\nI agree that < 3or != 3 is a better approach.\nThank you.\n> >                 die_errno(_(\"failed to get the ssh fingerprint for key '%s'\"),\n> >                           signing_key);\n>\n> Except for the above points, your patch look good to me. Thanks.\n"},{"id":"528863","messageId":"CAD=f0L90FjPs1R_s70gvbOMqG=H45wVj9n6g9vGTq_Xvt90E3g@mail.gmail.com","threadId":"64322","inReplyTo":"CAP8UFD3zu6DJRRBcSMOQsPQDQcgzSOsqsrMWJH51=VeBkWs+SQ@mail.gmail.com","subject":"Re: [PATCH 2/2] [Outreachy] gpg-interface: use string_list_split instead of strbuf_split","fromName":"Bello Olamide","fromEmail":"belkid98@gmail.com","sentAt":"2025-10-15T22:02:59Z","receivedAt":"2025-10-15T22:02:59Z","isPatch":true,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"On Wed, 15 Oct 2025 at 16:28, Christian Couder\n<christian.couder@gmail.com> wrote:\n>\n> On Wed, Oct 15, 2025 at 4:19 AM Olamide Caleb Bello <belkid98@gmail.com> wrote:\n> >\n> > get_default_ssh_signing_key() gets the signing key via the pipe_command and\n>\n> s/the pipe_command/pipe_command()/\n>\n> > stores the output in key_stdout.\n>\n> It's not very clear from the sentence if the signing key is the output\n> or not. Maybe something like:\n>\n> \"In get_default_ssh_signing_key(), the default ssh signing key is\n> retrieved in `key_stdout`, which is then split using\n> strbuf_split_max() into two tokens.\"\n\nThank you. This is much better. I struggled a bit to get the right wording.\n>\n> > The output string is then split using strbuf_split_max into two tokens at a\n> > new line and the first token is returned.\n>\n> Here also it might be interesting to know that the first token is\n> returned as a `char *`, not a strbuf.\n>\n> > This makes the function lack the\n> > use of strbuf API as no edits was performed on the split tokens.\n>\n> s/was performed/are performed/\n>\n> > Replace strbuf_split_max with string_list_split for simplicity.\n>\n> Here also, using \"()\" could help a bit as it would make it clear that\n> \"strbuf_split_max\" and \"string_list_split\" are functions.\n>\n> > Signed-off-by: Olamide Caleb Bello <belkid98@gmail.com>\n>\n> > @@ -884,19 +884,15 @@ static char *get_default_ssh_signing_key(void)\n> >                            &key_stderr, 0);\n> >\n> >         if (!ret) {\n> > -               keys = strbuf_split_max(&key_stdout, '\\n', 2);\n> > -               if (keys[0] && is_literal_ssh_key(keys[0]->buf, &literal_key)) {\n> > -                       /*\n> > -                        * We only use `is_literal_ssh_key` here to check validity\n> > -                        * The prefix will be stripped when the key is used.\n> > -                        */\n>\n> Why is this comment removed? It's not clear to me that it's not valid anymore.\n>\n> > -                       default_key = strbuf_detach(keys[0], NULL);\n> > +               if (string_list_split(&keys, key_stdout.buf, \"\\n\", 1) > 0 &&\n>\n> In the commit message you should explain, like you did for the\n> previous commit, why \"1\" is passed to string_list_split() while \"2\"\n> was passed to strbuf_split_max().\n>\n> Also I think that, instead of \"> 0\", the tests should be \">=2\" or \"==\n> 2\". Or, if an output that contains no new line is valid, then that\n> should be explained in the commit message.\n\nThank you very much.\nI will make corrections\n>\n> > +                       is_literal_ssh_key(keys.items[0].string, &literal_key)) {\n> > +                               default_key = xstrdup(keys.items[0].string);\n>\n> Thanks.\n"},{"id":"528864","messageId":"CAD=f0L-QmCA1EEXAWMQhsdXhQkwLkBi2VOZ53OE6wwNKpW57=A@mail.gmail.com","threadId":"64322","inReplyTo":"CAP8UFD1paGeMQZ6oOHau4YBiSC8U3csWHFdOx+ro-8xOO+0wTA@mail.gmail.com","subject":"Re: [PATCH 0/2] [Outreachy] gpg-interface.c: use string_list_split instead of strbuf_split_max","fromName":"Bello Olamide","fromEmail":"belkid98@gmail.com","sentAt":"2025-10-15T22:05:20Z","receivedAt":"2025-10-15T22:05:20Z","isPatch":true,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"On Wed, 15 Oct 2025 at 16:40, Christian Couder\n<christian.couder@gmail.com> wrote:\n>\n> On Wed, Oct 15, 2025 at 4:19 AM Olamide Caleb Bello <belkid98@gmail.com> wrote:\n> >\n> > The array of strbufs that calls to strbuf_split_max provides are merely\n> > used to store the list of tokens gotten from the split and no edit are\n> > done on these resulting splits making the strbuf_split_max unideal\n> > for this usecase.\n> >\n> > This patchset replaces these instances with the modern string_list_split\n>\n> A cover letter like this should be used to provide broad context for\n> the changes. So if there are there patch series or merged commits that\n> started doing something similar, it would be a good idea to mention\n> them or give a link. (To properly mention a commit, you can use\n> something like: `git show -s --pretty=\"tformat:%h (%s, %ad)\"\n> --date=short <commit>`.) If there are mailing list discussions were\n> the topic was discussed, it could be interesting to mention and link\n> them too.\n>\n> Thanks.\n\nOkay this is noted too.\nThank you very much for the feedback.\n\nBello\n"}]}