diff options
Diffstat (limited to 'multimedia/nuppelvideo/files/patch-memmem.c')
| -rw-r--r-- | multimedia/nuppelvideo/files/patch-memmem.c | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/multimedia/nuppelvideo/files/patch-memmem.c b/multimedia/nuppelvideo/files/patch-memmem.c new file mode 100644 index 000000000000..76dbf50883a7 --- /dev/null +++ b/multimedia/nuppelvideo/files/patch-memmem.c @@ -0,0 +1,62 @@ +--- memmem.c.orig	Thu Jan  1 00:00:00 1970 ++++ memmem.c	Sun Oct 24 23:05:56 2004 +@@ -0,0 +1,59 @@ ++/* Copyright (C) 1991,92,93,94,96,97,98,2000 Free Software Foundation, Inc. ++   This file is part of the GNU C Library. ++ ++   The GNU C Library is free software; you can redistribute it and/or ++   modify it under the terms of the GNU Lesser General Public ++   License as published by the Free Software Foundation; either ++   version 2.1 of the License, or (at your option) any later version. ++ ++   The GNU C Library is distributed in the hope that it will be useful, ++   but WITHOUT ANY WARRANTY; without even the implied warranty of ++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU ++   Lesser General Public License for more details. ++ ++   You should have received a copy of the GNU Lesser General Public ++   License along with the GNU C Library; if not, write to the Free ++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++   02111-1307 USA.  */ ++ ++#include <stddef.h> ++#include <string.h> ++ ++/* Prepare for the case that `__builtin_expect' is not available.  */ ++#ifndef HAVE_BUILTIN_EXPECT ++# define __builtin_expect(expr, val) (expr) ++#endif ++ ++#undef memmem ++ ++/* Return the first occurrence of NEEDLE in HAYSTACK.  */ ++void * ++memmem (haystack, haystack_len, needle, needle_len) ++     const void *haystack; ++     size_t haystack_len; ++     const void *needle; ++     size_t needle_len; ++{ ++  const char *begin; ++  const char *const last_possible ++    = (const char *) haystack + haystack_len - needle_len; ++ ++  if (needle_len == 0) ++    /* The first occurrence of the empty string is deemed to occur at ++       the beginning of the string.  */ ++    return (void *) haystack; ++ ++  /* Sanity check, otherwise the loop might search through the whole ++     memory.  */ ++  if (__builtin_expect (haystack_len < needle_len, 0)) ++    return NULL; ++ ++  for (begin = (const char *) haystack; begin <= last_possible; ++begin) ++    if (begin[0] == ((const char *) needle)[0] && ++	!memcmp ((const void *) &begin[1], ++		 (const void *) ((const char *) needle + 1), ++		 needle_len - 1)) ++      return (void *) begin; ++ ++  return NULL; ++} | 
