/[zanavi_public1]/navit/navit/maptool/itembin_buffer.c
ZANavi

Contents of /navit/navit/maptool/itembin_buffer.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8 - (hide annotations) (download)
Fri Oct 28 21:39:42 2011 UTC (12 years, 5 months ago) by zoff99
File MIME type: text/plain
File size: 1555 byte(s)
import
1 zoff99 8 /**
2     * Navit, a modular navigation system.
3     * Copyright (C) 2005-2011 Navit Team
4     *
5     * This program is free software; you can redistribute it and/or
6     * modify it under the terms of the GNU General Public License
7     * version 2 as published by the Free Software Foundation.
8     *
9     * This program is distributed in the hope that it will be useful,
10     * but WITHOUT ANY WARRANTY; without even the implied warranty of
11     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12     * GNU General Public License for more details.
13     *
14     * You should have received a copy of the GNU General Public License
15     * along with this program; if not, write to the
16     * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     * Boston, MA 02110-1301, USA.
18     */
19     #include <string.h>
20     #include <stdlib.h>
21     #include "maptool.h"
22     #include "debug.h"
23    
24    
25     static char buffer[800000];
26     struct item_bin *item_bin=(struct item_bin *)(void *)buffer;
27    
28     struct item_bin *
29     read_item(FILE *in)
30     {
31     struct item_bin *ib=(struct item_bin *) buffer;
32     for (;;) {
33     switch (item_bin_read(ib, in)) {
34     case 0:
35     return NULL;
36     case 2:
37     dbg_assert((ib->len+1)*4 < sizeof(buffer));
38     bytes_read+=(ib->len+1)*sizeof(int);
39     return ib;
40     default:
41     continue;
42     }
43     }
44     }
45    
46     struct item_bin *
47     read_item_range(FILE *in, int *min, int *max)
48     {
49     struct range r;
50    
51     if (fread(&r, sizeof(r), 1, in) != 1)
52     return NULL;
53     *min=r.min;
54     *max=r.max;
55     return read_item(in);
56     }
57    
58     struct item_bin *
59     init_item(enum item_type type)
60     {
61     struct item_bin *ib=(struct item_bin *) buffer;
62    
63     item_bin_init(ib, type);
64     return ib;
65     }

   
Visit the ZANavi Wiki