diff options
Diffstat (limited to 'navit/maptool/buffer.c')
-rw-r--r-- | navit/maptool/buffer.c | 95 |
1 files changed, 46 insertions, 49 deletions
diff --git a/navit/maptool/buffer.c b/navit/maptool/buffer.c index 35f804b5e..43f643461 100644 --- a/navit/maptool/buffer.c +++ b/navit/maptool/buffer.c @@ -24,29 +24,28 @@ /** * @brief Saves a buffer to a file * - * This function 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) -{ - FILE *f; - f=fopen(filename,"rb+"); - if (! f) - f=fopen(filename,"wb+"); - - dbg_assert(f != NULL); - dbg_assert(fseeko(f, offset, SEEK_SET)==0); - dbg_assert(fwrite(b->base, b->size, 1, f)==1); - fclose(f); +save_buffer(char *filename, struct buffer *b, long long offset) { + FILE *f; + f=fopen(filename,"rb+"); + if (! f) + f=fopen(filename,"wb+"); + + dbg_assert(f != NULL); + dbg_assert(fseeko(f, offset, SEEK_SET)==0); + dbg_assert(fwrite(b->base, b->size, 1, f)==1); + fclose(f); } /** * @brief Loads a buffer from a file * - * This function 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. @@ -54,49 +53,47 @@ save_buffer(char *filename, struct buffer *b, long long offset) * @return indicator if operation suceeded */ int -load_buffer(char *filename, struct buffer *b, long long offset, long long size) -{ - FILE *f; - long long len; - dbg_assert(size>=0); - dbg_assert(offset>=0); - g_free(b->base); - b->malloced=0; - f=fopen(filename,"rb"); - fseeko(f, 0, SEEK_END); - len=ftello(f); - dbg_assert(len>=0); - if (offset+size > len) { - size=len-offset; - } - b->size=b->malloced=size; - dbg_assert(b->size>0); +load_buffer(char *filename, struct buffer *b, long long offset, long long size) { + FILE *f; + long long len; + dbg_assert(size>=0); + dbg_assert(offset>=0); + g_free(b->base); + b->malloced=0; + f=fopen(filename,"rb"); + fseeko(f, 0, SEEK_END); + len=ftello(f); + dbg_assert(len>=0); + if (offset+size > len) { + size=len-offset; + } + b->size=b->malloced=size; + dbg_assert(b->size>0); - fseeko(f, offset, SEEK_SET); - b->base=g_malloc(b->size); - if (fread(b->base, b->size, 1, f) == 0){ - dbg(lvl_warning, "fread failed"); - fclose(f); - return 0; - } - fclose(f); - return 1; + fseeko(f, offset, SEEK_SET); + b->base=g_malloc(b->size); + if (fread(b->base, b->size, 1, f) == 0) { + dbg(lvl_warning, "fread failed"); + fclose(f); + return 0; + } + fclose(f); + return 1; } /** - * @brief Determines size of buffer for file + * @brief Determines size of buffer for file * - * This function determines the size of the buffer required to read a 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) -{ - long long ret; - FILE *f=fopen(filename,"rb"); - fseeko(f, 0, SEEK_END); - ret=ftello(f); - fclose(f); - return ret; +sizeof_buffer(char *filename) { + long long ret; + FILE *f=fopen(filename,"rb"); + fseeko(f, 0, SEEK_END); + ret=ftello(f); + fclose(f); + return ret; } |