[libdispatch-dev] Solaris portability, patch for internal.h, include strings.h for bzero in queue.c REVISED PATCH

Joakim Johansson 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.

Thanks!

Joakim


Index: /home/jocke/gcd/trunk/src/queue.c
===================================================================
--- /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);
  #else
-	bzero(_dispatch_build, sizeof(_dispatch_build));
+	memset(_dispatch_build, 0, sizeof(_dispatch_build));
  #endif
  }



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?
>>
>> -----
>> HISTORY
>>    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'')  
>> compliance.
>> -----
>>
>> Joakim
>>
>>
>> On 9 nov 2009, at 14.16, Paolo Bonzini wrote:
>>
>>> On Mon, Nov 9, 2009 at 14:01, Joakim Johansson <jocke at tbricks.com>  
>>> wrote:
>>>> 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  
>>> obsoletion.
>>>
>>> Also, strings.h is SVR-ism and is not available on many platforms.
>>>
>>> Paolo
>>
>> _______________________________________________
>> libdispatch-dev mailing list
>> libdispatch-dev at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/libdispatch-dev
>>
>
> -- Jean-Daniel
>
>
>
>




More information about the libdispatch-dev mailing list