Message ID | 1377359178-22449-1-git-send-email-colin.king@canonical.com |
---|---|
State | Accepted |
Headers | show |
On 08/24/2013 11:46 PM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The path is redundant and removing it simplifies the fwts_dump helper > functions. Also just check that the destination directory has write > access rather than just using F_OK. > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/lib/include/fwts_dump.h | 2 +- > src/lib/src/fwts_dump.c | 68 ++++++++++++++++++-------------------------- > src/lib/src/fwts_framework.c | 4 +-- > 3 files changed, 31 insertions(+), 43 deletions(-) > > diff --git a/src/lib/include/fwts_dump.h b/src/lib/include/fwts_dump.h > index 6dcc29d..bebc773 100644 > --- a/src/lib/include/fwts_dump.h > +++ b/src/lib/include/fwts_dump.h > @@ -22,6 +22,6 @@ > > #include "fwts.h" > > -int fwts_dump_info(fwts_framework *fw, const char *path); > +int fwts_dump_info(fwts_framework *fw); > > #endif > diff --git a/src/lib/src/fwts_dump.c b/src/lib/src/fwts_dump.c > index f3ccc15..532ff58 100644 > --- a/src/lib/src/fwts_dump.c > +++ b/src/lib/src/fwts_dump.c > @@ -21,12 +21,9 @@ > #include <stdlib.h> > #include <stdio.h> > #include <string.h> > -#include <limits.h> > #include <time.h> > +#include <limits.h> > #include <sys/klog.h> > -#include <sys/stat.h> > -#include <sys/types.h> > -#include <sys/stat.h> > > #include "fwts.h" > > @@ -38,13 +35,11 @@ > * dump_data() > * dump to path/filename a chunk of data of length len > */ > -static int dump_data(const char *path, const char *filename, char *data, const size_t len) > +static int dump_data(const char *filename, char *data, const size_t len) > { > FILE *fp; > - char name[PATH_MAX]; > > - snprintf(name, sizeof(name), "%s/%s", path, filename); > - if ((fp = fopen(name, "w")) == NULL) > + if ((fp = fopen(filename, "w")) == NULL) > return FWTS_ERROR; > > if ((fwrite(data, sizeof(char), len, fp) != len)) { > @@ -60,7 +55,7 @@ static int dump_data(const char *path, const char *filename, char *data, const s > * dump_dmesg() > * read kernel log, dump to path/filename > */ > -static int dump_dmesg(const char *path, const char *filename) > +static int dump_dmesg(void) > { > int len; > char *data; > @@ -76,7 +71,7 @@ static int dump_dmesg(const char *path, const char *filename) > free(data); > return FWTS_ERROR; > } > - ret = dump_data(path, filename, data, strlen(data)); > + ret = dump_data("dmesg.log", data, strlen(data)); > > free(data); > > @@ -88,7 +83,7 @@ static int dump_dmesg(const char *path, const char *filename) > * dump_exec() > * Execute command, dump output to path/filename > */ > -static int dump_exec(const char *path, const char *filename, const char *command) > +static int dump_exec(const char *filename, const char *command) > { > int fd; > pid_t pid; > @@ -106,7 +101,7 @@ static int dump_exec(const char *path, const char *filename, const char *command > > fwts_pipe_close(fd, pid); > > - ret = dump_data(path, filename, data, len); > + ret = dump_data(filename, data, len); > > free(data); > > @@ -118,11 +113,11 @@ static int dump_exec(const char *path, const char *filename, const char *command > * dump_dmidecode() > * run dmidecode, dump output to path/filename > */ > -static int dump_dmidecode(fwts_framework *fw, const char *path, const char *filename) > +static int dump_dmidecode(fwts_framework *fw) > { > FWTS_UNUSED(fw); > > - return dump_exec(path, filename, FWTS_DMIDECODE_PATH); > + return dump_exec("dmidecode.log", FWTS_DMIDECODE_PATH); > } > #endif > > @@ -130,13 +125,13 @@ static int dump_dmidecode(fwts_framework *fw, const char *path, const char *file > * dump_lspci() > * run lspci, dump output to path/filename > */ > -static int dump_lspci(fwts_framework *fw, const char *path, const char *filename) > +static int dump_lspci(fwts_framework *fw) > { > char command[1024]; > > snprintf(command, sizeof(command), "%s -vv -nn", fw->lspci); > > - return dump_exec(path, filename, command); > + return dump_exec("lspci.log", command); > } > > #ifdef FWTS_ARCH_INTEL > @@ -165,14 +160,12 @@ static int dump_acpi_table(fwts_acpi_table_info *table, FILE *fp) > * dump_acpi_tables() > * hex dump all ACPI tables > */ > -static int dump_acpi_tables(fwts_framework *fw, const char *path) > +static int dump_acpi_tables(fwts_framework *fw) > { > - char filename[PATH_MAX]; > FILE *fp; > int i; > > - snprintf(filename, sizeof(filename), "%s/acpidump.log", path); > - if ((fp = fopen(filename, "w")) == NULL) > + if ((fp = fopen("acpidump.log", "w")) == NULL) > return FWTS_ERROR; > > for (i=0;;i++) { > @@ -198,18 +191,15 @@ static int dump_acpi_tables(fwts_framework *fw, const char *path) > * dump_readme() > * dump README file containing some system info > */ > -static int dump_readme(const char *path) > +static int dump_readme(void) > { > - char filename[PATH_MAX]; > time_t now = time(NULL); > struct tm *tm = localtime(&now); > FILE *fp; > char *str; > int len; > > - snprintf(filename, sizeof(filename), "%s/README.txt", path); > - > - if ((fp = fopen(filename, "w")) == NULL) > + if ((fp = fopen("README.txt", "w")) == NULL) > return FWTS_ERROR; > > str = asctime(tm); > @@ -239,50 +229,48 @@ static int dump_readme(const char *path) > * kernel log, dmidecode output, lspci output, > * ACPI tables > */ > -int fwts_dump_info(fwts_framework *fw, const char *path) > +int fwts_dump_info(fwts_framework *fw) > { > + char path[PATH_MAX+1]; > #ifdef FWTS_ARCH_INTEL > bool root_priv = (fwts_check_root_euid(fw, false) == FWTS_OK); > #endif > + if (getcwd(path, PATH_MAX) == NULL) > + strcpy(path, "./"); > > - if (path == NULL) > - path = "./"; > - > - if (access(path, F_OK) != 0) { > - if (mkdir(path, 0777) < 0) { > - fprintf(stderr, "Cannot mkdir %s.\n", path); > - return FWTS_ERROR; > - } > + if (access(path, W_OK) < 0) { > + fprintf(stderr, "No write access to %s.\n", path); > + return FWTS_ERROR; > } > > - if (dump_readme(path) != FWTS_OK) > + if (dump_readme() != FWTS_OK) > fprintf(stderr, "Failed to dump README.txt.\n"); > else > printf("Created README.txt\n"); > > - if (dump_dmesg(path, "dmesg.log") != FWTS_OK) > + if (dump_dmesg() != FWTS_OK) > fprintf(stderr, "Failed to dump kernel log.\n"); > else > printf("Dumping dmesg to dmesg.log\n"); > > #ifdef FWTS_ARCH_INTEL > if (root_priv) { > - if (dump_dmidecode(fw, path, "dmidecode.log") != FWTS_OK) > + if (dump_dmidecode(fw) != FWTS_OK) > fprintf(stderr, "Failed to dump output from dmidecode.\n"); > else > printf("Dumped DMI data to dmidecode.log\n"); > - } else > + } else > fprintf(stderr, "Need root privilege to dump DMI tables.\n"); > #endif > > - if (dump_lspci(fw, path, "lspci.log") != FWTS_OK) > + if (dump_lspci(fw) != FWTS_OK) > fprintf(stderr, "Failed to dump output from lspci.\n"); > else > printf("Dumped lspci data to lspci.log\n"); > > #ifdef FWTS_ARCH_INTEL > if (root_priv) { > - if (dump_acpi_tables(fw, path) != FWTS_OK) > + if (dump_acpi_tables(fw) != FWTS_OK) > fprintf(stderr, "Failed to dump ACPI tables.\n"); > else > printf("Dumped ACPI tables to acpidump.log\n"); > diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c > index 1581681..95d581e 100644 > --- a/src/lib/src/fwts_framework.c > +++ b/src/lib/src/fwts_framework.c > @@ -1052,7 +1052,7 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar > fwts_framework_show_version(stdout, argv[0]); > return FWTS_COMPLETE; > case 16: /* --dump */ > - fwts_dump_info(fw, NULL); > + fwts_dump_info(fw); > return FWTS_COMPLETE; > case 17: /* --table-path */ > fwts_framework_strdup(&fw->acpi_table_path, optarg); > @@ -1139,7 +1139,7 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar > fw->flags |= FWTS_FLAG_BATCH; > break; > case 'd': /* --dump */ > - fwts_dump_info(fw, NULL); > + fwts_dump_info(fw); > return FWTS_COMPLETE; > case 'D': /* --show-progress-dialog */ > fw->flags = (fw->flags & > Acked-by: Alex Hung <alex.hung@canonical.com>
On 08/24/2013 11:46 PM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The path is redundant and removing it simplifies the fwts_dump helper > functions. Also just check that the destination directory has write > access rather than just using F_OK. > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/lib/include/fwts_dump.h | 2 +- > src/lib/src/fwts_dump.c | 68 ++++++++++++++++++-------------------------- > src/lib/src/fwts_framework.c | 4 +-- > 3 files changed, 31 insertions(+), 43 deletions(-) > > diff --git a/src/lib/include/fwts_dump.h b/src/lib/include/fwts_dump.h > index 6dcc29d..bebc773 100644 > --- a/src/lib/include/fwts_dump.h > +++ b/src/lib/include/fwts_dump.h > @@ -22,6 +22,6 @@ > > #include "fwts.h" > > -int fwts_dump_info(fwts_framework *fw, const char *path); > +int fwts_dump_info(fwts_framework *fw); > > #endif > diff --git a/src/lib/src/fwts_dump.c b/src/lib/src/fwts_dump.c > index f3ccc15..532ff58 100644 > --- a/src/lib/src/fwts_dump.c > +++ b/src/lib/src/fwts_dump.c > @@ -21,12 +21,9 @@ > #include <stdlib.h> > #include <stdio.h> > #include <string.h> > -#include <limits.h> > #include <time.h> > +#include <limits.h> > #include <sys/klog.h> > -#include <sys/stat.h> > -#include <sys/types.h> > -#include <sys/stat.h> > > #include "fwts.h" > > @@ -38,13 +35,11 @@ > * dump_data() > * dump to path/filename a chunk of data of length len > */ > -static int dump_data(const char *path, const char *filename, char *data, const size_t len) > +static int dump_data(const char *filename, char *data, const size_t len) > { > FILE *fp; > - char name[PATH_MAX]; > > - snprintf(name, sizeof(name), "%s/%s", path, filename); > - if ((fp = fopen(name, "w")) == NULL) > + if ((fp = fopen(filename, "w")) == NULL) > return FWTS_ERROR; > > if ((fwrite(data, sizeof(char), len, fp) != len)) { > @@ -60,7 +55,7 @@ static int dump_data(const char *path, const char *filename, char *data, const s > * dump_dmesg() > * read kernel log, dump to path/filename > */ > -static int dump_dmesg(const char *path, const char *filename) > +static int dump_dmesg(void) > { > int len; > char *data; > @@ -76,7 +71,7 @@ static int dump_dmesg(const char *path, const char *filename) > free(data); > return FWTS_ERROR; > } > - ret = dump_data(path, filename, data, strlen(data)); > + ret = dump_data("dmesg.log", data, strlen(data)); > > free(data); > > @@ -88,7 +83,7 @@ static int dump_dmesg(const char *path, const char *filename) > * dump_exec() > * Execute command, dump output to path/filename > */ > -static int dump_exec(const char *path, const char *filename, const char *command) > +static int dump_exec(const char *filename, const char *command) > { > int fd; > pid_t pid; > @@ -106,7 +101,7 @@ static int dump_exec(const char *path, const char *filename, const char *command > > fwts_pipe_close(fd, pid); > > - ret = dump_data(path, filename, data, len); > + ret = dump_data(filename, data, len); > > free(data); > > @@ -118,11 +113,11 @@ static int dump_exec(const char *path, const char *filename, const char *command > * dump_dmidecode() > * run dmidecode, dump output to path/filename > */ > -static int dump_dmidecode(fwts_framework *fw, const char *path, const char *filename) > +static int dump_dmidecode(fwts_framework *fw) > { > FWTS_UNUSED(fw); > > - return dump_exec(path, filename, FWTS_DMIDECODE_PATH); > + return dump_exec("dmidecode.log", FWTS_DMIDECODE_PATH); > } > #endif > > @@ -130,13 +125,13 @@ static int dump_dmidecode(fwts_framework *fw, const char *path, const char *file > * dump_lspci() > * run lspci, dump output to path/filename > */ > -static int dump_lspci(fwts_framework *fw, const char *path, const char *filename) > +static int dump_lspci(fwts_framework *fw) > { > char command[1024]; > > snprintf(command, sizeof(command), "%s -vv -nn", fw->lspci); > > - return dump_exec(path, filename, command); > + return dump_exec("lspci.log", command); > } > > #ifdef FWTS_ARCH_INTEL > @@ -165,14 +160,12 @@ static int dump_acpi_table(fwts_acpi_table_info *table, FILE *fp) > * dump_acpi_tables() > * hex dump all ACPI tables > */ > -static int dump_acpi_tables(fwts_framework *fw, const char *path) > +static int dump_acpi_tables(fwts_framework *fw) > { > - char filename[PATH_MAX]; > FILE *fp; > int i; > > - snprintf(filename, sizeof(filename), "%s/acpidump.log", path); > - if ((fp = fopen(filename, "w")) == NULL) > + if ((fp = fopen("acpidump.log", "w")) == NULL) > return FWTS_ERROR; > > for (i=0;;i++) { > @@ -198,18 +191,15 @@ static int dump_acpi_tables(fwts_framework *fw, const char *path) > * dump_readme() > * dump README file containing some system info > */ > -static int dump_readme(const char *path) > +static int dump_readme(void) > { > - char filename[PATH_MAX]; > time_t now = time(NULL); > struct tm *tm = localtime(&now); > FILE *fp; > char *str; > int len; > > - snprintf(filename, sizeof(filename), "%s/README.txt", path); > - > - if ((fp = fopen(filename, "w")) == NULL) > + if ((fp = fopen("README.txt", "w")) == NULL) > return FWTS_ERROR; > > str = asctime(tm); > @@ -239,50 +229,48 @@ static int dump_readme(const char *path) > * kernel log, dmidecode output, lspci output, > * ACPI tables > */ > -int fwts_dump_info(fwts_framework *fw, const char *path) > +int fwts_dump_info(fwts_framework *fw) > { > + char path[PATH_MAX+1]; > #ifdef FWTS_ARCH_INTEL > bool root_priv = (fwts_check_root_euid(fw, false) == FWTS_OK); > #endif > + if (getcwd(path, PATH_MAX) == NULL) > + strcpy(path, "./"); > > - if (path == NULL) > - path = "./"; > - > - if (access(path, F_OK) != 0) { > - if (mkdir(path, 0777) < 0) { > - fprintf(stderr, "Cannot mkdir %s.\n", path); > - return FWTS_ERROR; > - } > + if (access(path, W_OK) < 0) { > + fprintf(stderr, "No write access to %s.\n", path); > + return FWTS_ERROR; > } > > - if (dump_readme(path) != FWTS_OK) > + if (dump_readme() != FWTS_OK) > fprintf(stderr, "Failed to dump README.txt.\n"); > else > printf("Created README.txt\n"); > > - if (dump_dmesg(path, "dmesg.log") != FWTS_OK) > + if (dump_dmesg() != FWTS_OK) > fprintf(stderr, "Failed to dump kernel log.\n"); > else > printf("Dumping dmesg to dmesg.log\n"); > > #ifdef FWTS_ARCH_INTEL > if (root_priv) { > - if (dump_dmidecode(fw, path, "dmidecode.log") != FWTS_OK) > + if (dump_dmidecode(fw) != FWTS_OK) > fprintf(stderr, "Failed to dump output from dmidecode.\n"); > else > printf("Dumped DMI data to dmidecode.log\n"); > - } else > + } else > fprintf(stderr, "Need root privilege to dump DMI tables.\n"); > #endif > > - if (dump_lspci(fw, path, "lspci.log") != FWTS_OK) > + if (dump_lspci(fw) != FWTS_OK) > fprintf(stderr, "Failed to dump output from lspci.\n"); > else > printf("Dumped lspci data to lspci.log\n"); > > #ifdef FWTS_ARCH_INTEL > if (root_priv) { > - if (dump_acpi_tables(fw, path) != FWTS_OK) > + if (dump_acpi_tables(fw) != FWTS_OK) > fprintf(stderr, "Failed to dump ACPI tables.\n"); > else > printf("Dumped ACPI tables to acpidump.log\n"); > diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c > index 1581681..95d581e 100644 > --- a/src/lib/src/fwts_framework.c > +++ b/src/lib/src/fwts_framework.c > @@ -1052,7 +1052,7 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar > fwts_framework_show_version(stdout, argv[0]); > return FWTS_COMPLETE; > case 16: /* --dump */ > - fwts_dump_info(fw, NULL); > + fwts_dump_info(fw); > return FWTS_COMPLETE; > case 17: /* --table-path */ > fwts_framework_strdup(&fw->acpi_table_path, optarg); > @@ -1139,7 +1139,7 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar > fw->flags |= FWTS_FLAG_BATCH; > break; > case 'd': /* --dump */ > - fwts_dump_info(fw, NULL); > + fwts_dump_info(fw); > return FWTS_COMPLETE; > case 'D': /* --show-progress-dialog */ > fw->flags = (fw->flags & > Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff --git a/src/lib/include/fwts_dump.h b/src/lib/include/fwts_dump.h index 6dcc29d..bebc773 100644 --- a/src/lib/include/fwts_dump.h +++ b/src/lib/include/fwts_dump.h @@ -22,6 +22,6 @@ #include "fwts.h" -int fwts_dump_info(fwts_framework *fw, const char *path); +int fwts_dump_info(fwts_framework *fw); #endif diff --git a/src/lib/src/fwts_dump.c b/src/lib/src/fwts_dump.c index f3ccc15..532ff58 100644 --- a/src/lib/src/fwts_dump.c +++ b/src/lib/src/fwts_dump.c @@ -21,12 +21,9 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <limits.h> #include <time.h> +#include <limits.h> #include <sys/klog.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <sys/stat.h> #include "fwts.h" @@ -38,13 +35,11 @@ * dump_data() * dump to path/filename a chunk of data of length len */ -static int dump_data(const char *path, const char *filename, char *data, const size_t len) +static int dump_data(const char *filename, char *data, const size_t len) { FILE *fp; - char name[PATH_MAX]; - snprintf(name, sizeof(name), "%s/%s", path, filename); - if ((fp = fopen(name, "w")) == NULL) + if ((fp = fopen(filename, "w")) == NULL) return FWTS_ERROR; if ((fwrite(data, sizeof(char), len, fp) != len)) { @@ -60,7 +55,7 @@ static int dump_data(const char *path, const char *filename, char *data, const s * dump_dmesg() * read kernel log, dump to path/filename */ -static int dump_dmesg(const char *path, const char *filename) +static int dump_dmesg(void) { int len; char *data; @@ -76,7 +71,7 @@ static int dump_dmesg(const char *path, const char *filename) free(data); return FWTS_ERROR; } - ret = dump_data(path, filename, data, strlen(data)); + ret = dump_data("dmesg.log", data, strlen(data)); free(data); @@ -88,7 +83,7 @@ static int dump_dmesg(const char *path, const char *filename) * dump_exec() * Execute command, dump output to path/filename */ -static int dump_exec(const char *path, const char *filename, const char *command) +static int dump_exec(const char *filename, const char *command) { int fd; pid_t pid; @@ -106,7 +101,7 @@ static int dump_exec(const char *path, const char *filename, const char *command fwts_pipe_close(fd, pid); - ret = dump_data(path, filename, data, len); + ret = dump_data(filename, data, len); free(data); @@ -118,11 +113,11 @@ static int dump_exec(const char *path, const char *filename, const char *command * dump_dmidecode() * run dmidecode, dump output to path/filename */ -static int dump_dmidecode(fwts_framework *fw, const char *path, const char *filename) +static int dump_dmidecode(fwts_framework *fw) { FWTS_UNUSED(fw); - return dump_exec(path, filename, FWTS_DMIDECODE_PATH); + return dump_exec("dmidecode.log", FWTS_DMIDECODE_PATH); } #endif @@ -130,13 +125,13 @@ static int dump_dmidecode(fwts_framework *fw, const char *path, const char *file * dump_lspci() * run lspci, dump output to path/filename */ -static int dump_lspci(fwts_framework *fw, const char *path, const char *filename) +static int dump_lspci(fwts_framework *fw) { char command[1024]; snprintf(command, sizeof(command), "%s -vv -nn", fw->lspci); - return dump_exec(path, filename, command); + return dump_exec("lspci.log", command); } #ifdef FWTS_ARCH_INTEL @@ -165,14 +160,12 @@ static int dump_acpi_table(fwts_acpi_table_info *table, FILE *fp) * dump_acpi_tables() * hex dump all ACPI tables */ -static int dump_acpi_tables(fwts_framework *fw, const char *path) +static int dump_acpi_tables(fwts_framework *fw) { - char filename[PATH_MAX]; FILE *fp; int i; - snprintf(filename, sizeof(filename), "%s/acpidump.log", path); - if ((fp = fopen(filename, "w")) == NULL) + if ((fp = fopen("acpidump.log", "w")) == NULL) return FWTS_ERROR; for (i=0;;i++) { @@ -198,18 +191,15 @@ static int dump_acpi_tables(fwts_framework *fw, const char *path) * dump_readme() * dump README file containing some system info */ -static int dump_readme(const char *path) +static int dump_readme(void) { - char filename[PATH_MAX]; time_t now = time(NULL); struct tm *tm = localtime(&now); FILE *fp; char *str; int len; - snprintf(filename, sizeof(filename), "%s/README.txt", path); - - if ((fp = fopen(filename, "w")) == NULL) + if ((fp = fopen("README.txt", "w")) == NULL) return FWTS_ERROR; str = asctime(tm); @@ -239,50 +229,48 @@ static int dump_readme(const char *path) * kernel log, dmidecode output, lspci output, * ACPI tables */ -int fwts_dump_info(fwts_framework *fw, const char *path) +int fwts_dump_info(fwts_framework *fw) { + char path[PATH_MAX+1]; #ifdef FWTS_ARCH_INTEL bool root_priv = (fwts_check_root_euid(fw, false) == FWTS_OK); #endif + if (getcwd(path, PATH_MAX) == NULL) + strcpy(path, "./"); - if (path == NULL) - path = "./"; - - if (access(path, F_OK) != 0) { - if (mkdir(path, 0777) < 0) { - fprintf(stderr, "Cannot mkdir %s.\n", path); - return FWTS_ERROR; - } + if (access(path, W_OK) < 0) { + fprintf(stderr, "No write access to %s.\n", path); + return FWTS_ERROR; } - if (dump_readme(path) != FWTS_OK) + if (dump_readme() != FWTS_OK) fprintf(stderr, "Failed to dump README.txt.\n"); else printf("Created README.txt\n"); - if (dump_dmesg(path, "dmesg.log") != FWTS_OK) + if (dump_dmesg() != FWTS_OK) fprintf(stderr, "Failed to dump kernel log.\n"); else printf("Dumping dmesg to dmesg.log\n"); #ifdef FWTS_ARCH_INTEL if (root_priv) { - if (dump_dmidecode(fw, path, "dmidecode.log") != FWTS_OK) + if (dump_dmidecode(fw) != FWTS_OK) fprintf(stderr, "Failed to dump output from dmidecode.\n"); else printf("Dumped DMI data to dmidecode.log\n"); - } else + } else fprintf(stderr, "Need root privilege to dump DMI tables.\n"); #endif - if (dump_lspci(fw, path, "lspci.log") != FWTS_OK) + if (dump_lspci(fw) != FWTS_OK) fprintf(stderr, "Failed to dump output from lspci.\n"); else printf("Dumped lspci data to lspci.log\n"); #ifdef FWTS_ARCH_INTEL if (root_priv) { - if (dump_acpi_tables(fw, path) != FWTS_OK) + if (dump_acpi_tables(fw) != FWTS_OK) fprintf(stderr, "Failed to dump ACPI tables.\n"); else printf("Dumped ACPI tables to acpidump.log\n"); diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c index 1581681..95d581e 100644 --- a/src/lib/src/fwts_framework.c +++ b/src/lib/src/fwts_framework.c @@ -1052,7 +1052,7 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar fwts_framework_show_version(stdout, argv[0]); return FWTS_COMPLETE; case 16: /* --dump */ - fwts_dump_info(fw, NULL); + fwts_dump_info(fw); return FWTS_COMPLETE; case 17: /* --table-path */ fwts_framework_strdup(&fw->acpi_table_path, optarg); @@ -1139,7 +1139,7 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar fw->flags |= FWTS_FLAG_BATCH; break; case 'd': /* --dump */ - fwts_dump_info(fw, NULL); + fwts_dump_info(fw); return FWTS_COMPLETE; case 'D': /* --show-progress-dialog */ fw->flags = (fw->flags &