Sha256: 7f9b80abc01551018fb49eb39907de510cf5e5541e6756378174077601c3c9df

Contents?: true

Size: 1.82 KB

Versions: 130

Compression:

Stored size: 1.82 KB

Contents

/***************************************************************************
 *                                  _   _ ____  _
 *  Project                     ___| | | |  _ \| |
 *                             / __| | | | |_) | |
 *                            | (__| |_| |  _ <| |___
 *                             \___|\___/|_| \_\_____|
 *
 * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
 *
 * This software is licensed as described in the file COPYING, which
 * you should have received as part of this distribution. The terms
 * are also available at http://curl.haxx.se/docs/copyright.html.
 *
 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 * copies of the Software, and permit persons to whom the Software is
 * furnished to do so, under the terms of the COPYING file.
 *
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 * KIND, either express or implied.
 *
 * $Id: curl_memrchr.c,v 1.2 2009-09-28 18:13:35 danf Exp $
 ***************************************************************************/

#include "setup.h"

#include "curl_memrchr.h"

#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>

#include "curl_memory.h"
/* The last #include file should be: */
#include "memdebug.h"

#ifndef HAVE_MEMRCHR

/*
 * Curl_memrchr()
 *
 * Our memrchr() function clone for systems which lack this function. The
 * memrchr() function is like the memchr() function, except that it searches
 * backwards from the end of the n bytes pointed to by s instead of forward
 * from the beginning.
 */

void *
Curl_memrchr(const void *s, int c, size_t n)
{
  const unsigned char *p = s;
  const unsigned char *q = s;

  p += n - 1;

  while (p >= q) {
    if (*p == (unsigned char)c)
      return (void *)p;
    p--;
  }

  return NULL;
}

#endif /* HAVE_MEMRCHR */

Version data entries

130 entries across 130 versions & 2 rubygems

Version Path
rhodes-6.0.11 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.18 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.17 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.15 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.0.22 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.2 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.0.7 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.0.3 platform/shared/curl/lib/curl_memrchr.c
rhodes-5.5.0 platform/shared/curl/lib/curl_memrchr.c
tauplatform-1.0.3 platform/shared/curl/lib/curl_memrchr.c
tauplatform-1.0.2 platform/shared/curl/lib/curl_memrchr.c
tauplatform-1.0.1 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.5.1.12 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.3.5 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.4.2 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.3.4 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.3.3 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.3.3.beta.4 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.3.3.beta.3 platform/shared/curl/lib/curl_memrchr.c
rhodes-3.3.3.beta.2 platform/shared/curl/lib/curl_memrchr.c