Move variable definitions to the start of their respective blocks.

Improves support for older compilers.

From Boaz Stolk <bstolk@aweta.nl>.
diff --git a/regress/source_hole.c b/regress/source_hole.c
index caf6703..eeb9582 100644
--- a/regress/source_hole.c
+++ b/regress/source_hole.c
@@ -344,6 +344,7 @@
 static zip_int64_t
 buffer_write(buffer_t *buffer, const zip_uint8_t *data, zip_uint64_t length, zip_error_t *error)
 {
+    zip_uint8_t **fragment;
     if (buffer->offset + length > buffer->nfragments * buffer->fragment_size) {
         zip_uint64_t needed_fragments = (buffer->offset + length + buffer->fragment_size - 1) / buffer->fragment_size;
         zip_uint64_t new_capacity = buffer->nfragments;
@@ -356,7 +357,7 @@
             new_capacity *= 2;
         }
         
-        zip_uint8_t **fragment = realloc(buffer->fragment, new_capacity * sizeof(*fragment));
+        fragment = realloc(buffer->fragment, new_capacity * sizeof(*fragment));
         
         if (fragment == NULL) {
             zip_error_set(error, ZIP_ER_MEMORY, 0);