]> granicus.if.org Git - php/commitdiff
Get rid of memchr in SEARCHCR().
authorSascha Schumann <sas@php.net>
Wed, 25 Jul 2001 21:06:01 +0000 (21:06 +0000)
committerSascha Schumann <sas@php.net>
Wed, 25 Jul 2001 21:06:01 +0000 (21:06 +0000)
ext/standard/fsock.c

index a4f5148b5adf679cc4f0db5c4c92a1011a10ab71..0cf92a2ad64b9063e12a2f00a483e30719aef99a 100644 (file)
@@ -89,8 +89,10 @@ extern int le_fp;
                efree(key);                             \
        }
 
-#define SEARCHCR() \
-       p = memchr(READPTR(sock), '\n', MIN(TOREAD(sock), maxlen));
+#define SEARCHCR() do {                                                                                        \
+       for (p = READPTR(sock), pe = p + MIN(TOREAD(sock), maxlen); \
+                       *p != '\n'; ) if (++p >= pe) { p = NULL; break; }       \
+} while (0)
 
 #ifdef PHP_WIN32
 #define EWOULDBLOCK WSAEWOULDBLOCK
@@ -540,7 +542,7 @@ PHPAPI void php_sockset_timeout(int socket, struct timeval *timeout)
  */
 static char * php_sock_fgets_internal(char * buf, size_t maxlen, php_sockbuf * sock)
 {
-       char *p = NULL;
+       char *p = NULL, *pe;
        char *ret = NULL;
        size_t amount = 0;