mirror of
https://github.com/postgres/postgres.git
synced 2025-06-23 14:01:44 +03:00
- Synced preproc.y with gram.y.
- Synced pgc.l with scan.l. - Synced keyword.c. - Include the remaining patches by Christof Petig <christof.petig@wtal.de>.
This commit is contained in:
@ -196,3 +196,24 @@ output_get_descr(char *desc_name, char *index)
|
||||
|
||||
whenever_action(2 | 1);
|
||||
}
|
||||
|
||||
/* I consider dynamic allocation overkill since at most two descriptor
|
||||
variables are possible per statement. (input and output descriptor)
|
||||
And descriptors are no normal variables, so they don't belong into
|
||||
the variable list.
|
||||
*/
|
||||
|
||||
#define MAX_DESCRIPTOR_NAMELEN 128
|
||||
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, 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 }
|
||||
};
|
||||
|
||||
strncpy(descriptor_names[input],name,MAX_DESCRIPTOR_NAMELEN);
|
||||
descriptor_names[input][MAX_DESCRIPTOR_NAMELEN-1]=0;
|
||||
return (struct variable*)&varspace[input];
|
||||
}
|
||||
|
Reference in New Issue
Block a user