On Friday, 09 July 2004, at 21:38:43 (-0400),
Mike Frysinger wrote:

> http://bugs.gentoo.org/show_bug.cgi?id=52634
> 
> users were noticing weird results while using Eterm and they tracked
> it back to libast's MEMSET() macro in eterm/libast/include/libast.h:
> 
>     if (((unsigned long) count) >= 4 * sizeof(long)) { \
>         /* fill l with c. */ \
>         l = (c) | (c)<<8; \
>         l |= l<<16; \
>         MEMSET_LONG();
> 
> the problem being that on 64 bit archs, you'll need a little more << 
> loving ... the patch provided by Jason McCarver is to add another line:
> l |= l<<32; \
> right before the MEMSET_LONG() call
> http://bugs.gentoo.org/attachment.cgi?id=34976&action=view
> 
> perhaps the MEMSET_LONG() call itself will need updating ?

If SIZEOF_LONG is set to 8, meaning that a long is a 64-bit value,
MEMSET_LONG() is defined to be "l |= l<<32".  So the question becomes,
what is SIZEOF_LONG being set to?

Michael

-- 
Michael Jennings (a.k.a. KainX)  http://www.kainx.org/  <[EMAIL PROTECTED]>
n + 1, Inc., http://www.nplus1.net/       Author, Eterm (www.eterm.org)
-----------------------------------------------------------------------
 "Nerds make the best lovers.  That's why I'm in Speed School." 
                                                       -- Angela Smith


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
enlightenment-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to