Subject: | Tie-MmapArray |
Date: | Mon, 31 Mar 2014 18:28:15 +0000 |
To: | "'bug-Tie-MmapArray [...] rt.cpan.org'" <bug-Tie-MmapArray [...] rt.cpan.org> |
From: | "Sicotte, Hugues, Ph.D." <Sicotte.Hugues [...] mayo.edu> |
In MmapArray.xs (version 0.04 of MmapArray downloaded today 3/31/2014)
#if defined(FORCE_ALIGNMENTS)
#define SET_VAL(type, ptr, val) do { memcpy((void *)ptr, (void *)&val, sizeof (type) } while (0)
#define SET_VAL(type, ptr, val) do { memcpy((void *)&val, (void *)ptr, sizeof (type) } while (0)
#else
#define SET_VAL(type, ptr, val) do { *(type *)ptr = val; } while (0)
#define GET_VAL(type, ptr, val) do { val = *(type *)ptr; } while (0)
#endif
The Two lines if (FORCE_ALIGNMENTS) defined need to be changed to
(the GET_VAL was not defined and both functions need a "0;" at the end.
#if defined(FORCE_ALIGNMENTS)
#define SET_VAL(type, ptr, val) do { memcpy((void *)ptr, (void *)&val, sizeof (type)); } while (0)
#define GET_VAL(type, ptr, val) do { memcpy((void *)&val, (void *)ptr, sizeof (type)); } while (0)
#else
...
After that fix, only one warning remains... which I think is fine..
MmapArray.xs:886: warning: cast from pointer to integer of different size
Hugues Sicotte, Ph.D.
Assistant Professor in Medical Informatics
Bioinformatics Core
Division of Biomedical Statistics and Informatics
Phone: 507-538-3866
Fax: 507-284-0360
Email: sicotte.hugues@mayo.edu<mailto:sicotte.hugues@mayo.edu>
Show quoted text
____________________________________________
Mayo Clinic
200 First Street SW
Rochester, MN 55905
www.mayoclinic.org