|
[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 |