On Fri, 2010-12-03 at 12:03 -0600, Michael Roth wrote: > +/* va_getdmesg(): return dmesg output > + * rpc return values: > + * - dmesg output as a string > + */ > +static xmlrpc_value *va_getdmesg(xmlrpc_env *env, > + xmlrpc_value *param, > + void *user_data) > +{ > + char *dmesg_buf = NULL, cmd[256]; > + int ret; > + xmlrpc_value *result = NULL; > + FILE *pipe; > + > + SLOG("va_getdmesg()"); > + > + dmesg_buf = qemu_mallocz(VA_DMESG_LEN + 2048); > + sprintf(cmd, "dmesg -s %d", VA_DMESG_LEN); > + > + pipe = popen(cmd, "r"); > + if (pipe == NULL) { > + LOG("popen failed: %s", strerror(errno)); > + xmlrpc_faultf(env, "popen failed: %s", strerror(errno)); > + goto EXIT_NOCLOSE; > + } > + > + ret = fread(dmesg_buf, sizeof(char), VA_DMESG_LEN, pipe); > + if (!ferror(pipe)) { > + dmesg_buf[ret] = '\0'; > + TRACE("dmesg:\n%s", dmesg_buf); > + result = xmlrpc_build_value(env, "s", dmesg_buf); > + } else { > + LOG("fread failed"); > + xmlrpc_faultf(env, "popen failed: %s", strerror(errno)); > + } > + > + pclose(pipe); > +EXIT_NOCLOSE:
I think goto labels are supposed to be lower-case. -- Thanks, Adam