summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Höhn <hoehnp@users.noreply.github.com>2018-02-12 23:31:17 +0100
committerGitHub <noreply@github.com>2018-02-12 23:31:17 +0100
commit868b43dc4aba9e621420abab8a46f41e0af7c567 (patch)
treed5bef973dd2d442fa8280078a8ddcddf1b5f6ebf
parentdbc50091a289b6f99aae0a9f23311fba22f85685 (diff)
parent16b8f12237b20d9d9775c18e3c664f26ed3748e3 (diff)
downloadnavit-868b43dc4aba9e621420abab8a46f41e0af7c567.tar.gz
Merge pull request #395 from hoehnp/fix_compiler_warning
fix:build:fixed compiler warning in maptool module
-rw-r--r--navit/maptool/buffer.c43
-rw-r--r--navit/maptool/ch.c17
-rw-r--r--navit/maptool/maptool.c27
-rw-r--r--navit/maptool/maptool.h4
-rw-r--r--navit/maptool/tile.c20
-rw-r--r--navit/maptool/zip.c15
6 files changed, 97 insertions, 29 deletions
diff --git a/navit/maptool/buffer.c b/navit/maptool/buffer.c
index 2907b0670..e6f8beea0 100644
--- a/navit/maptool/buffer.c
+++ b/navit/maptool/buffer.c
@@ -1,6 +1,6 @@
/**
* Navit, a modular navigation system.
- * Copyright (C) 2005-2011 Navit Team
+ * Copyright (C) 2005-2018 Navit Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -21,6 +21,15 @@
#include "maptool.h"
#include "debug.h"
+/**
+ * @brief Saves a buffer to a file
+ *
+ * This function saves a buffer to a file.
+ *
+ * @param filename The name of the while to where the buffer is saved to.
+ * @param b Buffer which is saved to file.
+ * @param offset
+ */
void
save_buffer(char *filename, struct buffer *b, long long offset)
{
@@ -34,8 +43,17 @@ save_buffer(char *filename, struct buffer *b, long long offset)
dbg_assert(fwrite(b->base, b->size, 1, f)==1);
fclose(f);
}
-
-void
+/**
+ * @brief Loads a buffer from a file
+ *
+ * This function loads a buffer from a file.
+ *
+ * @param filename The name of the while to where the buffer is loaded from.
+ * @param b Buffer in which file is loaded.
+ * @param offset
+ * @return indicator if operation suceeded
+ */
+int
load_buffer(char *filename, struct buffer *b, long long offset, long long size)
{
FILE *f;
@@ -54,16 +72,25 @@ load_buffer(char *filename, struct buffer *b, long long offset, long long size)
}
b->size=b->malloced=size;
dbg_assert(b->size>0);
-#if 0
- fprintf(stderr,"reading "LONGLONG_FMT" bytes from %s of "LONGLONG_FMT" bytes at "LONGLONG_FMT"\n", b->size, filename, len, offset);
-#endif
+
fseeko(f, offset, SEEK_SET);
b->base=malloc(b->size);
dbg_assert(b->base != NULL);
- fread(b->base, b->size, 1, f);
+ if (fread(b->base, b->size, 1, f) == 0){
+ dbg(lvl_warning, "fread failed");
+ return 0;
+ }
fclose(f);
+ return 1;
}
-
+/**
+ * @brief Determines size of buffer for file
+ *
+ * This function determines the size of the buffer required to read a file.
+ *
+ * @param filename Name of file for which the required size of the buffer is determined
+ * @return required size of buffer
+ */
long long
sizeof_buffer(char *filename)
{
diff --git a/navit/maptool/ch.c b/navit/maptool/ch.c
index b1b0b1bf6..b1f7d9d01 100644
--- a/navit/maptool/ch.c
+++ b/navit/maptool/ch.c
@@ -204,7 +204,11 @@ ch_generate_ddsg(FILE *in, FILE *ref, FILE *idx, FILE *ddsg)
int n1,n2,speed=road_speed(ib->type);
struct item_id road_id;
double l;
- fread(&road_id, sizeof(road_id), 1, ref);
+
+ if (fread(&road_id, sizeof(road_id), 1, ref) == 0){
+ dbg(lvl_warning, "fread failed");
+ continue;
+ }
if (speed) {
struct edge_hash_item *hi=g_slice_new(struct edge_hash_item);
struct item_id *id=g_slice_new(struct item_id);
@@ -229,12 +233,19 @@ ch_generate_sgr(char *suffix)
{
#ifndef HAVE_API_WIN32_CE
char command[1024];
+ int system_result;
sprintf(command,"./contraction-hierarchies-20080621/main -s -p -f ddsg_%s.tmp -o hcn_%s.tmp -l hcn_log_%s.tmp -x 190 -y 1 -e 600 -p 1000 -k 1,3.3,2,10,3,10,5",suffix,suffix,suffix);
printf("%s\n",command);
- system(command);
+ system_result = system(command);
+ if (system_result == -1){
+ dbg(lvl_warning, "Running main failed");
+ }
sprintf(command,"./contraction-hierarchies-20080621/main -c -f ddsg_%s.tmp -h hcn_%s.tmp -k 1,3.3,2,10,3,10,5 -C ch_%s.tmp -O 1 -z sgr_%s.tmp",suffix,suffix,suffix,suffix);
printf("%s\n",command);
- system(command);
+ system_result = system(command);
+ if (system_result == -1){
+ dbg(lvl_warning, "Running main failed");
+ }
#endif
}
diff --git a/navit/maptool/maptool.c b/navit/maptool/maptool.c
index b1db65eeb..21cd42e35 100644
--- a/navit/maptool/maptool.c
+++ b/navit/maptool/maptool.c
@@ -26,6 +26,7 @@
#include <signal.h>
#include <stdio.h>
#include <math.h>
+#include <errno.h>
#ifdef _MSC_VER
#include "getopt_long.h"
#define atoll _atoi64
@@ -141,7 +142,9 @@ progress_time(void)
seconds%=60;
pos+=assafe_strcp2buf(seconds>9?":":":0", buflen-pos, buf+pos);
pos+=assafe_lltoa(seconds, buflen-pos, buf+pos);
- write(2,buf,pos);
+ if (write(2,buf,pos) == -1){
+ dbg(lvl_warning, "Writing progress time failed. Error-Code: %d" , errno);
+ }
}
static void
@@ -152,10 +155,14 @@ progress_memory(void)
const int buflen=20;
char buf[buflen];
int pos=1;
+ int write_result;
buf[0]=' ';
pos+=assafe_lltoa(mem/1024/1024, buflen-pos, buf+pos);
pos+=assafe_strcp2buf(" MB", buflen-pos, buf+pos);
- write(2,buf,pos);
+ write_result = write(2,buf,pos);
+ if (write_result == -1){
+ dbg(lvl_warning, "Writing progress memory failed. Error-Code: %d" , errno);
+ }
#endif
}
@@ -165,6 +172,7 @@ sig_alrm_do(int sig)
const int buflen=1024;
char buf[buflen];
int pos=0;
+ int write_result;
#ifndef _WIN32
signal(SIGALRM, sig_alrm_do);
alarm(30);
@@ -182,13 +190,22 @@ sig_alrm_do(int sig)
pos+=assafe_strcp2buf(" relations ", buflen-pos, buf+pos);
pos+=assafe_lltoa(processed_tiles, buflen-pos, buf+pos);
pos+=assafe_strcp2buf(" tiles", buflen-pos, buf+pos);
- write(2,buf,pos);
+ write_result = write(2,buf,pos);
+ if (write_result == -1){
+ dbg(lvl_warning, "Writing sig alrm ailed. Error-Code: %d" , errno);
+ }
progress_time();
progress_memory();
#ifndef _WIN32
- write(2,"\r\n",2);
+ write_result = write(2,"\r\n",2);
+ if (write_result == -1){
+ dbg(lvl_warning, "Writing new line in sig alrm ailed. Error-Code: %d" , errno);
+ }
#else
- write(2,"\n",1);
+ write_result = write(2,"\n",1);
+ if (write_result == -1){
+ dbg(lvl_warning, "Writing new line in sig alrm ailed. Error-Code: %d" , errno);
+ }
#endif
}
diff --git a/navit/maptool/maptool.h b/navit/maptool/maptool.h
index ce147b1a4..edb2a77ef 100644
--- a/navit/maptool/maptool.h
+++ b/navit/maptool/maptool.h
@@ -177,7 +177,7 @@ struct buffer {
};
void save_buffer(char *filename, struct buffer *b, long long offset);
-void load_buffer(char *filename, struct buffer *b, long long offset, long long size);
+int load_buffer(char *filename, struct buffer *b, long long offset, long long size);
long long sizeof_buffer(char *filename);
/* ch.c */
@@ -398,7 +398,7 @@ void index_submap_add(struct tile_info *info, struct tile_head *th);
/* zip.c */
void write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data, int data_size);
-void zip_write_index(struct zip_info *info);
+int zip_write_index(struct zip_info *info);
int zip_write_directory(struct zip_info *info);
struct zip_info *zip_new(void);
void zip_set_zip64(struct zip_info *info, int on);
diff --git a/navit/maptool/tile.c b/navit/maptool/tile.c
index 9d9f94145..76469376c 100644
--- a/navit/maptool/tile.c
+++ b/navit/maptool/tile.c
@@ -405,13 +405,19 @@ write_aux_tiles(struct zip_info *zip_info)
assert(buffer != NULL);
f=fopen(at->filename,"rb");
assert(f != NULL);
- fread(buffer, at->size, 1, f);
- fclose(f);
- write_zipmember(zip_info, at->name, zip_get_maxnamelen(zip_info), buffer, at->size);
- free(buffer);
- count++;
- l=g_list_next(l);
- zip_add_member(zip_info);
+
+ if (fread(buffer, at->size, 1, f) == 0){
+ dbg(lvl_warning, "fread failed");
+ fclose(f);
+ }
+ else{
+ fclose(f);
+ write_zipmember(zip_info, at->name, zip_get_maxnamelen(zip_info), buffer, at->size);
+ free(buffer);
+ count++;
+ l=g_list_next(l);
+ zip_add_member(zip_info);
+ }
}
return count;
}
diff --git a/navit/maptool/zip.c b/navit/maptool/zip.c
index a4e040974..ff9438786 100644
--- a/navit/maptool/zip.c
+++ b/navit/maptool/zip.c
@@ -182,17 +182,24 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
free(compbuffer);
}
-void
+int
zip_write_index(struct zip_info *info)
{
int size=ftell(info->index);
char *buffer;
-
+
buffer=g_alloca(size);
fseek(info->index, 0, SEEK_SET);
- fread(buffer, size, 1, info->index);
- write_zipmember(info, "index", strlen("index"), buffer, size);
+
+ if (fread(buffer, size, 1, info->index) == 0){
+ dbg(lvl_warning, "fread failed");
+ return 1;
+ }
+ else{
+ write_zipmember(info, "index", strlen("index"), buffer, size);
+ }
info->zipnum++;
+ return 0;
}
static void