X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=parse-xml.c;h=6bb78fdf6077e1db2a85ee6ee194e5793c8ae802;hb=3a6652634b2152352f6f5a2b9ee3d549140ae337;hp=24acb1c1cc9f7f003e490de5c732b503d6b20866;hpb=42f627b8b1cf7e929a30c0a07a5fb44a4cec9e1f;p=ext%2Fsubsurface.git diff --git a/parse-xml.c b/parse-xml.c index 24acb1c..6bb78fd 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -422,7 +422,7 @@ static void water_pressure(char *buffer, void *_depth) * atm to cm. Why not mm? The precision just isn't * there. */ - cm = 100 * (atm - 1) + 0.5; + cm = 100 * atm + 0.5; if (cm > 0) { depth->mm = 10 * (long)cm; break; @@ -521,7 +521,7 @@ static void fahrenheit(char *buffer, void *_temperature) * pressures are in PSI. But the tank working pressure is in * bar. WTF^2? * - * Crazy stuff like this is why diveclog has everything in + * Crazy stuff like this is why subsurface has everything in * these inconvenient typed structures, and you have to say * "pressure->mbar" to get the actual value. Exactly so that * you can never have unit confusion. @@ -652,6 +652,7 @@ static int divinglog_dive_match(struct dive *dive, const char *name, int len, ch MATCH(".tanksize", cylindersize, &dive->cylinder[0].type.size) || MATCH(".presw", pressure, &dive->cylinder[0].type.workingpressure) || MATCH(".comments", utf8_string, &dive->notes) || + MATCH(".buddy.names", utf8_string, &dive->buddy) || MATCH(".country.name", utf8_string, &country) || MATCH(".city.name", utf8_string, &city) || MATCH(".place.name", divinglog_place, &dive->location) || @@ -953,6 +954,10 @@ static void try_to_fill_dive(struct dive *dive, const char *name, char *buf) return; if (MATCH(".notes", utf8_string, &dive->notes)) return; + if (MATCH(".divemaster", utf8_string, &dive->divemaster)) + return; + if (MATCH(".buddy", utf8_string, &dive->buddy)) + return; if (MATCH(".cylinder.size", cylindersize, &dive->cylinder[cylinder_index].type.size)) return; @@ -1352,7 +1357,7 @@ void parse_xml_file(const char *filename, GError **error) fprintf(stderr, "Failed to parse '%s'.\n", filename); if (error != NULL) { - *error = g_error_new(g_quark_from_string("divelog"), + *error = g_error_new(g_quark_from_string("subsurface"), DIVE_ERROR_PARSE, "Failed to parse '%s'", filename);