Re: [PATCH] fsck.c:fsck_commit() use starts_with() and skip_prefix()
On Tue, Mar 18, 2014 at 7:09 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 18 quoted lines
>> diff --git a/fsck.c b/fsck.c
>> index 64bf279..5eae856 100644
>> --- a/fsck.c
>> +++ b/fsck.c
>> @@ -290,7 +290,7 @@ static int fsck_commit(struct commit *commit, fsck_error error_func)
>> int parents = 0;
>> int err;
>>
>> - if (memcmp(buffer, "tree ", 5))
>> + if (starts_with(buffer, "tree "))
>> return error_func(&commit->object, FSCK_ERROR, "invalid format - expected 'tree' line");
>> if (get_sha1_hex(buffer+5, tree_sha1) || buffer[45] != '\n')
>
> One of the reasons for using starts_with() rather than memcmp() is
> that it allows you to eliminate magic numbers, such as 5. However, if
> you look closely at this code fragment, you will see that the magic
> number is still present in the expression 'buffer+5'. starts_with(),
> might be a better fit.
Of course, I meant "skip_prefix() might be a better fit".