Subject: Re: [RFC/PATCH 1/6] revert: libify cherry-pick and revert functionnality

From: Stephen Boyd <[email-masked]>
Date: Wed, 03 Feb 2010 08:40:40 -0800

On 01/31/2010 11:55 PM, Christian Couder wrote:
> +	if (flags&  PICK_REVERSE) {
> +		char *oneline_body = strchr(oneline, ' ');
> +
> +		base = commit;
> +		next = parent;
> +		strbuf_addstr(msg, "Revert \"");
> +		strbuf_addstr(msg, oneline_body + 1);
>    

Why not do the oneline_body + 1 during the strchr()? Seems like 
oneline_body is pointing to before the actual string we want.

> +		for (i = 0; i<  active_nr;) {
> +			struct cache_entry *ce = active_cache[i++];
> +			if (ce_stage(ce)) {
> +				strbuf_addstr(msg, "\t");
> +				strbuf_addstr(msg, ce->name);
> +				strbuf_addstr(msg, "\n");
>    

use strbuf_addch() for characters.

--->8----

diff --git a/pick.c b/pick.c
index bb04c68..1e1628a 100644
--- a/pick.c
+++ b/pick.c
@@ -145,12 +145,12 @@ int pick_commit(struct commit *pick_commit, int mainline,
         oneline = get_oneline(message);

         if (flags&  PICK_REVERSE) {
-               char *oneline_body = strchr(oneline, ' ');
+               char *oneline_body = strchr(oneline, ' ') + 1;

                 base = commit;
                 next = parent;
                 strbuf_addstr(msg, "Revert \"");
-               strbuf_addstr(msg, oneline_body + 1);
+               strbuf_addstr(msg, oneline_body);
                 strbuf_addstr(msg, "\"\n\nThis reverts commit ");
                 strbuf_addstr(msg, sha1_to_hex(commit->object.sha1));

@@ -196,9 +196,9 @@ int pick_commit(struct commit *pick_commit, int mainline, in
                 for (i = 0; i<  active_nr;) {
                         struct cache_entry *ce = active_cache[i++];
                         if (ce_stage(ce)) {
-                               strbuf_addstr(msg, "\t");
+                               strbuf_addch(msg, '\t');
                                 strbuf_addstr(msg, ce->name);
-                               strbuf_addstr(msg, "\n");
+                               strbuf_addch(msg, '\n');
                                 while (i<  active_nr&&  !strcmp(ce->name,
                                                 active_cache[i]->name))
                                         i++;