Re: [PATCH] Avoid recalculating filename string pointer.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike Hommey <mh@xxxxxxxxxxxx> writes:

> On Wed, Nov 21, 2007 at 10:59:41PM -0200, André Goddard Rosa wrote:
>> --- a/fast-import.c
>> +++ b/fast-import.c
>> @@ -2304,11 +2304,13 @@ int main(int argc, const char **argv)
>>  		else if (!prefixcmp(a, "--export-marks="))
>>  			mark_file = a + 15;
>>  		else if (!prefixcmp(a, "--export-pack-edges=")) {
>> +			char *filename = a + 20;
>> +
>>  			if (pack_edges)
>>  				fclose(pack_edges);
>> -			pack_edges = fopen(a + 20, "a");
>> +			pack_edges = fopen(filename, "a");
>>  			if (!pack_edges)
>> -				die("Cannot open %s: %s", a + 20, strerror(errno));
>> +				die("Cannot open %s: %s", filename, strerror(errno));
>>  		} else if (!strcmp(a, "--force"))
>>  			force_update = 1;
>>  		else if (!strcmp(a, "--quiet"))
>
> Normally, the compiler takes care of such optimizations. It actually
> takes care of it much better than you can do yourself, and doing it
> yourself can even sometimes generate less optimized code because it
> gets in the compiler optimizations'way.

True, but I think another point of the patch is to address the
risk of two instances of "+ 20" going out of sync if/when the
option parsing is updated.

Not that I think André meant the patch as defensive coding (the
subject suggests it was meant to be a micro-optimization), nor
this is the good way to address that risk factor (parse-options
may be a better match for it).

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux