]> err.no Git - mapper/commitdiff
Formating
authorKaj-Michael Lang <milang@onion.tal.org>
Mon, 10 Mar 2008 11:47:29 +0000 (13:47 +0200)
committerKaj-Michael Lang <milang@onion.tal.org>
Mon, 10 Mar 2008 11:47:29 +0000 (13:47 +0200)
src/gpx.c

index 405ae26e9a05c89e4611047909659d8c7c7c46d0..7b782a2f2410a80a3ba6298027a0de317afe4c4b 100644 (file)
--- a/src/gpx.c
+++ b/src/gpx.c
@@ -109,104 +109,102 @@ time_t time1;
 struct tm time2;
 time1 = time(NULL);
 localtime_r(&time1, &time2);
-g_snprintf(XML_TZONE, sizeof(XML_TZONE), "%+03ld:%02ld",
-        (time2.tm_gmtoff / 60 / 60), (time2.tm_gmtoff / 60) % 60);
+g_snprintf(XML_TZONE, sizeof(XML_TZONE), "%+03ld:%02ld", (time2.tm_gmtoff / 60 / 60), (time2.tm_gmtoff / 60) % 60);
 }
 
 gboolean 
 write_gpx(Path * path, GnomeVFSHandle * handle)
 {
-       Point *curr = NULL;
-       WayPoint *wcurr = NULL;
-       gboolean trkseg_break = FALSE;
+Point *curr = NULL;
+WayPoint *wcurr = NULL;
+gboolean trkseg_break = FALSE;
 
-       /* Find first non-zero point. */
-       for (curr = path->head - 1, wcurr = path->whead; curr++ != path->tail;) {
-               if (curr->unity)
-                       break;
-               else if (wcurr && curr == wcurr->point)
-                       wcurr++;
-       }
-
-       /* Write the header. */
-       WRITE_STRING("<?xml version=\"1.0\"?>\n"
-                    "<gpx version=\"1.0\" creator=\"mapper\" "
-                    "xmlns=\"http://www.topografix.com/GPX/1/0\">\n"
-                    "  <trk>\n" "    <trkseg>\n");
-
-       /* Curr points to first non-zero point. */
-       for (curr--; curr++ != path->tail;) {
-               gdouble lat, lon;
-               if (curr->unity) {
-                       gchar buffer[80];
-                       gboolean first_sub = TRUE;
-                       if (trkseg_break) {
-                               /* First trkpt of the segment - write trkseg header. */
-                               WRITE_STRING("    </trkseg>\n"
-                                            "    <trkseg>\n");
-                               trkseg_break = FALSE;
-                       }
-                       unit2latlon(curr->unitx, curr->unity, lat, lon);
-                       WRITE_STRING("      <trkpt lat=\"");
-                       g_ascii_formatd(buffer, sizeof(buffer), "%.06f", lat);
-                       WRITE_STRING(buffer);
-                       WRITE_STRING("\" lon=\"");
-                       g_ascii_formatd(buffer, sizeof(buffer), "%.06f", lon);
-                       WRITE_STRING(buffer);
-                       WRITE_STRING("\"");
+/* Find first non-zero point. */
+for (curr = path->head - 1, wcurr = path->whead; curr++ != path->tail;) {
+       if (curr->unity)
+               break;
+       else if (wcurr && curr == wcurr->point)
+               wcurr++;
+}
 
-                       /* write the elevation */
-                       if (!isnan(curr->altitude)) {
-                               if (first_sub) {
-                                       WRITE_STRING(">\n");
-                                       first_sub = FALSE;
-                               }
-                               WRITE_STRING("        <ele>");
-                               {
-                                       g_ascii_formatd(buffer, 80, "%.2f",
-                                                       curr->altitude);
-                                       WRITE_STRING(buffer);
-                               }
-                               WRITE_STRING("</ele>\n");
+/* Write the header. */
+WRITE_STRING("<?xml version=\"1.0\"?>\n"
+            "<gpx version=\"1.0\" creator=\"mapper\" "
+            "xmlns=\"http://www.topografix.com/GPX/1/0\">\n"
+            "  <trk>\n" "    <trkseg>\n");
+
+/* Curr points to first non-zero point. */
+for (curr--; curr++ != path->tail;) {
+       gdouble lat, lon;
+       if (curr->unity) {
+               gchar buffer[80];
+               gboolean first_sub = TRUE;
+               if (trkseg_break) {
+                       /* First trkpt of the segment - write trkseg header. */
+                       WRITE_STRING("    </trkseg>\n"
+                                    "    <trkseg>\n");
+                       trkseg_break = FALSE;
+               }
+               unit2latlon(curr->unitx, curr->unity, lat, lon);
+               WRITE_STRING("      <trkpt lat=\"");
+               g_ascii_formatd(buffer, sizeof(buffer), "%.06f", lat);
+               WRITE_STRING(buffer);
+               WRITE_STRING("\" lon=\"");
+               g_ascii_formatd(buffer, sizeof(buffer), "%.06f", lon);
+               WRITE_STRING(buffer);
+               WRITE_STRING("\"");
+
+               /* write the elevation */
+               if (!isnan(curr->altitude)) {
+                       if (first_sub) {
+                               WRITE_STRING(">\n");
+                               first_sub = FALSE;
                        }
-
-                       /* write the time */
-                       if (curr->time) {
-                               if (first_sub) {
-                                       WRITE_STRING(">\n");
-                                       first_sub = FALSE;
-                               }
-                               WRITE_STRING("        <time>");
-                               strftime(buffer, 80, XML_DATE_FORMAT,
-                                        localtime(&curr->time));
+                       WRITE_STRING("        <ele>");
+                       {
+                               g_ascii_formatd(buffer, 80, "%.2f", curr->altitude);
                                WRITE_STRING(buffer);
-                               WRITE_STRING(XML_TZONE);
-                               WRITE_STRING("</time>\n");
                        }
+                       WRITE_STRING("</ele>\n");
+               }
 
-                       if (wcurr && curr == wcurr->point) {
-                               if (first_sub) {
-                                       WRITE_STRING(">\n");
-                                       first_sub = FALSE;
-                               }
-                               WRITE_STRING("        <desc>");
-                               WRITE_STRING(wcurr->desc);
-                               WRITE_STRING("</desc>\n");
-                               wcurr++;
+               /* write the time */
+               if (curr->time) {
+                       if (first_sub) {
+                               WRITE_STRING(">\n");
+                               first_sub = FALSE;
                        }
+                       WRITE_STRING("        <time>");
+                       strftime(buffer, 80, XML_DATE_FORMAT,
+                                localtime(&curr->time));
+                       WRITE_STRING(buffer);
+                       WRITE_STRING(XML_TZONE);
+                       WRITE_STRING("</time>\n");
+               }
+
+               if (wcurr && curr == wcurr->point) {
                        if (first_sub) {
-                               WRITE_STRING("/>\n");
-                       } else {
-                               WRITE_STRING("      </trkpt>\n");
+                               WRITE_STRING(">\n");
+                               first_sub = FALSE;
                        }
-               } else
-                       trkseg_break = TRUE;
-       }
+                       WRITE_STRING("        <desc>");
+                       WRITE_STRING(wcurr->desc);
+                       WRITE_STRING("</desc>\n");
+                       wcurr++;
+               }
+               if (first_sub) {
+                       WRITE_STRING("/>\n");
+               } else {
+                       WRITE_STRING("      </trkpt>\n");
+               }
+       } else
+               trkseg_break = TRUE;
+}
 
-       /* Write the footer. */
-       WRITE_STRING("    </trkseg>\n" "  </trk>\n" "</gpx>\n");
+/* Write the footer. */
+WRITE_STRING("    </trkseg>\n" "  </trk>\n" "</gpx>\n");
 
-       return TRUE;
+return TRUE;
 }
 
 /**
@@ -221,84 +219,82 @@ write_gpx(Path * path, GnomeVFSHandle * handle)
 static void
 gpx_start_element(SaxData * data, const xmlChar * name, const xmlChar ** attrs)
 {
-       g_debug("GPX-START: %s (%d)", name, data->state);
-       switch (data->state) {
-       case ERROR:
-       break;
-       case START:
-               if (!strcmp((gchar *) name, "gpx"))
-                       data->state = INSIDE_GPX;
-               else
-                       MACRO_SET_UNKNOWN();
-       break;
-       case INSIDE_GPX:
-               if (!strcmp((gchar *) name, "trk"))
-                       data->state = INSIDE_PATH;
-               else if (!strcmp((gchar *) name, "metadata"))
-                       data->state = INSIDE_METADATA;
-               else
-                       MACRO_SET_UNKNOWN();
-       break;
-       case INSIDE_METADATA:
-
-       break;
-       case INSIDE_PATH:
-               if (!strcmp((gchar *) name, "trkseg")) {
-                       data->state = INSIDE_PATH_SEGMENT;
-                       data->at_least_one_trkpt = FALSE;
-               } else
-                       MACRO_SET_UNKNOWN();
-       break;
-       case INSIDE_PATH_SEGMENT:
-               if (!strcmp((gchar *) name, "trkpt")) {
-                       const xmlChar **curr_attr;
-                       gchar *error_check;
-                       gdouble lat = 0.f, lon = 0.f;
-                       gboolean has_lat, has_lon;
-                       has_lat = FALSE;
-                       has_lon = FALSE;
-                       for (curr_attr = attrs; *curr_attr != NULL;) {
-                               const gchar *attr_name = *curr_attr++;
-                               const gchar *attr_val = *curr_attr++;
-                               if (!strcmp(attr_name, "lat")) {
-                                       lat = g_ascii_strtod(attr_val, &error_check);
-                                       if (error_check != attr_val)
-                                               has_lat = TRUE;
-                               } else if (!strcmp(attr_name, "lon")) {
-                                       lon = g_ascii_strtod(attr_val, &error_check);
-                                       if (error_check != attr_val)
-                                               has_lon = TRUE;
-                               }
+g_debug("GPX-START: %s (%d)", name, data->state);
+switch (data->state) {
+case ERROR:
+break;
+case START:
+       if (!strcmp((gchar *) name, "gpx"))
+               data->state = INSIDE_GPX;
+       else
+               MACRO_SET_UNKNOWN();
+break;
+case INSIDE_GPX:
+       if (!strcmp((gchar *) name, "trk"))
+               data->state = INSIDE_PATH;
+       else if (!strcmp((gchar *) name, "metadata"))
+               data->state = INSIDE_METADATA;
+       else
+               MACRO_SET_UNKNOWN();
+break;
+case INSIDE_METADATA:
+break;
+case INSIDE_PATH:
+       if (!strcmp((gchar *) name, "trkseg")) {
+               data->state = INSIDE_PATH_SEGMENT;
+               data->at_least_one_trkpt = FALSE;
+       } else
+               MACRO_SET_UNKNOWN();
+break;
+case INSIDE_PATH_SEGMENT:
+       if (!strcmp((gchar *) name, "trkpt")) {
+               const xmlChar **curr_attr;
+               gchar *error_check;
+               gdouble lat = 0.f, lon = 0.f;
+               gboolean has_lat, has_lon;
+               has_lat = FALSE;
+               has_lon = FALSE;
+               for (curr_attr = attrs; *curr_attr != NULL;) {
+                       const gchar *attr_name = *curr_attr++;
+                       const gchar *attr_val = *curr_attr++;
+                       if (!strcmp(attr_name, "lat")) {
+                               lat = g_ascii_strtod(attr_val, &error_check);
+                               if (error_check != attr_val)
+                                       has_lat = TRUE;
+                       } else if (!strcmp(attr_name, "lon")) {
+                               lon = g_ascii_strtod(attr_val, &error_check);
+                               if (error_check != attr_val)
+                                       has_lon = TRUE;
                        }
-                       if (has_lat && has_lon) {
-                               MACRO_PATH_INCREMENT_TAIL(data->path);
-                               latlon2unit(lat, lon, data->path.tail->unitx, data->path.tail->unity);
-                               data->path.tail->time = 0;
-                               data->path.tail->altitude = NAN;
-                               data->state = INSIDE_PATH_POINT;
-                       } else
-                               data->state = ERROR;
+               }
+               if (has_lat && has_lon) {
+                       MACRO_PATH_INCREMENT_TAIL(data->path);
+                       latlon2unit(lat, lon, data->path.tail->unitx, data->path.tail->unity);
+                       data->path.tail->time = 0;
+                       data->path.tail->altitude = NAN;
+                       data->state = INSIDE_PATH_POINT;
                } else
-                       MACRO_SET_UNKNOWN();
-       break;
-       case INSIDE_PATH_POINT:
-               if (!strcmp((gchar *) name, "time"))
-                       data->state = INSIDE_PATH_POINT_TIME;
-               else if (!strcmp((gchar *) name, "ele"))
-                       data->state = INSIDE_PATH_POINT_ELE;
-               else if (!strcmp((gchar *) name, "desc"))
-                       data->state = INSIDE_PATH_POINT_DESC;
-               else if (!strcmp((gchar *) name, "name"))
-                       data->state = INSIDE_PATH_POINT_NAME;
-               else
-                       MACRO_SET_UNKNOWN();
-       break;
-       case UNKNOWN:
-               data->unknown_depth++;
-       break;
-       default:
-               ;
-       }
+                       data->state = ERROR;
+       } else
+               MACRO_SET_UNKNOWN();
+break;
+case INSIDE_PATH_POINT:
+       if (!strcmp((gchar *) name, "time"))
+               data->state = INSIDE_PATH_POINT_TIME;
+       else if (!strcmp((gchar *) name, "ele"))
+               data->state = INSIDE_PATH_POINT_ELE;
+       else if (!strcmp((gchar *) name, "desc"))
+               data->state = INSIDE_PATH_POINT_DESC;
+       else if (!strcmp((gchar *) name, "name"))
+               data->state = INSIDE_PATH_POINT_NAME;
+       else
+               MACRO_SET_UNKNOWN();
+break;
+case UNKNOWN:
+       data->unknown_depth++;
+break;
+default: ;
+}
 
 }
 
@@ -308,136 +304,135 @@ gpx_start_element(SaxData * data, const xmlChar * name, const xmlChar ** attrs)
 static void 
 gpx_end_element(SaxData * data, const xmlChar * name)
 {
-       g_debug("GPX-END: %s", name);
+g_debug("GPX-END: %s", name);
 
-       switch (data->state) {
-       case ERROR:
+switch (data->state) {
+case ERROR:
 
-       break;
-       case START:
+break;
+case START:
+       data->state = ERROR;
+break;
+case INSIDE_GPX:
+       if (!strcmp((gchar *) name, "gpx"))
+               data->state = FINISH;
+       else
                data->state = ERROR;
-       break;
-       case INSIDE_GPX:
-               if (!strcmp((gchar *) name, "gpx"))
-                       data->state = FINISH;
-               else
-                       data->state = ERROR;
-       break;
-       case INSIDE_METADATA:
-               if (!strcmp((gchar *) name, "metadata"))
-                       data->state = INSIDE_GPX;
-       break;
-       case INSIDE_PATH:
-               if (!strcmp((gchar *) name, "trk"))
-                       data->state = INSIDE_GPX;
-               else
-                       data->state = ERROR;
-       break;
-       case INSIDE_PATH_SEGMENT:
-               if (!strcmp((gchar *) name, "trkseg")) {
-                       if (data->at_least_one_trkpt) {
-                               MACRO_PATH_INCREMENT_TAIL(data->path);
-                               *data->path.tail = _point_null;
-                       }
-                       data->state = INSIDE_PATH;
-               } else
-                       data->state = ERROR;
-       break;
-       case INSIDE_PATH_POINT:
-               if (!strcmp((gchar *) name, "trkpt")) {
-                       data->state = INSIDE_PATH_SEGMENT;
-                       data->at_least_one_trkpt = TRUE;
-               } else
+break;
+case INSIDE_METADATA:
+       if (!strcmp((gchar *) name, "metadata"))
+               data->state = INSIDE_GPX;
+break;
+case INSIDE_PATH:
+       if (!strcmp((gchar *) name, "trk"))
+               data->state = INSIDE_GPX;
+       else
+               data->state = ERROR;
+break;
+case INSIDE_PATH_SEGMENT:
+       if (!strcmp((gchar *) name, "trkseg")) {
+               if (data->at_least_one_trkpt) {
+                       MACRO_PATH_INCREMENT_TAIL(data->path);
+                       *data->path.tail = _point_null;
+               }
+               data->state = INSIDE_PATH;
+       } else
+               data->state = ERROR;
+break;
+case INSIDE_PATH_POINT:
+       if (!strcmp((gchar *) name, "trkpt")) {
+               data->state = INSIDE_PATH_SEGMENT;
+               data->at_least_one_trkpt = TRUE;
+       } else
+               data->state = ERROR;
+break;
+case INSIDE_PATH_POINT_ELE:
+       if (!strcmp((gchar *) name, "ele")) {
+               gchar *error_check;
+               data->path.tail->altitude = g_ascii_strtod(data->chars->str, &error_check);
+               if (error_check == data->chars->str)
+                       data->path.tail->altitude = NAN;
+               data->state = INSIDE_PATH_POINT;
+               g_string_free(data->chars, TRUE);
+               data->chars = g_string_new("");
+       } else
+               data->state = ERROR;
+break;
+case INSIDE_PATH_POINT_TIME:
+       if (!strcmp((gchar *) name, "time")) {
+               struct tm time;
+               gchar *ptr;
+
+               if (NULL == (ptr = strptime(data->chars->str, XML_DATE_FORMAT, &time)))
+                       /* Failed to parse dateTime format. */
                        data->state = ERROR;
-       break;
-       case INSIDE_PATH_POINT_ELE:
-               if (!strcmp((gchar *) name, "ele")) {
+               else {
+                       /* Parse was successful. Now we have to parse timezone.
+                        * From here on, if there is an error, I just assume local
+                        * timezone.  Yes, this is not proper XML, but I don't
+                        * care. */
                        gchar *error_check;
-                       data->path.tail->altitude = g_ascii_strtod(data->chars->str, &error_check);
-                       if (error_check == data->chars->str)
-                               data->path.tail->altitude = NAN;
-                       data->state = INSIDE_PATH_POINT;
-                       g_string_free(data->chars, TRUE);
-                       data->chars = g_string_new("");
-               } else
-                       data->state = ERROR;
-       break;
-       case INSIDE_PATH_POINT_TIME:
-               if (!strcmp((gchar *) name, "time")) {
-                       struct tm time;
-                       gchar *ptr;
-
-                       if (NULL == (ptr = strptime(data->chars->str, XML_DATE_FORMAT, &time)))
-                               /* Failed to parse dateTime format. */
-                               data->state = ERROR;
-                       else {
-                               /* Parse was successful. Now we have to parse timezone.
-                                * From here on, if there is an error, I just assume local
-                                * timezone.  Yes, this is not proper XML, but I don't
-                                * care. */
-                               gchar *error_check;
-
-                               /* First, set time in "local" time zone. */
-                               data->path.tail->time = (mktime(&time));
-
-                               /* Now, skip inconsequential characters */
-                               while (*ptr && *ptr != 'Z' && *ptr != '-' && *ptr != '+')
-                                       ptr++;
-
-                               /* Check if we ran to the end of the string. */
-                               if (*ptr) {
-                                       /* Next character is either 'Z', '-', or '+' */
-                                       if (*ptr == 'Z')
-                                               /* Zulu (UTC) time. Undo the local time zone's offset. */
-                                               data->path.tail->time += time.tm_gmtoff;
-                                       else {
-                                               /* Not Zulu (UTC). Must parse hours and minutes. */
-                                               gint offhours = strtol(ptr, &error_check, 10);
-                                               if (error_check != ptr && *(ptr = error_check) == ':') {
-                                                       /* Parse of hours worked. Check minutes. */
-                                                       gint offmins = strtol(ptr + 1, &error_check, 10);
-                                                       if (error_check != (ptr + 1)) {
-                                                               /* Parse of minutes worked. Calculate. */
-                                                               data->path.tail->time += (time.tm_gmtoff - (offhours * 60 * 60 + offmins * 60));
-                                                       }
+
+                       /* First, set time in "local" time zone. */
+                       data->path.tail->time = (mktime(&time));
+
+                       /* Now, skip inconsequential characters */
+                       while (*ptr && *ptr != 'Z' && *ptr != '-' && *ptr != '+')
+                               ptr++;
+
+                       /* Check if we ran to the end of the string. */
+                       if (*ptr) {
+                               /* Next character is either 'Z', '-', or '+' */
+                               if (*ptr == 'Z')
+                                       /* Zulu (UTC) time. Undo the local time zone's offset. */
+                                       data->path.tail->time += time.tm_gmtoff;
+                               else {
+                                       /* Not Zulu (UTC). Must parse hours and minutes. */
+                                       gint offhours = strtol(ptr, &error_check, 10);
+                                       if (error_check != ptr && *(ptr = error_check) == ':') {
+                                               /* Parse of hours worked. Check minutes. */
+                                               gint offmins = strtol(ptr + 1, &error_check, 10);
+                                               if (error_check != (ptr + 1)) {
+                                                       /* Parse of minutes worked. Calculate. */
+                                                       data->path.tail->time += (time.tm_gmtoff - (offhours * 60 * 60 + offmins * 60));
                                                }
                                        }
                                }
-                               /* Successfully parsed dateTime. */
-                               data->state = INSIDE_PATH_POINT;
                        }
-
-                       g_string_free(data->chars, TRUE);
-                       data->chars = g_string_new("");
-               } else
-                       data->state = ERROR;
-       break;
-       case INSIDE_PATH_POINT_DESC:
-               /* only parse description for routes */
-               if (!strcmp((gchar *) name, "desc")) {
-                       MACRO_PATH_INCREMENT_WTAIL(data->path);
-                       data->path.wtail->point = data->path.tail;
-                       data->path.wtail->desc = g_string_free(data->chars, FALSE);
-                       data->chars = g_string_new("");
+                       /* Successfully parsed dateTime. */
                        data->state = INSIDE_PATH_POINT;
-               } else
-                       data->state = ERROR;
-       break;
-       case INSIDE_PATH_POINT_NAME:
-                       /* Just ignore these for now */
-                       g_string_free(data->chars, FALSE);
-                       data->chars = g_string_new("");
-                       data->state = INSIDE_PATH_POINT;
-       break;
-       case UNKNOWN:
-               if (!--data->unknown_depth)
-                       data->state = data->prev_state;
-               else
-                       data->state = ERROR;
-       break;
-       default:
-               ;
-       }
+               }
+
+               g_string_free(data->chars, TRUE);
+               data->chars = g_string_new("");
+       } else
+               data->state = ERROR;
+break;
+case INSIDE_PATH_POINT_DESC:
+       /* only parse description for routes */
+       if (!strcmp((gchar *) name, "desc")) {
+               MACRO_PATH_INCREMENT_WTAIL(data->path);
+               data->path.wtail->point = data->path.tail;
+               data->path.wtail->desc = g_string_free(data->chars, FALSE);
+               data->chars = g_string_new("");
+               data->state = INSIDE_PATH_POINT;
+       } else
+               data->state = ERROR;
+break;
+case INSIDE_PATH_POINT_NAME:
+               /* Just ignore these for now */
+               g_string_free(data->chars, FALSE);
+               data->chars = g_string_new("");
+               data->state = INSIDE_PATH_POINT;
+break;
+case UNKNOWN:
+       if (!--data->unknown_depth)
+               data->state = data->prev_state;
+       else
+               data->state = ERROR;
+break;
+default: ;
+}
 
 }
 
@@ -447,23 +442,23 @@ gpx_end_element(SaxData * data, const xmlChar * name)
 static void 
 gpx_chars(SaxData * data, const xmlChar * ch, int len)
 {
-       guint i;
+guint i;
 
-       switch (data->state) {
-       case ERROR:
-       case UNKNOWN:
-               break;
-       case INSIDE_PATH_POINT_ELE:
-       case INSIDE_PATH_POINT_TIME:
-       case INSIDE_PATH_POINT_DESC:
-       case INSIDE_PATH_POINT_NAME:
-               for (i = 0; i < len; i++)
-                       data->chars = g_string_append_c(data->chars, ch[i]);
-               g_debug("GPXC: %s", data->chars->str);
-               break;
-       default:
-               break;
-       }
+switch (data->state) {
+case ERROR:
+case UNKNOWN:
+       break;
+case INSIDE_PATH_POINT_ELE:
+case INSIDE_PATH_POINT_TIME:
+case INSIDE_PATH_POINT_DESC:
+case INSIDE_PATH_POINT_NAME:
+       for (i = 0; i < len; i++)
+               data->chars = g_string_append_c(data->chars, ch[i]);
+       g_debug("GPXC: %s", data->chars->str);
+       break;
+default:
+break;
+}
 
 }
 
@@ -474,7 +469,7 @@ gpx_chars(SaxData * data, const xmlChar * ch, int len)
 static xmlEntityPtr 
 gpx_get_entity(SaxData * data, const xmlChar * name)
 {
-       return xmlGetPredefinedEntity(name);
+return xmlGetPredefinedEntity(name);
 }
 
 /**
@@ -483,95 +478,94 @@ gpx_get_entity(SaxData * data, const xmlChar * name)
 static void 
 gpx_error(SaxData * data, const gchar * msg, ...)
 {
-       data->state = ERROR;
+data->state = ERROR;
 }
 
 gboolean
 parse_gpx(Path * to_replace, gchar * buffer, gint size, gint policy_old)
 {
-       SaxData data;
-       xmlSAXHandler sax_handler;
-
-       MACRO_PATH_INIT(data.path);
-       data.state = START;
-       data.chars = g_string_new("");
-
-       memset(&sax_handler, 0, sizeof(sax_handler));
-       sax_handler.characters = (charactersSAXFunc) gpx_chars;
-       sax_handler.startElement = (startElementSAXFunc) gpx_start_element;
-       sax_handler.endElement = (endElementSAXFunc) gpx_end_element;
-       sax_handler.entityDecl = (entityDeclSAXFunc) gpx_get_entity;
-       sax_handler.warning = (warningSAXFunc) gpx_error;
-       sax_handler.error = (errorSAXFunc) gpx_error;
-       sax_handler.fatalError = (fatalErrorSAXFunc) gpx_error;
-
-       xmlSAXUserParseMemory(&sax_handler, &data, buffer, size);
-       g_string_free(data.chars, TRUE);
-
-       if (data.state != FINISH) {
-               g_debug("GPX: Parser stopped in error state %d", data.state);
-               return FALSE;
-       }
+SaxData data;
+xmlSAXHandler sax_handler;
+
+MACRO_PATH_INIT(data.path);
+data.state = START;
+data.chars = g_string_new("");
+
+memset(&sax_handler, 0, sizeof(sax_handler));
+sax_handler.characters = (charactersSAXFunc) gpx_chars;
+sax_handler.startElement = (startElementSAXFunc) gpx_start_element;
+sax_handler.endElement = (endElementSAXFunc) gpx_end_element;
+sax_handler.entityDecl = (entityDeclSAXFunc) gpx_get_entity;
+sax_handler.warning = (warningSAXFunc) gpx_error;
+sax_handler.error = (errorSAXFunc) gpx_error;
+sax_handler.fatalError = (fatalErrorSAXFunc) gpx_error;
+
+xmlSAXUserParseMemory(&sax_handler, &data, buffer, size);
+g_string_free(data.chars, TRUE);
+
+if (data.state != FINISH) {
+       g_debug("GPX: Parser stopped in error state %d", data.state);
+       return FALSE;
+}
 
-       if (policy_old && to_replace->head != to_replace->tail) {
-               Point *src_first;
-               Path *src, *dest;
+if (policy_old && to_replace->head != to_replace->tail) {
+       Point *src_first;
+       Path *src, *dest;
 
-               if (policy_old > 0) {
-                       /* Append to current path. Make sure last path point is zero. */
-                       if (to_replace->tail->unity != 0) {
-                               MACRO_PATH_INCREMENT_TAIL((*to_replace));
-                               *to_replace->tail = _point_null;
-                       }
-                       src = &data.path;
-                       dest = to_replace;
-               } else {
-                       /* Prepend to current route. */
-                       src = to_replace;
-                       dest = &data.path;
+       if (policy_old > 0) {
+               /* Append to current path. Make sure last path point is zero. */
+               if (to_replace->tail->unity != 0) {
+                       MACRO_PATH_INCREMENT_TAIL((*to_replace));
+                       *to_replace->tail = _point_null;
                }
+               src = &data.path;
+               dest = to_replace;
+       } else {
+               /* Prepend to current route. */
+               src = to_replace;
+               dest = &data.path;
+       }
 
-               /* Find src_first non-zero point. */
-               for (src_first = src->head - 1; src_first++ != src->tail;)
-                       if (src_first->unity)
-                               break;
-
-               /* Append route points from src to dest. */
-               if (src->tail >= src_first) {
-                       WayPoint *curr;
-                       guint num_dest_points = dest->tail - dest->head + 1;
-                       guint num_src_points = src->tail - src_first + 1;
+       /* Find src_first non-zero point. */
+       for (src_first = src->head - 1; src_first++ != src->tail;)
+               if (src_first->unity)
+                       break;
 
-                       /* Adjust dest->tail to be able to fit src route data
-                        * plus room for more route data. */
-                       path_resize(dest, num_dest_points + num_src_points);
+       /* Append route points from src to dest. */
+       if (src->tail >= src_first) {
+               WayPoint *curr;
+               guint num_dest_points = dest->tail - dest->head + 1;
+               guint num_src_points = src->tail - src_first + 1;
 
-                       memcpy(dest->tail + 1, src_first, num_src_points * sizeof(Point));
+               /* Adjust dest->tail to be able to fit src route data
+                * plus room for more route data. */
+               path_resize(dest, num_dest_points + num_src_points);
 
-                       dest->tail += num_src_points;
+               memcpy(dest->tail + 1, src_first, num_src_points * sizeof(Point));
 
-                       /* Append waypoints from src to dest->. */
-                       path_wresize(dest, (dest->wtail - dest->whead) + (src->wtail - src->whead) + 2);
-                       for (curr = src->whead - 1; curr++ != src->wtail;) {
-                               (++(dest->wtail))->point = dest->head + num_dest_points + (curr->point - src_first);
-                               dest->wtail->desc = curr->desc;
-                       }
+               dest->tail += num_src_points;
 
+               /* Append waypoints from src to dest->. */
+               path_wresize(dest, (dest->wtail - dest->whead) + (src->wtail - src->whead) + 2);
+               for (curr = src->whead - 1; curr++ != src->wtail;) {
+                       (++(dest->wtail))->point = dest->head + num_dest_points + (curr->point - src_first);
+                       dest->wtail->desc = curr->desc;
                }
-
-               /* Kill old route - don't use MACRO_PATH_FREE(), because that
-                * would free the string desc's that we just moved to data.route. */
-               g_free(src->head);
-               g_free(src->whead);
-               if (policy_old < 0)
-                       (*to_replace) = *dest;
-       } else {
-               MACRO_PATH_FREE((*to_replace));
-               /* Overwrite with data.route. */
-               (*to_replace) = data.path;
-               path_resize(to_replace, to_replace->tail - to_replace->head + 1);
-               path_wresize(to_replace, to_replace->wtail - to_replace->whead + 1);
        }
 
-       return TRUE;
+       /* Kill old route - don't use MACRO_PATH_FREE(), because that
+        * would free the string desc's that we just moved to data.route. */
+       g_free(src->head);
+       g_free(src->whead);
+       if (policy_old < 0)
+               (*to_replace) = *dest;
+} else {
+       MACRO_PATH_FREE((*to_replace));
+       /* Overwrite with data.route. */
+       (*to_replace) = data.path;
+       path_resize(to_replace, to_replace->tail - to_replace->head + 1);
+       path_wresize(to_replace, to_replace->wtail - to_replace->whead + 1);
+}
+
+return TRUE;
 }