On Mon, 2013-12-16 at 09:06 -0800, Thiago Macieira wrote:
> Makes the code easier to read, IMHO.

Yeah, this is one of those things that are REALLY a matter of taste and
a matter of what you are used to.

I always have preferred this style, having the variables declared as
close to first use as reasonable.

Linus has been much more in the traditional C developer style (having
all variables at the top of the function.

So far I have mostly pushed for us to follow Linus' initial direction,
but with the C++ I had pretty much given up on that.

I will take your patch because I do think it makes things more readable.

Linus - if you have good reasons why we shouldn't do this, please speak
up. 

/D

> Signed-off-by: Thiago Macieira <thi...@macieira.org>
> ---
>  qt-ui/subsurfacewebservices.cpp | 39 +++++++++++++++++----------------------
>  1 file changed, 17 insertions(+), 22 deletions(-)
> 
> diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp
> index f9b6647..2ff311c 100644
> --- a/qt-ui/subsurfacewebservices.cpp
> +++ b/qt-ui/subsurfacewebservices.cpp
> @@ -106,18 +106,7 @@ QString 
> DivelogsDeWebServices::prepare_dives_for_divelogs(const bool selected, Q
>               return QString();
>       }
>  
> -     int i;
> -     struct dive *dive;
> -     FILE *f;
> -     char filename[PATH_MAX];
> -     int streamsize;
> -     char *membuf;
> -     xsltStylesheetPtr xslt = NULL;
> -     xmlDoc *transformed;
> -     struct zip_source *s[dive_table.nr];
> -     struct zip *zip;
> -
> -     xslt = get_stylesheet("divelogs-export.xslt");
> +     xsltStylesheetPtr xslt = get_stylesheet("divelogs-export.xslt");
>       if (!xslt) {
>               qDebug() << errPrefix << "missing stylesheet";
>               return NULL;
> @@ -127,7 +116,7 @@ QString 
> DivelogsDeWebServices::prepare_dives_for_divelogs(const bool selected, Q
>       QString tempfile = QDir::tempPath() + "/import-" + 
> QString::number(qrand() % 99999999) + ".dld";
>  
>       int error_code;
> -     zip = zip_open(QFile::encodeName(tempfile), ZIP_CREATE, &error_code);
> +     struct zip *zip = zip_open(QFile::encodeName(tempfile), ZIP_CREATE, 
> &error_code);
>       if (!zip) {
>               char buffer[1024];
>               zip_error_to_str(buffer, sizeof buffer, error_code, errno);
> @@ -137,22 +126,24 @@ QString 
> DivelogsDeWebServices::prepare_dives_for_divelogs(const bool selected, Q
>       }
>  
>       /* walk the dive list in chronological order */
> -     for (i = 0; i < dive_table.nr; i++) {
> -             dive = get_dive(i);
> +     for (int i = 0; i < dive_table.nr; i++) {
> +             struct dive *dive = get_dive(i);
>               if (!dive)
>                       continue;
>               if (selected && !dive->selected)
>                       continue;
> -             f = tmpfile();
> +
> +             FILE *f = tmpfile();
>               if (!f) {
>                       *errorMsg = tr("cannot create temporary file: 
> %1").arg(qt_error_string());
>                       goto error_close_zip;
>               }
>               save_dive(f, dive);
>               fseek(f, 0, SEEK_END);
> -             streamsize = ftell(f);
> +             int streamsize = ftell(f);
>               rewind(f);
> -             membuf = (char *)malloc(streamsize + 1);
> +
> +             char *membuf = (char *)malloc(streamsize + 1);
>               if (!membuf || !fread(membuf, streamsize, 1, f)) {
>                       *errorMsg = tr("internal error: 
> %1").arg(qt_error_string());
>                       fclose(f);
> @@ -161,6 +152,7 @@ QString 
> DivelogsDeWebServices::prepare_dives_for_divelogs(const bool selected, Q
>               }
>               membuf[streamsize] = 0;
>               fclose(f);
> +
>               /*
>                * Parse the memory buffer into XML document and
>                * transform it to divelogs.de format, finally dumping
> @@ -174,17 +166,20 @@ QString 
> DivelogsDeWebServices::prepare_dives_for_divelogs(const bool selected, Q
>                       goto error_close_zip;
>               }
>               free((void *)membuf);
> -             transformed = xsltApplyStylesheet(xslt, doc, NULL);
> +
> +             xmlDoc *transformed = xsltApplyStylesheet(xslt, doc, NULL);
>               xmlDocDumpMemory(transformed, (xmlChar **) &membuf, 
> &streamsize);
>               xmlFreeDoc(doc);
>               xmlFreeDoc(transformed);
> +
>               /*
>                * Save the XML document into a zip file.
>                */
> +             char filename[PATH_MAX];
>               snprintf(filename, PATH_MAX, "%d.xml", i + 1);
> -             s[i] = zip_source_buffer(zip, membuf, streamsize, 1);
> -             if (s[i]) {
> -                     int64_t ret = zip_add(zip, filename, s[i]);
> +             struct zip_source *s = zip_source_buffer(zip, membuf, 
> streamsize, 1);
> +             if (s) {
> +                     int64_t ret = zip_add(zip, filename, s);
>                       if (ret == -1)
>                               qDebug() << errPrefix << "failed to include 
> dive:" << i;
>               }


_______________________________________________
subsurface mailing list
subsurface@hohndel.org
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to