[libdispatch-dev] Solaris portability, patch for internal.h, include strings.h for bzero in queue.c REVISED PATCH
jocke at tbricks.com
Mon Nov 9 07:42:30 PST 2009
You are absolutely right, also for the POSIX case - from the source http://www.opengroup.org/onlinepubs/000095399/functions/bzero.html
Revised patch attached.
--- /home/jocke/gcd/trunk/src/queue.c (revision 142)
+++ /home/jocke/gcd/trunk/src/queue.c (working copy)
@@ -1706,7 +1713,7 @@
sysctl(mib, 2, _dispatch_build, &bufsz, NULL, 0);
- bzero(_dispatch_build, sizeof(_dispatch_build));
+ memset(_dispatch_build, 0, sizeof(_dispatch_build));
On 9 nov 2009, at 15.53, Jean-Daniel Dupas wrote:
> I'm with Paolo on this point.
> Unlike memset which is now a macro optimized to use __builtin
> functions when possible (on Darwin), bzero remain a simple function
> and is not available everywhere.
> Le 9 nov. 2009 à 14:32, Joakim Johansson a écrit :
>> Ok, it was available on OS X as well and seems to be part of POSIX
>> according to the OS X man page?
>> A bzero() function appeared in 4.3BSD. Its prototype existed
>> previously in <string.h> before it was
>> moved to <strings.h> for IEEE Std 1003.1-2001 (``POSIX.1'')
>> On 9 nov 2009, at 14.16, Paolo Bonzini wrote:
>>> On Mon, Nov 9, 2009 at 14:01, Joakim Johansson <jocke at tbricks.com>
>>>> bzero() is used in queue.c and is available from strings.h, needs
>>>> an include
>>>> for it.
>>> Probably better to use memset instead. bzero is on its way to
>>> Also, strings.h is SVR-ism and is not available on many platforms.
>> libdispatch-dev mailing list
>> libdispatch-dev at lists.macosforge.org
> -- Jean-Daniel
More information about the libdispatch-dev