Clean up
This commit is contained in:
parent
6e5b86c076
commit
c0de012044
@ -203,7 +203,14 @@ GList *dijkstra_search_get_route(struct dijkstra_search *search,
|
||||
return l;
|
||||
}
|
||||
|
||||
int printb(char **buf, int *offset, const char *__restrict __format, ...)
|
||||
/*!
|
||||
* \brief sdprintf printf to a dynamic buffer
|
||||
* \param buf The character buffer. Will append if not NULL;
|
||||
* \param offset Should be set to strlen when continuing a string. Will be incremented automatically.
|
||||
* \param __format printf format string
|
||||
* \return the number of bytes written
|
||||
*/
|
||||
int sdprintf(char **buf, int *offset, const char *__restrict __format, ...)
|
||||
{
|
||||
va_list vargs;
|
||||
int len;
|
||||
@ -236,7 +243,7 @@ int dijkstra_search_route_to_geojson(struct dijkstra_search *search,
|
||||
|
||||
*buf = NULL;
|
||||
|
||||
printb(buf, &offset, "[");
|
||||
sdprintf(buf, &offset, "[");
|
||||
|
||||
for (l = route; l != NULL; l = l->next) {
|
||||
node = (struct dijkstra_node*) l->data;
|
||||
@ -258,31 +265,31 @@ int dijkstra_search_route_to_geojson(struct dijkstra_search *search,
|
||||
format_str = "Go %s onto %s.";
|
||||
|
||||
if (node_last != search->start)
|
||||
printb(buf, &offset, ",");
|
||||
printb(buf, &offset, "\n");
|
||||
printb(buf, &offset, "{\"type\": \"Feature\",\n"
|
||||
sdprintf(buf, &offset, ",");
|
||||
sdprintf(buf, &offset, "\n");
|
||||
sdprintf(buf, &offset, "{\"type\": \"Feature\",\n"
|
||||
" \"geometry\": {\n"
|
||||
" \"type\": \"LineString\", \"coordinates\": [[%f,%f],[%f,%f]]\n"
|
||||
" },\n",
|
||||
node_last->position.x, node_last->position.y,
|
||||
node->position.x, node->position.y);
|
||||
printb(buf, &offset, " \"properties\": {\n"
|
||||
sdprintf(buf, &offset, " \"properties\": {\n"
|
||||
" \"heading\": \"%f\",\n"
|
||||
" \"through\": \"%s\",\n",
|
||||
heading, search->states[node->uid]->cheapest_path->name);
|
||||
|
||||
printb(buf, &offset, " \"description\": \"");
|
||||
printb(buf, &offset, format_str, relative_direction_str, search->states[node->uid]->cheapest_path->name);
|
||||
printb(buf, &offset, "\"\n");
|
||||
sdprintf(buf, &offset, " \"description\": \"");
|
||||
sdprintf(buf, &offset, format_str, relative_direction_str, search->states[node->uid]->cheapest_path->name);
|
||||
sdprintf(buf, &offset, "\"\n");
|
||||
|
||||
printb(buf, &offset, " }\n");
|
||||
printb(buf, &offset, "}");
|
||||
sdprintf(buf, &offset, " }\n");
|
||||
sdprintf(buf, &offset, "}");
|
||||
last_heading = heading;
|
||||
}
|
||||
node_last = node;
|
||||
}
|
||||
|
||||
printb(buf, &offset, "\n]\n");
|
||||
sdprintf(buf, &offset, "\n]\n");
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -117,7 +117,6 @@ static void dijkstra_serv_soup_callback (SoupServer *server,
|
||||
soup_message_set_status (msg, SOUP_STATUS_OK);
|
||||
}
|
||||
|
||||
|
||||
soup_message_set_response (msg, "application/json", SOUP_MEMORY_COPY,
|
||||
body, body_len);
|
||||
free(body);
|
||||
|
Loading…
Reference in New Issue
Block a user