mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Add 'verbose' flag
Now that we actually parse some of the dives, don't spam stdout with the list of stuff we can't parse by default. Add a 'verbose' flag, which enables that output when set. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8a670bfb5c
commit
83e0bf8b52
1 changed files with 31 additions and 5 deletions
36
parse.c
36
parse.c
|
@ -7,6 +7,8 @@
|
||||||
#include <libxml/parser.h>
|
#include <libxml/parser.h>
|
||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
|
|
||||||
|
static int verbose;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some silly typedefs to make our units very explicit.
|
* Some silly typedefs to make our units very explicit.
|
||||||
*
|
*
|
||||||
|
@ -115,9 +117,10 @@ static void record_dive(struct dive *dive)
|
||||||
|
|
||||||
static void nonmatch(const char *type, const char *fullname, const char *name, char *buffer)
|
static void nonmatch(const char *type, const char *fullname, const char *name, char *buffer)
|
||||||
{
|
{
|
||||||
printf("Unable to match %s '(%.*s)%s' (%s)\n", type,
|
if (verbose)
|
||||||
(int) (name - fullname), fullname, name,
|
printf("Unable to match %s '(%.*s)%s' (%s)\n", type,
|
||||||
buffer);
|
(int) (name - fullname), fullname, name,
|
||||||
|
buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -570,13 +573,36 @@ static void parse(const char *filename)
|
||||||
xmlCleanupParser();
|
xmlCleanupParser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void parse_argument(const char *arg)
|
||||||
|
{
|
||||||
|
const char *p = arg+1;
|
||||||
|
|
||||||
|
do {
|
||||||
|
switch (*p) {
|
||||||
|
case 'v':
|
||||||
|
verbose++;
|
||||||
|
continue;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "Bad argument '%s'\n", arg);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
} while (*++p);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
LIBXML_TEST_VERSION
|
LIBXML_TEST_VERSION
|
||||||
|
|
||||||
for (i = 1; i < argc; i++)
|
for (i = 1; i < argc; i++) {
|
||||||
parse(argv[i]);
|
const char *a = argv[i];
|
||||||
|
|
||||||
|
if (a[0] == '-') {
|
||||||
|
parse_argument(a);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
parse(a);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue