 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/6] libxl: debug output for args and env when invoking hotplug script
 Wei Liu writes ("[PATCH 4/6] libxl: debug output for args and env when invoking 
hotplug script"):
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
...
> +        const char *arg;
> +        unsigned int x = 2;
> +
> +        arg = args[x];
> +        while (arg) {
> +            LOG(DEBUG, "\t%s", arg);
> +            x++;
> +            arg = args[x];
> +        }
What a strange way to write
   for (x=2; (arg = args[x]); x++) {
or
   for (x=2; (arg = args[x++]); ) {
or
   x = 2;
   while ((arg = args[x++])) {
If you really insist on not doing assignment in the conditional (which
IMO is a very usual C idiom) then you should avoid the repeated code
with
   x = 2;
   for (;;) {
      arg = args[x++];
      if (!arg) break;
or some such.
> +        const char *k, *v;
> +        unsigned int x = 0;
> +
> +        k = env[x];
> +        while (k) {
> +            v = env[x+1];
> +            LOG(DEBUG, "\t%s: %s", k, v);
> +            x += 2;
> +            k = env[x];
> +        }
How about one of
   for (x=0; (k = env[x]); x += 2) {
       v = env[x+1];
   for (x=0; (k = env[x]) && (v = env[x+1]); x += 2) {
   for (x=0; (k = env[x++]) && (v = env[x++]); ) {
   x = 0;
   while ((k = env[x++])) {
       v = env[x++];
       assert(v);
?
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |