1
- /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/type.c,v 1.80 2008/11/2613:18:22 meskes Exp $ */
1
+ /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/type.c,v 1.81 2008/11/2615:35:30 meskes Exp $ */
2
2
3
3
#include "postgres_fe.h"
4
4
@@ -329,7 +329,7 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type,
329
329
{
330
330
char * variable = (char * )mm_alloc (strlen (name )+ ((prefix == NULL ) ?0 :strlen (prefix ))+ 4 );
331
331
char * offset = (char * )mm_alloc (strlen (name )+ strlen ("sizeof(struct varchar_)" )+ 1 + strlen (varcharsize )+ sizeof (int )* CHAR_BIT * 10 /3 );
332
- char * var_name ;
332
+ char * var_name , * ptr ;
333
333
334
334
switch (type )
335
335
{
@@ -352,8 +352,9 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type,
352
352
sprintf (variable ,"&(%s%s)" ,prefix ?prefix :"" ,name );
353
353
354
354
/* remove trailing [] is name is array element */
355
- var_name = strdup (name );
356
- * (strchrnul (var_name ,'[' ))= '\0' ;
355
+ var_name = mm_strdup (name );
356
+ ptr = strchr (var_name ,'[' );
357
+ if (ptr )* ptr = '\0' ;
357
358
if (lineno )
358
359
sprintf (offset ,"sizeof(struct varchar_%s_%d)" ,var_name ,lineno );
359
360
else