On Friday 17 August 2012 16:49:44 Joe Hershberger wrote:
> --- a/common/cmd_nvedit.c
> +++ b/common/cmd_nvedit.c
>
> +#if defined(CONFIG_ENV_ACL)
> +#include <env_acl.h>
> +#endif

the header should not need protection just to be included

> +#ifdef CONFIG_ENV_ACL
> +     if (env_acl_validate_env_set_params(argc, argv) < 0)
> +             return 1;
> +#endif

have the header define env_acl_validate_env_set_params() as a return 0 static 
inline func when CONFIG_ENV_ACL isn't defined and then you can drop the ifdef 
here

> --- /dev/null
> +++ b/common/env_acl.c
>
> + * (C) Copyright 2010

fwiw, it's 2012 now

> +static int _env_acl_lookup_r(const char *name, char *attributes, int
> static_acl)
> ...
> +     entry = strstr(acl, name);
> +     while (entry != NULL) {
> +             if ((entry == acl || *(entry - 1) == ENV_ACL_LIST_DELIM ||
> +                 *(entry - 1) == ' ') &&
> +                 (*(entry + strlen(name)) == ENV_ACL_ATTR_SEP ||
> +                  *(entry + strlen(name)) == ENV_ACL_LIST_DELIM ||
> +                  *(entry + strlen(name)) == '\0' ||
> +                  *(entry + strlen(name)) == ' '))
> +                     break;

is that strlen optimized away ?  i suspect not.  and even if it is, the 
duplication here is kind of ugly, so it'd be better to use a local var 
anyways.
        const char *acl_val = entry + strlen(name);

> +static int env_acl_lookup_r(const char *name, char *attributes)
> +{
> +     int ret_val;
> +     /* try the env first */
> +     ret_val = _env_acl_lookup_r(name, attributes, 0);
> +     if (ret_val != 0) {
> +             /* if not found in the env, look in the static list */
> +             ret_val = _env_acl_lookup_r(name, attributes, 1);
> +     }
> +     return ret_val;
> +}
> +
> +enum env_acl_var_type env_acl_get_type(const char *name)
> +{
> +     char *type;

const

> +static void skip_num(int hex, const char *value, const char **end,
> +     int max_digits)
> +{
> +     int i;
> +
> +     if (hex && is_hex_prefix(value))
> +             value += 2;
> +
> +     for (i = max_digits; i != 0; i--) {
> +             if (hex && !isxdigit(*value))
> +                     break;
> +             if (!hex && !isdigit(*value))
> +                     break;
> +             value++;
> +     }
> +     if (end != NULL)
> +             *end = value;
> +}

couldn't you use strtol and abuse the endptr field ?

> --- a/tools/env/fw_env.h
> +++ b/tools/env/fw_env.h
> 
> +#define min(x, y) ({                         \
> +     typeof(x) _min1 = (x);                  \
> +     typeof(y) _min2 = (y);                  \
> +     (void) (&_min1 == &_min2);              \
> +     _min1 < _min2 ? _min1 : _min2; })

ugh, no.  use include/compiler.h.  you might want to look at the min/max 
already defined in include/common.h rather than duplicating another one 
locally.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to