/* 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, char *buf) { int len = strlen(name); int in_deco; start_match("sample", name, buf); if (MATCH(".sample.pressure", pressure, &sample->cylinderpressure)) return; if (MATCH(".sample.cylpress", pressure, &sample->cylinderpressure)) return; if (MATCH(".sample.cylinderindex", get_cylinderindex, &sample->sensor)) return; if (MATCH(".sample.sensor", get_sensor, &sample->sensor)) return; if (MATCH(".sample.depth", depth, &sample->depth)) return; if (MATCH(".sample.temp", temperature, &sample->temperature)) return; if (MATCH(".sample.temperature", temperature, &sample->temperature)) return; if (MATCH(".sample.sampletime", sampletime, &sample->time)) return; if (MATCH(".sample.time", sampletime, &sample->time)) return; if (MATCH(".sample.ndl", sampletime, &sample->ndl)) return; if (MATCH(".sample.in_deco", get_index, &in_deco)) { sample->in_deco = (in_deco == 1); return; } if (MATCH(".sample.stoptime", sampletime, &sample->stoptime)) return; if (MATCH(".sample.stopdepth", depth, &sample->stopdepth)) return; if (MATCH(".sample.cns", get_index, &sample->cns)) return; if (MATCH(".sample.po2", double_to_permil, &sample->po2)) return; switch (import_source) { case DIVINGLOG: if (divinglog_fill_sample(sample, name, len, buf)) return; break; case UDDF: if (uddf_fill_sample(sample, name, len, buf)) return; break; default: break; } nonmatch("sample", name, buf); }
/* 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, char *buf) { int len = strlen(name); start_match("sample", name, buf); if (MATCH(".sample.pressure", pressure, &sample->cylinderpressure)) return; if (MATCH(".sample.cylpress", pressure, &sample->cylinderpressure)) return; if (MATCH(".sample.cylinderindex", get_index, &sample->cylinderindex)) return; if (MATCH(".sample.depth", depth, &sample->depth)) return; if (MATCH(".sample.temp", temperature, &sample->temperature)) return; if (MATCH(".sample.temperature", temperature, &sample->temperature)) return; if (MATCH(".sample.sampletime", sampletime, &sample->time)) return; if (MATCH(".sample.time", sampletime, &sample->time)) return; switch (import_source) { case UEMIS: if (uemis_fill_sample(sample, name, len, buf)) return; break; case DIVINGLOG: if (divinglog_fill_sample(sample, name, len, buf)) return; break; case UDDF: if (uddf_fill_sample(sample, name, len, buf)) return; break; default: break; } nonmatch("sample", name, buf); }