summaryrefslogtreecommitdiff
path: root/navit/maptool/maptool.h
diff options
context:
space:
mode:
Diffstat (limited to 'navit/maptool/maptool.h')
-rw-r--r--navit/maptool/maptool.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/navit/maptool/maptool.h b/navit/maptool/maptool.h
index 7fde891dd..eca708591 100644
--- a/navit/maptool/maptool.h
+++ b/navit/maptool/maptool.h
@@ -115,11 +115,11 @@ struct item_bin_sink {
void *priv_data[8];
GList *sink_funcs;
};
-
+#define NODE_ID_BITS 56
struct node_item {
- unsigned int id;
- char ref_way;
struct coord c;
+ unsigned long long int nd_id:NODE_ID_BITS;
+ char ref_way;
};
struct zip_info;
@@ -131,7 +131,7 @@ struct country_table;
* Must be at least 64 bit wide because IDs will soon exceed 32 bit.
*/
typedef unsigned long long int osmid;
-#define OSMID_FMT LONGLONG_FMT
+#define OSMID_FMT ULONGLONG_FMT
/** Files needed for processing a relation. */
struct files_relation_processing {
@@ -418,3 +418,6 @@ int zip_get_zipnum(struct zip_info *info);
void zip_set_zipnum(struct zip_info *info, int num);
void zip_close(struct zip_info *info);
void zip_destroy(struct zip_info *info);
+
+/* Break compilation on 32 bit architectures, as we're going to cast osmid's to gpointer to use them as keys to GHashTable's */
+struct maptool_force_64 {char s[sizeof(gpointer)<sizeof(osmid)?-1:1];};