1 diff -urN file-4.18.org/src/apprentice.c file-4.18/src/apprentice.c
2 --- file-4.18.org/src/apprentice.c 2006-10-31 20:37:17.000000000 +0100
3 +++ file-4.18/src/apprentice.c 2006-11-25 01:27:51.000000000 +0100
7 /* get offset, then skip over it */
8 - m->offset = (uint32_t)strtoul(l, &t, 0);
9 + m->dummy4 = m->offset = (uint32_t)strtoul(l, &t, 0);
11 if (ms->flags & MAGIC_CHECK)
12 file_magwarn(ms, "offset `%s' invalid", l);
16 m->cont_level = swap2(m->cont_level);
17 - m->offset = swap4((uint32_t)m->offset);
18 + m->dummy4 = m->offset = swap4((uint32_t)m->offset);
19 m->in_offset = swap4((uint32_t)m->in_offset);
20 if (!IS_STRING(m->type))
21 m->value.q = swap8(m->value.q);
22 diff -urN file-4.18.org/src/funcs.c file-4.18/src/funcs.c
23 --- file-4.18.org/src/funcs.c 2006-10-31 20:37:17.000000000 +0100
24 +++ file-4.18/src/funcs.c 2006-11-25 01:27:51.000000000 +0100
27 file_reset(struct magic_set *ms)
30 if (ms->mlist == NULL) {
31 file_error(ms, 0, "no magic files loaded");
34 + for (ml = ms->mlist->next; ml != ms->mlist; ml = ml->next) {
36 + for (magindex = 0; magindex < ml->nmagic; magindex++)
37 + ml->magic[magindex].offset = ml->magic[magindex].dummy4;
39 ms->o.ptr = ms->o.buf;