Stefan Beller <sbel...@google.com> writes:

>  
> +static int starts_with_emptyline(const char *recs)
> +{
> +     return recs[0] == '\n'; /* CRLF not covered here */
> +}
> +
> +

That's "is-empty-line", not "starts-with" ;-)

> +
> +             /*
> +              * If a group can be moved back and forth, see if there is an
> +              * empty line in the moving space. If there is an empty line,
> +              * make sure the last empty line is the end of the group.
> +              *
> +              * As we shifted the group forward as far as possible, we only
> +              * need to shift it back if at all.
> +              */

Sounds sensible.

> +             if (has_emptyline) {
> +                     while (ixs > 0 && recs[ixs - 1]->ha == recs[ix - 1]->ha 
> &&
> +                            xdl_recmatch(recs[ixs - 1]->ptr, recs[ixs - 
> 1]->size, recs[ix - 1]->ptr, recs[ix - 1]->size, flags) &&
> +                            !starts_with_emptyline(recs[ix - 1]->ptr)) {

You probably want to wrap the "hash compares equal and recmatch does
say they are the same" into a helper function (to be automatically
inlined by the compiler) to make it more readable here.  I think
is-empty is a lot cheaper than the recmatch so that should probably
be done earlier in the && chain.

> +                             rchg[--ixs] = 1;
> +                             rchg[--ix] = 0;
> +
> +                             /*
> +                              * This change did not join two change groups,
> +                              * as we did that before already, so there is no

Sorry, cannot quite parse the part before "already".

> +                              * need to adapt the other-file, i.e.
> +                              * running
> +                              *     for (; rchg[ixs - 1]; ixs--);
> +                              *     while (rchgo[--ixo]);
> +                              */
> +                     }
> +             }
>       }
>  
>       return 0;
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to