Save and parse notes and locations

It's pretty rough, but it seems to work.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Linus Torvalds 2011-09-01 19:56:04 -07:00
parent 0189de695c
commit 22fcef2ec7
4 changed files with 130 additions and 11 deletions

View file

@ -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;