]> granicus.if.org Git - file/commitdiff
ugly hack to override const.
authorChristos Zoulas <christos@zoulas.com>
Fri, 2 Mar 2007 19:29:55 +0000 (19:29 +0000)
committerChristos Zoulas <christos@zoulas.com>
Fri, 2 Mar 2007 19:29:55 +0000 (19:29 +0000)
src/softmagic.c

index f60d840ad3e3a63da7e1999c58ec00a1f705ce10..207685a2135fefb69e92f4b5a5a9723da82ce497 100644 (file)
@@ -38,7 +38,7 @@
 
 
 #ifndef        lint
-FILE_RCSID("@(#)$File: softmagic.c,v 1.91 2007/01/18 05:29:33 ljt Exp $")
+FILE_RCSID("@(#)$File: softmagic.c,v 1.92 2007/03/02 17:50:06 christos Exp $")
 #endif /* lint */
 
 private int match(struct magic_set *, struct magic *, uint32_t,
@@ -1525,8 +1525,9 @@ magiccheck(struct magic_set *ms, struct magic *m)
                        regmatch_t pmatch[1];
 #ifndef REG_STARTEND
 #define        REG_STARTEND    0
-                       char c = ms->search.s[ms->search.s_len - 1];
-                       ms->search.s[ms->search.s_len - 1] = '\0';
+                       size_t l = ms->search.s_len - 1;
+                       char c = ms->search.s[l]
+                       ((char *)(intptr_t)ms->search.s)[l] = '\0';
 #else
                        pmatch[0].rm_so = 0;
                        pmatch[0].rm_eo = ms->search.s_len;
@@ -1534,7 +1535,7 @@ magiccheck(struct magic_set *ms, struct magic *m)
                        rc = regexec(&rx, (const char *)ms->search.s,
                            1, pmatch, REG_STARTEND);
 #if REG_STARTEND == 0
-                       ms->search.s[ms->search.s_len - 1] = c;
+                       ((char *)(intptr_t)ms->search.s)[l] = c;
 #endif
                        switch (rc) {
                        case 0: