From: Kaj-Michael Lang Date: Thu, 12 Jun 2008 12:16:23 +0000 (+0300) Subject: Path: move privat macros into path.c from path.h X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee6e418bc21adc408d6232838415677fd3732333;p=mapper Path: move privat macros into path.c from path.h --- diff --git a/libs/libgtkmap/path.c b/libs/libgtkmap/path.c index ec2de14..59d72b2 100644 --- a/libs/libgtkmap/path.c +++ b/libs/libgtkmap/path.c @@ -67,6 +67,35 @@ static struct sql_select_stmt sql; #define PATH_SQL_INSERT_TRACK_POINT "insert into trackpoints (tid,dt,lat,lon,alt,hdop,vdop,pdop,sat,fix) values (?,?,?,?,?,?,?,?,?,?)" #define PATH_SQL_SELECT_TRACK_POINTS "select tid,dt,lat,lon,alt,hdop,vdop,pdop,sat,fix from trackpoints where tid=? order by dt" +#define MACRO_PATH_INIT(path) { \ + (path).head = (path).tail = g_new0(Point, ARRAY_CHUNK_SIZE); \ + *((path).tail) = _point_null; \ + (path).cap = (path).head + ARRAY_CHUNK_SIZE; \ + (path).whead = g_new0(WayPoint, ARRAY_CHUNK_SIZE); \ + (path).wtail = (path).whead; \ + (path).wcap = (path).whead + ARRAY_CHUNK_SIZE; \ +} + +#define MACRO_PATH_FREE(path) if((path).head) { \ + WayPoint *curr; \ + g_free((path).head); \ + (path).head = (path).tail = (path).cap = NULL; \ + for(curr = (path).whead; curr++ != (path).wtail; ) \ + g_free(curr->desc); \ + g_free((path).whead); \ + (path).whead = (path).wtail = (path).wcap = NULL; \ +} + +#define MACRO_PATH_INCREMENT_TAIL(route) { \ + if(++(route).tail == (route).cap) \ + path_resize(&(route), (route).cap - (route).head + ARRAY_CHUNK_SIZE);\ +} + +#define MACRO_PATH_INCREMENT_WTAIL(route) { \ + if(++(route).wtail == (route).wcap) \ + path_wresize(&(route), (route).wcap - (route).whead + ARRAY_CHUNK_SIZE); \ +} + enum { NEW_POINT, /* A new point was appended to track track */ NEW_BREAK, /* A break was appended to the track */ diff --git a/libs/libgtkmap/path.h b/libs/libgtkmap/path.h index 5cf25be..703021c 100644 --- a/libs/libgtkmap/path.h +++ b/libs/libgtkmap/path.h @@ -197,35 +197,6 @@ gboolean path_get_waypoint_latlon(WayPoint *way, gdouble *lat, gdouble *lon); GtkListStore *path_get_waypoints_store(Path *path); -#define MACRO_PATH_INIT(path) { \ - (path).head = (path).tail = g_new0(Point, ARRAY_CHUNK_SIZE); \ - *((path).tail) = _point_null; \ - (path).cap = (path).head + ARRAY_CHUNK_SIZE; \ - (path).whead = g_new0(WayPoint, ARRAY_CHUNK_SIZE); \ - (path).wtail = (path).whead; \ - (path).wcap = (path).whead + ARRAY_CHUNK_SIZE; \ -} - -#define MACRO_PATH_FREE(path) if((path).head) { \ - WayPoint *curr; \ - g_free((path).head); \ - (path).head = (path).tail = (path).cap = NULL; \ - for(curr = (path).whead; curr++ != (path).wtail; ) \ - g_free(curr->desc); \ - g_free((path).whead); \ - (path).whead = (path).wtail = (path).wcap = NULL; \ -} - -#define MACRO_PATH_INCREMENT_TAIL(route) { \ - if(++(route).tail == (route).cap) \ - path_resize(&(route), (route).cap - (route).head + ARRAY_CHUNK_SIZE);\ -} - -#define MACRO_PATH_INCREMENT_WTAIL(route) { \ - if(++(route).wtail == (route).wcap) \ - path_wresize(&(route), (route).wcap - (route).whead + ARRAY_CHUNK_SIZE); \ -} - G_END_DECLS #endif