]> granicus.if.org Git - php/commitdiff
- Fix logic
authorMarcus Boerger <helly@php.net>
Thu, 22 Feb 2007 23:25:36 +0000 (23:25 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 22 Feb 2007 23:25:36 +0000 (23:25 +0000)
main/streams/memory.c

index a21f9329efb4928054f09e2528c5bdd5ee5898ce..4d58f1cb9a3dd5c2d81f6fcc0de3810b4a9bb6f1 100644 (file)
@@ -260,14 +260,14 @@ static int php_stream_memory_set_option(php_stream *stream, int option, int valu
                                        if (newsize <= ms->fsize) {
                                                if (newsize < ms->fpos) {
                                                        ms->fpos = newsize;
-                                               } else {
-                                                       ms->data = erealloc(ms->data, newsize);
-                                                       memset(ms->data+ms->fsize, 0, newsize - ms->fsize);
-                                                       ms->fsize = newsize;
                                                }
+                                       } else {
+                                               ms->data = erealloc(ms->data, newsize);
+                                               memset(ms->data+ms->fsize, 0, newsize - ms->fsize);
                                                ms->fsize = newsize;
-                                               return PHP_STREAM_OPTION_RETURN_OK;
                                        }
+                                       ms->fsize = newsize;
+                                       return PHP_STREAM_OPTION_RETURN_OK;
                        }
                default:
                        return PHP_STREAM_OPTION_RETURN_NOTIMPL;