setmap.c - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
setmap.c (560B)
---
1 #include <stdio.h>
2 #include <string.h>
3
4 #include <scc/mach.h>
5
6 #include "libmach.h"
7
8 int
9 setmap(Map *map,
10 char *name,
11 FILE *fp,
12 unsigned long long begin,
13 unsigned long long end,
14 long off)
15 {
16 int n;
17 Mapsec *sec;
18
19 n = map->n;
20 for (sec = map->sec; n--; sec++) {
21 if (!sec->name || !strcmp(sec->name, name))
22 goto found;
23 }
24
25 if ((map = remap(map, map->n+1 )) == NULL)
26 return -1;
27 sec = &map->sec[map->n-1];
28
29 found:
30 sec->name = name;
31 sec->fp = fp,
32 sec->begin = begin;
33 sec->end = end;
34 sec->offset = off;
35 return 0;
36 }