for (char *finger = buf;
(finger = memmem (finger, buf + chunksz - finger,
- fingerprint, sizeof fingerprint));
+ (unsigned char *) fingerprint,
+ sizeof fingerprint));
finger++)
{
if (! (fseeko (f, finger - buf, SEEK_SET) == 0
by a fingerprint of the temporary Emacs executable that was built
along the way. */
-unsigned char const fingerprint[] =
+volatile unsigned char fingerprint[] =
{
0xDE,
0x86,
Emacs. This way, we have a unique value that we can use to pair
data files (like a portable dump image) with a specific build of
Emacs. */
-extern unsigned char const fingerprint[32];
+extern volatile unsigned char fingerprint[32];
#endif
ctx->header.magic[0] = '!'; /* Note that dump is incomplete. */
verify (sizeof (fingerprint) == sizeof (ctx->header.fingerprint));
- memcpy (ctx->header.fingerprint, fingerprint, sizeof (fingerprint));
+ memcpy (ctx->header.fingerprint, (unsigned char *) fingerprint,
+ sizeof (fingerprint));
const dump_off header_start = ctx->offset;
dump_fingerprint ("dumping fingerprint", ctx->header.fingerprint);
err = PDUMPER_LOAD_VERSION_MISMATCH;
verify (sizeof (header->fingerprint) == sizeof (fingerprint));
- if (memcmp (header->fingerprint, fingerprint, sizeof (fingerprint)) != 0)
+ if (memcmp (header->fingerprint, (unsigned char *) fingerprint,
+ sizeof (fingerprint)) != 0)
{
- dump_fingerprint ("desired fingerprint", fingerprint);
+ dump_fingerprint ("desired fingerprint", (unsigned char *) fingerprint);
dump_fingerprint ("found fingerprint", header->fingerprint);
goto out;
}