]> git.pld-linux.org Git - packages/file.git/blob - file-offset.patch
- more hacky but better way
[packages/file.git] / file-offset.patch
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
4 @@ -623,7 +623,7 @@
5          }
6  
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);
10          if (l == t)
11                 if (ms->flags & MAGIC_CHECK)
12                         file_magwarn(ms, "offset `%s' invalid", l);
13 @@ -1487,7 +1487,7 @@
14  bs1(struct magic *m)
15  {
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
25 @@ -151,10 +151,16 @@
26  protected int
27  file_reset(struct magic_set *ms)
28  {
29 +       struct mlist *ml;
30         if (ms->mlist == NULL) {
31                 file_error(ms, 0, "no magic files loaded");
32                 return -1;
33         }
34 +       for (ml = ms->mlist->next; ml != ms->mlist; ml = ml->next) {
35 +               uint32_t magindex;
36 +               for (magindex = 0; magindex < ml->nmagic; magindex++)
37 +                       ml->magic[magindex].offset = ml->magic[magindex].dummy4;
38 +       }
39         ms->o.ptr = ms->o.buf;
40         ms->haderr = 0;
41         ms->error = -1;
42
This page took 0.048946 seconds and 3 git commands to generate.