Lines Matching refs:map
389 add_mlist(struct mlist *mlp, struct magic_map *map, size_t idx) in add_mlist() argument
393 mlp->map = NULL; in add_mlist()
397 ml->map = idx == 0 ? map : NULL; in add_mlist()
398 ml->magic = map->magic[idx]; in add_mlist()
399 ml->nmagic = map->nmagic[idx]; in add_mlist()
414 struct magic_map *map; in apprentice_1() local
420 (unsigned long)sizeof(*map->magic[0]), in apprentice_1()
426 map = apprentice_load(ms, fn, action); in apprentice_1()
427 if (map == NULL) in apprentice_1()
429 return apprentice_compile(ms, map, fn); in apprentice_1()
432 map = apprentice_map(ms, fn); in apprentice_1()
433 if (map == (struct magic_map *)-1) in apprentice_1()
435 if (map == NULL) { in apprentice_1()
439 map = apprentice_load(ms, fn, action); in apprentice_1()
441 if (map == NULL) in apprentice_1()
446 if (add_mlist(ms->mlist[i], map, i) == -1) { in apprentice_1()
525 apprentice_unmap(struct magic_map *map) in apprentice_unmap() argument
527 if (map == NULL) in apprentice_unmap()
529 if (map->p != php_magic_database) { in apprentice_unmap()
530 if (map->p == NULL) { in apprentice_unmap()
533 if (map->magic[j]) { in apprentice_unmap()
534 efree(map->magic[j]); in apprentice_unmap()
538 efree(map->p); in apprentice_unmap()
541 efree(map); in apprentice_unmap()
565 if (ml->map) in mlist_free()
566 apprentice_unmap(CAST(struct magic_map *, ml->map)); in mlist_free()
1234 struct magic_map *map; in apprentice_load() local
1244 if ((map = CAST(struct magic_map *, ecalloc(1, sizeof(*map)))) == NULL) in apprentice_load()
1246 file_oomem(ms, sizeof(*map)); in apprentice_load()
1249 map->type = MAP_TYPE_MALLOC; in apprentice_load()
1325 &map->magic[j], &map->nmagic[j]) == -1) { in apprentice_load()
1336 apprentice_unmap(map); in apprentice_load()
1339 return map; in apprentice_load()
2855 struct magic_map *map; in apprentice_buf() local
2857 if ((map = CAST(struct magic_map *, ecalloc(1, sizeof(*map)))) == NULL) { in apprentice_buf()
2858 file_oomem(ms, sizeof(*map)); in apprentice_buf()
2861 map->len = len; in apprentice_buf()
2862 map->p = buf; in apprentice_buf()
2863 map->type = MAP_TYPE_USER; in apprentice_buf()
2864 if (check_buffer(ms, map, "buffer") != 0) { in apprentice_buf()
2865 apprentice_unmap(map); in apprentice_buf()
2868 return map; in apprentice_buf()
2882 struct magic_map *map; in apprentice_map() local
2889 if ((map = CAST(struct magic_map *, ecalloc(1, sizeof(*map)))) == NULL) { in apprentice_map()
2890 file_oomem(ms, sizeof(*map)); in apprentice_map()
2895 map->p = (void *)&php_magic_database; in apprentice_map()
2929 map->len = (size_t)st.sb.st_size; in apprentice_map()
2930 if ((map->p = CAST(void *, emalloc(map->len))) == NULL) { in apprentice_map()
2931 file_oomem(ms, map->len); in apprentice_map()
2934 if (php_stream_read(stream, map->p, (size_t)st.sb.st_size) != (size_t)st.sb.st_size) { in apprentice_map()
2938 map->len = 0; in apprentice_map()
2945 ptr = (uint32_t *)(void *)map->p; in apprentice_map()
2969 map->p = emalloc(sizeof(php_magic_database)); in apprentice_map()
2970 map->p = memcpy(map->p, php_magic_database, sizeof(php_magic_database)); in apprentice_map()
2983 map->magic[0] = CAST(struct magic *, map->p) + 1; in apprentice_map()
2987 map->nmagic[i] = swap4(ptr[i + 2]); in apprentice_map()
2989 map->nmagic[i] = ptr[i + 2]; in apprentice_map()
2991 map->magic[i + 1] = map->magic[i] + map->nmagic[i]; in apprentice_map()
2992 nentries += map->nmagic[i]; in apprentice_map()
3001 byteswap(map->magic[i], map->nmagic[i]); in apprentice_map()
3006 return map; in apprentice_map()
3012 apprentice_unmap(map); in apprentice_map()
3020 check_buffer(struct magic_set *ms, struct magic_map *map, const char *dbname) in check_buffer() argument
3027 ptr = CAST(uint32_t *, map->p); in check_buffer()
3046 entries = (uint32_t)(map->len / sizeof(struct magic)); in check_buffer()
3047 if ((entries * sizeof(struct magic)) != map->len) { in check_buffer()
3050 dbname, map->len, sizeof(struct magic)); in check_buffer()
3053 map->magic[0] = CAST(struct magic *, map->p) + 1; in check_buffer()
3057 map->nmagic[i] = swap4(ptr[i + 2]); in check_buffer()
3059 map->nmagic[i] = ptr[i + 2]; in check_buffer()
3061 map->magic[i + 1] = map->magic[i] + map->nmagic[i]; in check_buffer()
3062 nentries += map->nmagic[i]; in check_buffer()
3071 byteswap(map->magic[i], map->nmagic[i]); in check_buffer()
3079 apprentice_compile(struct magic_set *ms, struct magic_map *map, const char *fn) in apprentice_compile() argument
3081 static const size_t nm = sizeof(*map->nmagic) * MAGIC_SETS; in apprentice_compile()
3082 static const size_t m = sizeof(**map->magic); in apprentice_compile()
3108 memcpy(hdr.h + 2, map->nmagic, nm); in apprentice_compile()
3116 len = m * map->nmagic[i]; in apprentice_compile()
3117 if (php_stream_write(stream, (const char *)map->magic[i], len) != (ssize_t)len) { in apprentice_compile()