aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/preproc/descriptor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/preproc/descriptor.c')
-rw-r--r--src/interfaces/ecpg/preproc/descriptor.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/interfaces/ecpg/preproc/descriptor.c b/src/interfaces/ecpg/preproc/descriptor.c
index a29f5303273..35d94711d56 100644
--- a/src/interfaces/ecpg/preproc/descriptor.c
+++ b/src/interfaces/ecpg/preproc/descriptor.c
@@ -121,7 +121,10 @@ drop_descriptor(char *name, char *connection)
}
}
}
- mmerror(PARSE_ERROR, ET_WARNING, "descriptor \"%s\" does not exist", name);
+ if (connection)
+ mmerror(PARSE_ERROR, ET_WARNING, "descriptor %s bound to connection %s does not exist", name, connection);
+ else
+ mmerror(PARSE_ERROR, ET_WARNING, "descriptor %s bound to the default connection does not exist", name);
}
struct descriptor
@@ -141,9 +144,18 @@ lookup_descriptor(char *name, char *connection)
|| (connection && i->connection
&& strcmp(connection, i->connection) == 0))
return i;
+ if (connection && !i->connection)
+ {
+ /* overwrite descriptor's connection */
+ i->connection = mm_strdup(connection);
+ return i;
+ }
}
}
- mmerror(PARSE_ERROR, ET_WARNING, "descriptor \"%s\" does not exist", name);
+ if (connection)
+ mmerror(PARSE_ERROR, ET_WARNING, "descriptor %s bound to connection %s does not exist", name, connection);
+ else
+ mmerror(PARSE_ERROR, ET_WARNING, "descriptor %s bound to the default connection does not exist", name);
return NULL;
}