diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c index f468147b295529dc87b2e7fb063b32d4b3456007..311bc5cbc50a7ade16d5f7052a101811a9a86b8c 100644 --- a/src/interfaces/ecpg/ecpglib/execute.c +++ b/src/interfaces/ecpg/ecpglib/execute.c @@ -1083,7 +1083,7 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari } static void -free_params(const char **paramValues, int nParams, bool print, int lineno) +free_params(char **paramValues, int nParams, bool print, int lineno) { int n; @@ -1091,7 +1091,7 @@ free_params(const char **paramValues, int nParams, bool print, int lineno) { if (print) ecpg_log("free_params on line %d: parameter %d = %s\n", lineno, n + 1, paramValues[n] ? paramValues[n] : "null"); - ecpg_free((void *) (paramValues[n])); + ecpg_free(paramValues[n]); } ecpg_free(paramValues); } @@ -1138,7 +1138,7 @@ ecpg_execute(struct statement * stmt) PGnotify *notify; struct variable *var; int desc_counter = 0; - const char **paramValues = NULL; + char **paramValues = NULL; int nParams = 0; int position = 0; struct sqlca_t *sqlca = ECPGget_sqlca(); @@ -1380,7 +1380,7 @@ ecpg_execute(struct statement * stmt) else { nParams++; - if (!(paramValues = (const char **) ecpg_realloc(paramValues, sizeof(const char *) * nParams, stmt->lineno))) + if (!(paramValues = (char **) ecpg_realloc(paramValues, sizeof(char *) * nParams, stmt->lineno))) { ecpg_free(paramValues); return false; @@ -1441,7 +1441,7 @@ ecpg_execute(struct statement * stmt) ecpg_log("ecpg_execute on line %d: query: %s; with %d parameter(s) on connection %s\n", stmt->lineno, stmt->command, nParams, stmt->connection->name); if (stmt->statement_type == ECPGst_execute) { - results = PQexecPrepared(stmt->connection->connection, stmt->name, nParams, paramValues, NULL, NULL, 0); + results = PQexecPrepared(stmt->connection->connection, stmt->name, nParams, (const char *const*) paramValues, NULL, NULL, 0); ecpg_log("ecpg_execute on line %d: using PQexecPrepared for \"%s\"\n", stmt->lineno, stmt->command); } else @@ -1453,7 +1453,7 @@ ecpg_execute(struct statement * stmt) } else { - results = PQexecParams(stmt->connection->connection, stmt->command, nParams, NULL, paramValues, NULL, NULL, 0); + results = PQexecParams(stmt->connection->connection, stmt->command, nParams, NULL, (const char *const*) paramValues, NULL, NULL, 0); ecpg_log("ecpg_execute on line %d: using PQexecParams\n", stmt->lineno); } } diff --git a/src/interfaces/ecpg/ecpglib/prepare.c b/src/interfaces/ecpg/ecpglib/prepare.c index c5a554e8e282e574502654dac2e03b679254fb4a..1bddf215afe930ace5a430889605705dbeb3e91c 100644 --- a/src/interfaces/ecpg/ecpglib/prepare.c +++ b/src/interfaces/ecpg/ecpglib/prepare.c @@ -19,7 +19,7 @@ typedef struct char stmtID[STMTID_SIZE]; char *ecpgQuery; long execs; /* # of executions */ - char *connection; /* connection for the statement */ + const char *connection; /* connection for the statement */ } stmtCacheEntry; static int nextStmtID = 1; @@ -456,7 +456,7 @@ AddStmtToCache(int lineno, /* line # of statement */ entry = &stmtCacheEntries[entNo]; entry->lineno = lineno; entry->ecpgQuery = ecpg_strdup(ecpgQuery, lineno); - entry->connection = (char *) connection; + entry->connection = connection; entry->execs = 0; memcpy(entry->stmtID, stmtID, sizeof(entry->stmtID)); diff --git a/src/interfaces/ecpg/preproc/descriptor.c b/src/interfaces/ecpg/preproc/descriptor.c index 52865293f24a536d44d8aa5bd39d7dd6e98db45a..115cb17ddc1c22f64fec01a3669b3a1e0fa6ad7b 100644 --- a/src/interfaces/ecpg/preproc/descriptor.c +++ b/src/interfaces/ecpg/preproc/descriptor.c @@ -317,14 +317,14 @@ struct variable * descriptor_variable(const char *name, int input) { static char descriptor_names[2][MAX_DESCRIPTOR_NAMELEN]; - static const struct ECPGtype descriptor_type = {ECPGt_descriptor, NULL, NULL, NULL, {NULL}, 0}; - static const struct variable varspace[2] = { - {descriptor_names[0], (struct ECPGtype *) & descriptor_type, 0, NULL}, - {descriptor_names[1], (struct ECPGtype *) & descriptor_type, 0, NULL} + static struct ECPGtype descriptor_type = {ECPGt_descriptor, NULL, NULL, NULL, {NULL}, 0}; + static struct variable varspace[2] = { + {descriptor_names[0], &descriptor_type, 0, NULL}, + {descriptor_names[1], &descriptor_type, 0, NULL} }; strlcpy(descriptor_names[input], name, sizeof(descriptor_names[input])); - return (struct variable *) & varspace[input]; + return &varspace[input]; } struct variable *