summaryrefslogtreecommitdiffstats
path: root/parse-xml.c
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-09-01 19:56:04 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-09-01 19:56:04 -0700
commit22fcef2ec7fd1efd3d1df2aba2b7b3af5d463288 (patch)
tree02e55dce4695cf93e4f54756903ea84564c1342e /parse-xml.c
parent0189de695c1b361a1ef85c0523a50f2abc5f0dbf (diff)
downloadsubsurface-22fcef2ec7fd1efd3d1df2aba2b7b3af5d463288.tar.gz
Save and parse notes and locations
It's pretty rough, but it seems to work. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'parse-xml.c')
-rw-r--r--parse-xml.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/parse-xml.c b/parse-xml.c
index 6c93ad1a5..86ef31ade 100644
--- a/parse-xml.c
+++ b/parse-xml.c
@@ -349,6 +349,11 @@ static void gasmix_nitrogen(char *buffer, void *_gasmix)
/* Ignore n2 percentages. There's no value in them. */
}
+static void utf8_string(char *buffer, void *_res)
+{
+ *(char **)_res = buffer;
+}
+
#define MATCH(pattern, fn, dest) \
match(pattern, strlen(pattern), name, len, fn, buf, dest)
@@ -423,6 +428,10 @@ static void try_to_fill_dive(struct dive *dive, const char *name, char *buf)
return;
if (MATCH(".cylinderendpressure", pressure, &dive->end_pressure))
return;
+ if (MATCH(".location", utf8_string, &dive->location))
+ return;
+ if (MATCH(".notes", utf8_string, &dive->notes))
+ return;
if (MATCH(".o2", gasmix, &dive->gasmix[gasmix_index].o2))
return;