From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MM7KQ-0002q2-5d for qemu-devel@nongnu.org; Wed, 01 Jul 2009 17:26:54 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MM7KL-0002pm-Jw for qemu-devel@nongnu.org; Wed, 01 Jul 2009 17:26:53 -0400 Received: from [199.232.76.173] (port=45307 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MM7KL-0002pj-IA for qemu-devel@nongnu.org; Wed, 01 Jul 2009 17:26:49 -0400 Received: from mail-ew0-f211.google.com ([209.85.219.211]:41815) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MM7KL-00051f-2x for qemu-devel@nongnu.org; Wed, 01 Jul 2009 17:26:49 -0400 Received: by ewy7 with SMTP id 7so1373698ewy.34 for ; Wed, 01 Jul 2009 14:26:48 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v624) Content-Transfer-Encoding: 7bit Message-Id: <022d1985d24fe91131187e956dec0e38@gmail.com> Content-Type: text/plain; charset=US-ASCII; format=flowed From: G 3 Date: Wed, 1 Jul 2009 17:26:43 -0400 Subject: [Qemu-devel] (no subject) List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org > Stefan Weil wrote: > > strnlen is a GNU extension which is missing in mingw32 > and perhaps other build environments. > > > So we should avoid it and replace it by standard functions. > > > Signed-off-by: Stefan Weil > --- > block.c | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > > diff --git a/block.c b/block.c > index c66c031..79b3313 100644 > --- a/block.c > +++ b/block.c > @@ -225,9 +225,14 @@ static BlockDriver *find_protocol(const char > *filename) > { > BlockDriver *drv1; > char protocol[128]; > - int len = strnlen(filename, 127)+1; > + int len; > const char *p; > + len = strlen(filename) + 1; > + if (len > sizeof(protocol)) { > + len = sizeof(protocol); > + } > + > #ifdef _WIN32 > if (is_windows_drive(filename) || > is_windows_drive_prefix(filename)) > > > Or something like this? > #ifdef __MINGW32__ > size_t strnlen (const char *string, size_t maxlen) > { > const char *end = memchr (string, '\0', maxlen); > return end ? (size_t) (end - string) : maxlen; > }; > #endif block.c doesn't compile on Mac OS 10.3. I second the notion of removing strnlen.