Changeset: bf0453acb4fe for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/bf0453acb4fe Modified Files: clients/Tests/exports.stable.out clients/mapilib/msettings.c clients/mapilib/msettings.h Branch: odbc-tls Log Message:
Crude hack to differentiate malloc failures from other failures diffs (60 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -751,6 +751,7 @@ enum msetting_tls_verify msettings_conne const char *msettings_connect_unix(const msettings *mp); msettings *msettings_create(void); msettings *msettings_destroy(msettings *mp); +bool msettings_malloc_failed(msettings_error err); bool msettings_parse_url(msettings *mp, const char *url, char **error_buffer); bool msettings_validate(msettings *mp, char **errmsg); const char *wsaerror(int); diff --git a/clients/mapilib/msettings.c b/clients/mapilib/msettings.c --- a/clients/mapilib/msettings.c +++ b/clients/mapilib/msettings.c @@ -27,6 +27,16 @@ #define FATAL() do { fprintf(stderr, "\n\n abort in msettings.c: %s\n\n", __func__); abort(); } while (0) +static const char * const MALLOC_FAILED = "malloc failed"; + +bool +msettings_malloc_failed(msettings_error err) +{ + return ((const char*)err == (const char*)MALLOC_FAILED); +} + + + int msetting_parse_bool(const char *text) { static struct { const char *word; bool value; } variants[] = { @@ -347,7 +357,7 @@ msetting_set_string(msettings *mp, mparm char *v = strdup(value); if (!v) - return "malloc failed"; + return MALLOC_FAILED; if (p->must_free) free(p->str); p->str = v; @@ -506,7 +516,7 @@ msetting_set_ignored(msettings *mp, cons free(my_key); free(my_value); free(new_unknowns); - return "malloc failed while setting ignored parameter"; + return MALLOC_FAILED; } new_unknowns[2 * n] = my_key; diff --git a/clients/mapilib/msettings.h b/clients/mapilib/msettings.h --- a/clients/mapilib/msettings.h +++ b/clients/mapilib/msettings.h @@ -107,6 +107,7 @@ typedef struct msettings msettings; /* NULL means OK. non-NULL is error message. Valid until next call. Do not free. */ typedef const char *msettings_error; +mapi_export bool msettings_malloc_failed(msettings_error err); /* returns NULL if could not allocate */ mapi_export msettings *msettings_create(void); _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org