]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Optimize fmemopen a bit.
authorUlrich Drepper <drepper@gmail.com>
Fri, 4 Mar 2011 05:49:46 +0000 (00:49 -0500)
committerUlrich Drepper <drepper@gmail.com>
Fri, 4 Mar 2011 05:49:46 +0000 (00:49 -0500)
ChangeLog
libio/fmemopen.c

index 16da2c1fa6661e6752e52297d046024a8ddbeab7..c6d652d5591167984e45a7bb7caaf7b969ee3ef0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-03-04  Ulrich Drepper  <drepper@gmail.com>
+
+       * libio/fmemopen.c (fmemopen): Optimize a bit.
+
 2011-03-03  Andreas Schwab  <schwab@redhat.com>
 
        * libio/fmemopen.c (fmemopen): Don't read past end of buffer.
index 1a631d5122969ff949484d5066abe48a3c0aae18..75f9f7e5f6fa3a985e4d0ede67f0aa00231f99c7 100644 (file)
@@ -226,6 +226,7 @@ fmemopen (void *buf, size_t len, const char *mode)
          return NULL;
        }
       c->buffer[0] = '\0';
+      c->maxpos = 0;
     }
   else
     {
@@ -236,14 +237,14 @@ fmemopen (void *buf, size_t len, const char *mode)
        }
 
       c->buffer = buf;
-    }
 
-  c->size = len;
+      if (mode[0] == 'w')
+       c->buffer[0] = '\0';
 
-  if (mode[0] == 'w')
-    c->buffer[0] = '\0';
+      c->maxpos = strnlen (c->buffer, len);
+    }
 
-  c->maxpos = strnlen (c->buffer, len);
+  c->size = len;
 
   if (mode[0] == 'a')
     c->pos = c->maxpos;