mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Avoiding some potentially confusing name space clashes
We have local variables or function arguments with the same names as function static variables (or in one case, function arguments). While all the current code was correct, it could potentially cause confusion when chasing bugs or reviewing patches. This should make things clearer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
3d75c73f36
commit
c544226334
5 changed files with 94 additions and 92 deletions
136
parse-xml.c
136
parse-xml.c
|
@ -98,16 +98,16 @@ const struct units IMPERIAL_units = {
|
|||
/*
|
||||
* Dive info as it is being built up..
|
||||
*/
|
||||
static struct dive *dive;
|
||||
static struct sample *sample;
|
||||
static struct dive *cur_dive;
|
||||
static struct sample *cur_sample;
|
||||
static struct {
|
||||
int active;
|
||||
duration_t time;
|
||||
int type, flags, value;
|
||||
const char *name;
|
||||
} event;
|
||||
static struct tm tm;
|
||||
static int cylinder_index;
|
||||
} cur_event;
|
||||
static struct tm cur_tm;
|
||||
static int cur_cylinder_index;
|
||||
|
||||
static enum import_source {
|
||||
UNKNOWN,
|
||||
|
@ -153,22 +153,22 @@ static void divedate(char *buffer, void *_when)
|
|||
time_t *when = _when;
|
||||
int success = 0;
|
||||
|
||||
success = tm.tm_sec | tm.tm_min | tm.tm_hour;
|
||||
success = cur_tm.tm_sec | cur_tm.tm_min | cur_tm.tm_hour;
|
||||
if (sscanf(buffer, "%d.%d.%d", &d, &m, &y) == 3) {
|
||||
tm.tm_year = y;
|
||||
tm.tm_mon = m-1;
|
||||
tm.tm_mday = d;
|
||||
cur_tm.tm_year = y;
|
||||
cur_tm.tm_mon = m-1;
|
||||
cur_tm.tm_mday = d;
|
||||
} else if (sscanf(buffer, "%d-%d-%d", &y, &m, &d) == 3) {
|
||||
tm.tm_year = y;
|
||||
tm.tm_mon = m-1;
|
||||
tm.tm_mday = d;
|
||||
cur_tm.tm_year = y;
|
||||
cur_tm.tm_mon = m-1;
|
||||
cur_tm.tm_mday = d;
|
||||
} else {
|
||||
fprintf(stderr, "Unable to parse date '%s'\n", buffer);
|
||||
success = 0;
|
||||
}
|
||||
|
||||
if (success)
|
||||
*when = utc_mktime(&tm);
|
||||
*when = utc_mktime(&cur_tm);
|
||||
|
||||
free(buffer);
|
||||
}
|
||||
|
@ -179,11 +179,11 @@ static void divetime(char *buffer, void *_when)
|
|||
time_t *when = _when;
|
||||
|
||||
if (sscanf(buffer, "%d:%d:%d", &h, &m, &s) >= 2) {
|
||||
tm.tm_hour = h;
|
||||
tm.tm_min = m;
|
||||
tm.tm_sec = s;
|
||||
if (tm.tm_year)
|
||||
*when = utc_mktime(&tm);
|
||||
cur_tm.tm_hour = h;
|
||||
cur_tm.tm_min = m;
|
||||
cur_tm.tm_sec = s;
|
||||
if (cur_tm.tm_year)
|
||||
*when = utc_mktime(&cur_tm);
|
||||
}
|
||||
free(buffer);
|
||||
}
|
||||
|
@ -197,13 +197,13 @@ static void divedatetime(char *buffer, void *_when)
|
|||
|
||||
if (sscanf(buffer, "%d-%d-%d %d:%d:%d",
|
||||
&y, &m, &d, &hr, &min, &sec) == 6) {
|
||||
tm.tm_year = y;
|
||||
tm.tm_mon = m-1;
|
||||
tm.tm_mday = d;
|
||||
tm.tm_hour = hr;
|
||||
tm.tm_min = min;
|
||||
tm.tm_sec = sec;
|
||||
*when = utc_mktime(&tm);
|
||||
cur_tm.tm_year = y;
|
||||
cur_tm.tm_mon = m-1;
|
||||
cur_tm.tm_mday = d;
|
||||
cur_tm.tm_hour = hr;
|
||||
cur_tm.tm_min = min;
|
||||
cur_tm.tm_sec = sec;
|
||||
*when = utc_mktime(&cur_tm);
|
||||
}
|
||||
free(buffer);
|
||||
}
|
||||
|
@ -378,7 +378,7 @@ static void gasmix(char *buffer, void *_fraction)
|
|||
/* libdivecomputer does negative percentages. */
|
||||
if (*buffer == '-')
|
||||
return;
|
||||
if (cylinder_index < MAX_CYLINDERS)
|
||||
if (cur_cylinder_index < MAX_CYLINDERS)
|
||||
percent(buffer, _fraction);
|
||||
}
|
||||
|
||||
|
@ -575,8 +575,8 @@ static void eventtime(char *buffer, void *_duration)
|
|||
{
|
||||
duration_t *duration = _duration;
|
||||
sampletime(buffer, duration);
|
||||
if (sample)
|
||||
duration->seconds += sample->time.seconds;
|
||||
if (cur_sample)
|
||||
duration->seconds += cur_sample->time.seconds;
|
||||
}
|
||||
|
||||
static void try_to_fill_event(const char *name, char *buf)
|
||||
|
@ -584,17 +584,17 @@ static void try_to_fill_event(const char *name, char *buf)
|
|||
int len = strlen(name);
|
||||
|
||||
start_match("event", name, buf);
|
||||
if (MATCH(".event", utf8_string, &event.name))
|
||||
if (MATCH(".event", utf8_string, &cur_event.name))
|
||||
return;
|
||||
if (MATCH(".name", utf8_string, &event.name))
|
||||
if (MATCH(".name", utf8_string, &cur_event.name))
|
||||
return;
|
||||
if (MATCH(".time", eventtime, &event.time))
|
||||
if (MATCH(".time", eventtime, &cur_event.time))
|
||||
return;
|
||||
if (MATCH(".type", get_index, &event.type))
|
||||
if (MATCH(".type", get_index, &cur_event.type))
|
||||
return;
|
||||
if (MATCH(".flags", get_index, &event.flags))
|
||||
if (MATCH(".flags", get_index, &cur_event.flags))
|
||||
return;
|
||||
if (MATCH(".value", get_index, &event.value))
|
||||
if (MATCH(".value", get_index, &cur_event.value))
|
||||
return;
|
||||
nonmatch("event", name, buf);
|
||||
}
|
||||
|
@ -806,7 +806,7 @@ static int uemis_gas_template;
|
|||
static int uemis_cylinder_index(void *_cylinder)
|
||||
{
|
||||
cylinder_t *cylinder = _cylinder;
|
||||
unsigned int index = cylinder - dive->cylinder;
|
||||
unsigned int index = cylinder - cur_dive->cylinder;
|
||||
|
||||
if (index > 6) {
|
||||
fprintf(stderr, "Uemis cylinder pointer calculations broken\n");
|
||||
|
@ -838,14 +838,14 @@ static void uemis_cylindersize(char *buffer, void *_cylinder)
|
|||
{
|
||||
int index = uemis_cylinder_index(_cylinder);
|
||||
if (index >= 0)
|
||||
cylindersize(buffer, &dive->cylinder[index].type.size);
|
||||
cylindersize(buffer, &cur_dive->cylinder[index].type.size);
|
||||
}
|
||||
|
||||
static void uemis_percent(char *buffer, void *_cylinder)
|
||||
{
|
||||
int index = uemis_cylinder_index(_cylinder);
|
||||
if (index >= 0)
|
||||
percent(buffer, &dive->cylinder[index].gasmix.o2);
|
||||
percent(buffer, &cur_dive->cylinder[index].gasmix.o2);
|
||||
}
|
||||
|
||||
static int uemis_dive_match(struct dive **divep, const char *name, int len, char *buf)
|
||||
|
@ -1028,22 +1028,22 @@ static void try_to_fill_dive(struct dive **divep, const char *name, char *buf)
|
|||
return;
|
||||
if (MATCH(".rating", get_index, &dive->rating))
|
||||
return;
|
||||
if (MATCH(".cylinder.size", cylindersize, &dive->cylinder[cylinder_index].type.size))
|
||||
if (MATCH(".cylinder.size", cylindersize, &dive->cylinder[cur_cylinder_index].type.size))
|
||||
return;
|
||||
if (MATCH(".cylinder.workpressure", pressure, &dive->cylinder[cylinder_index].type.workingpressure))
|
||||
if (MATCH(".cylinder.workpressure", pressure, &dive->cylinder[cur_cylinder_index].type.workingpressure))
|
||||
return;
|
||||
if (MATCH(".cylinder.description", utf8_string, &dive->cylinder[cylinder_index].type.description))
|
||||
if (MATCH(".cylinder.description", utf8_string, &dive->cylinder[cur_cylinder_index].type.description))
|
||||
return;
|
||||
if (MATCH(".cylinder.start", pressure, &dive->cylinder[cylinder_index].start))
|
||||
if (MATCH(".cylinder.start", pressure, &dive->cylinder[cur_cylinder_index].start))
|
||||
return;
|
||||
if (MATCH(".cylinder.end", pressure, &dive->cylinder[cylinder_index].end))
|
||||
if (MATCH(".cylinder.end", pressure, &dive->cylinder[cur_cylinder_index].end))
|
||||
return;
|
||||
|
||||
if (MATCH(".o2", gasmix, &dive->cylinder[cylinder_index].gasmix.o2))
|
||||
if (MATCH(".o2", gasmix, &dive->cylinder[cur_cylinder_index].gasmix.o2))
|
||||
return;
|
||||
if (MATCH(".n2", gasmix_nitrogen, &dive->cylinder[cylinder_index].gasmix))
|
||||
if (MATCH(".n2", gasmix_nitrogen, &dive->cylinder[cur_cylinder_index].gasmix))
|
||||
return;
|
||||
if (MATCH(".he", gasmix, &dive->cylinder[cylinder_index].gasmix.he))
|
||||
if (MATCH(".he", gasmix, &dive->cylinder[cur_cylinder_index].gasmix.he))
|
||||
return;
|
||||
|
||||
nonmatch("dive", name, buf);
|
||||
|
@ -1057,32 +1057,34 @@ static void try_to_fill_dive(struct dive **divep, const char *name, char *buf)
|
|||
*/
|
||||
static void dive_start(void)
|
||||
{
|
||||
if (dive)
|
||||
if (cur_dive)
|
||||
return;
|
||||
dive = alloc_dive();
|
||||
memset(&tm, 0, sizeof(tm));
|
||||
cur_dive = alloc_dive();
|
||||
memset(&cur_tm, 0, sizeof(cur_tm));
|
||||
}
|
||||
|
||||
static void dive_end(void)
|
||||
{
|
||||
if (!dive)
|
||||
if (!cur_dive)
|
||||
return;
|
||||
record_dive(dive);
|
||||
dive = NULL;
|
||||
cylinder_index = 0;
|
||||
record_dive(cur_dive);
|
||||
cur_dive = NULL;
|
||||
cur_cylinder_index = 0;
|
||||
}
|
||||
|
||||
static void event_start(void)
|
||||
{
|
||||
memset(&event, 0, sizeof(event));
|
||||
event.active = 1;
|
||||
memset(&cur_event, 0, sizeof(cur_event));
|
||||
cur_event.active = 1;
|
||||
}
|
||||
|
||||
static void event_end(void)
|
||||
{
|
||||
if (event.name && strcmp(event.name, "surface") != 0)
|
||||
add_event(dive, event.time.seconds, event.type, event.flags, event.value, event.name);
|
||||
event.active = 0;
|
||||
if (cur_event.name && strcmp(cur_event.name, "surface") != 0)
|
||||
add_event(cur_dive, cur_event.time.seconds,
|
||||
cur_event.type, cur_event.flags,
|
||||
cur_event.value, cur_event.name);
|
||||
cur_event.active = 0;
|
||||
}
|
||||
|
||||
static void cylinder_start(void)
|
||||
|
@ -1091,21 +1093,21 @@ static void cylinder_start(void)
|
|||
|
||||
static void cylinder_end(void)
|
||||
{
|
||||
cylinder_index++;
|
||||
cur_cylinder_index++;
|
||||
}
|
||||
|
||||
static void sample_start(void)
|
||||
{
|
||||
sample = prepare_sample(&dive);
|
||||
cur_sample = prepare_sample(&cur_dive);
|
||||
}
|
||||
|
||||
static void sample_end(void)
|
||||
{
|
||||
if (!dive)
|
||||
if (!cur_dive)
|
||||
return;
|
||||
|
||||
finish_sample(dive);
|
||||
sample = NULL;
|
||||
finish_sample(cur_dive);
|
||||
cur_sample = NULL;
|
||||
}
|
||||
|
||||
static void entry(const char *name, int size, const char *raw)
|
||||
|
@ -1116,16 +1118,16 @@ static void entry(const char *name, int size, const char *raw)
|
|||
return;
|
||||
memcpy(buf, raw, size);
|
||||
buf[size] = 0;
|
||||
if (event.active) {
|
||||
if (cur_event.active) {
|
||||
try_to_fill_event(name, buf);
|
||||
return;
|
||||
}
|
||||
if (sample) {
|
||||
try_to_fill_sample(sample, name, buf);
|
||||
if (cur_sample) {
|
||||
try_to_fill_sample(cur_sample, name, buf);
|
||||
return;
|
||||
}
|
||||
if (dive) {
|
||||
try_to_fill_dive(&dive, name, buf);
|
||||
if (cur_dive) {
|
||||
try_to_fill_dive(&cur_dive, name, buf);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue