On 7/9/18 9:48 AM, Jesus Sanchez-Palencia wrote:
> Hi David,
> 
> 
> On 07/06/2018 08:58 AM, David Ahern wrote:
>> On 7/5/18 4:42 PM, Jesus Sanchez-Palencia wrote:
>>
>>> +static int get_clockid(__s32 *val, const char *arg)
>>> +{
>>> +   const struct static_clockid {
>>> +           const char *name;
>>> +           clockid_t clockid;
>>> +   } clockids_sysv[] = {
>>> +           { "CLOCK_REALTIME", CLOCK_REALTIME },
>>> +           { "CLOCK_TAI", CLOCK_TAI },
>>> +           { "CLOCK_BOOTTIME", CLOCK_BOOTTIME },
>>> +           { "CLOCK_MONOTONIC", CLOCK_MONOTONIC },
>>> +           { NULL }
>>> +   };
>>> +
>>> +   const struct static_clockid *c;
>>> +
>>> +   for (c = clockids_sysv; c->name; c++) {
>>> +           if (strncasecmp(c->name, arg, 25) == 0) {
>>
>> Why 25?
> 
> 
> That was just an upper bound giving some room beyond the longest
> clockid name we have today. Should I add a define MAX_CLOCK_NAME ?

why not just strcasecmp? using the 'n' variant with n > strlen of either
argument seems pointless.

> 
> 
>>
>> be nice to allow shortcuts -- e.g., just REALTIME or realtime.
> 
> 
> I'd rather just keep it as is and use the names as they are defined for
> everything else (i.e. CLOCK_REALTIME), unless there are some strong 
> objections.

An all caps argument is unnecessary work on the pinky finger and the
CLOCK_ prefix is redundant to the keyword. Really, just a thought on
making it easier for users. A CLI argument does not need to maintain a
1:1 with code names.

Reply via email to