>>>>> Markus Neteler <[EMAIL PROTECTED]> writes:

 > Ivan, before your libgis patch gets lost: should it be applied?

        I believe it should.

 > According to Glynn it looked reasonable AFAIK.

 > Please send it to me (maybe offlist) for inclusion.

        Surely.

        BTW, since you apparently are using Google mail, you can try to
        use `Download' on the ``Show original'' link for a message to
        get it unaltered.

[...]

 >>> +    char buffer[2000];  /* G_asprintf does not work */
 >>> +
 >>> +    vsprintf (buffer, template, ap);

 >> It would be nice to use vsnprintf(), but we would need to check that
 >> it's available (it's not in C89).

        It would be even better to check for vasprintf () and use it if
        it's available.  Like:

static int
vfprint_error (int type, const char *template, va_list ap)
{
    int result;
#ifdef HAVE_VASPRINTF
    char *buffer;

    vasprintf (&buffer, template, ap);
    if (buffer == 0) {
        /* . */
        return -1;
    }
    result = print_error (buffer, type);
    free (buffer);
#else
    char buffer[2000];  /* G_asprintf does not work */
#ifdef HAVE_VSNPRINTF
    vnsprintf (buffer, sizeof (buffer), template, ap);
#else
    vsprintf (buffer, template, ap);
#endif
    result = print_error (buffer, type);
#endif

    /* . */
    return result
}

        However, I see no reason for why gnulib/lib/vasnprintf.c cannot
        be used for a portable implementation of vasprintf ().  Reusing
        it would also obviate the need in lib/gis/asprintf.c.  And,
        well, doesn't eliminating extra code ease maintenance?

_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to