]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Start showing unparsed entries
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Aug 2011 20:58:19 +0000 (13:58 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Aug 2011 20:58:19 +0000 (13:58 -0700)
(ie all of them)

This also shows the type of entry, which makes it clear that I've
screwed up the sample matching.  Oh well.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
parse.c

diff --git a/parse.c b/parse.c
index 7595ef529b1dde708bb55d845759512ff0a1b3da..bbe1a68caaf243fce4c6f45a3c7171410ec30969 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -104,14 +104,31 @@ static void record_dive(struct dive *dive)
        printf("Recording dive %d with %d samples\n", ++nr, dive->samples);
 }
 
+static void nonmatch(const char *type, const char *fullname, const char *name, int size, const char *buffer)
+{
+       printf("Unable to match %s '(%.*s)%s' (%.*s)\n", type,
+               (int) (name - fullname), fullname, name,
+               size, buffer);
+}
+
+static const char *last_part(const char *name)
+{
+       const char *p = strrchr(name, '.');
+       return p ? p+1 : name;
+}
+
 /* We're in samples - try to convert the random xml value to something useful */
 static void try_to_fill_sample(struct sample *sample, const char *name, int size, const char *buffer)
 {
+       const char *last = last_part(name);
+       nonmatch("sample", name, last, size, buffer);
 }
 
 /* We're in the top-level dive xml. Try to convert whatever value to a dive value */
 static void try_to_fill_dive(struct dive *dive, const char *name, int size, const char *buffer)
 {
+       const char *last = last_part(name);
+       nonmatch("dive", name, last, size, buffer);
 }
 
 /*