Commit 89b04c5b authored by Alessandro Rubini's avatar Alessandro Rubini

userspace/tools: added wrs_checkcfg

Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
parent 4d60041b
......@@ -19,3 +19,4 @@ wrs_dump_shmem
sdb-read
nbtee
wrs_auxclk
wrs_checkcfg
......@@ -5,6 +5,7 @@ TOOLS += wrs_vlans wrs_dump_shmem
TOOLS += sdb-read
TOOLS += nbtee
TOOLS += wrs_auxclk
TOOLS += wrs_checkcfg
WR_INSTALL_ROOT ?= /usr/lib/white-rabbit
......
/* Alessandro Rubini for CERN, 2014 */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <libwr/config.h>
int main(int argc, char **argv)
{
int err, verbose = 0;
me_lazy:
if (argc < 2 || !strcmp(argv[1], "-h") || !strcmp(argv[1], "--help")) {
fprintf(stderr, "%s: Use: \"%s [-v] <dotcfg> [<Kconfig>]\"\n",
argv[0], argv[0]);
exit(1);
}
if (!strcmp(argv[1], "-v")) {
verbose++;
argv++;
argc--;
goto me_lazy;
}
if (access(argv[1], R_OK) < 0) {
fprintf(stderr, "%s: %s: %s\n", argv[0], argv[1],
strerror(errno));
exit(1);
}
if (argc == 2) {
err = libwr_cfg_read_file(argv[1]);
if (err) {
fprintf(stderr, "%s: Error in %s:%i: %s\n", argv[0],
argv[1], -err, strerror(errno));
exit(1);
}
if (verbose)
libwr_cfg_dump(stdout);
exit(0);
}
if (access(argv[2], R_OK) < 0) {
fprintf(stderr, "%s: %s: %s\n", argv[0], argv[2],
strerror(errno));
exit(1);
}
err = libwr_cfg_read_verify_file(argv[1], argv[2]);
if (verbose)
libwr_cfg_dump(stdout);
if (err)
exit(1); /* messages already printed */
exit(0);
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment