|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.35 1999/11/22 17:56:36 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.36 1999/12/27 15:42:43 momjian Exp $ |
11 | 11 | *
|
12 | 12 | * Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
|
13 | 13 | *
|
@@ -39,6 +39,8 @@ static void flagInhAttrs(TableInfo *tbinfo, int numTables,
|
39 | 39 | InhInfo *inhinfo, int numInherits);
|
40 | 40 | static int strInArray(const char *pattern, char **arr, int arr_size);
|
41 | 41 |
|
| 42 | +PQExpBuffer id_return; |
| 43 | + |
42 | 44 | /*
|
43 | 45 | * findTypeByOid
|
44 | 46 | * given an oid of a type, return its typename
|
@@ -496,21 +498,26 @@ const char *
|
496 | 498 | fmtId(const char *rawid, bool force_quotes)
|
497 | 499 | {
|
498 | 500 | const char *cp;
|
499 |
| - static char id[MAX_QUERY_SIZE]; |
500 | 501 |
|
| 502 | + if (id_return) |
| 503 | + resetPQExpBuffer(id_return); |
| 504 | + else |
| 505 | + id_return = createPQExpBuffer(); |
| 506 | + |
501 | 507 | if (!force_quotes)
|
502 | 508 | for (cp = rawid; *cp != '\0'; cp++)
|
503 | 509 | if (!(islower(*cp) || isdigit(*cp) || (*cp == '_')))
|
504 | 510 | break;
|
505 | 511 |
|
506 | 512 | if (force_quotes || (*cp != '\0'))
|
507 | 513 | {
|
508 |
| - strcpy(id, "\""); |
509 |
| - strcat(id, rawid); |
510 |
| - strcat(id, "\""); |
511 |
| - cp = id; |
| 514 | + appendPQExpBuffer(id_return, "\""); |
| 515 | + appendPQExpBuffer(id_return, rawid); |
| 516 | + appendPQExpBuffer(id_return, "\""); |
512 | 517 | }
|
513 | 518 | else
|
514 |
| - cp = rawid; |
| 519 | + appendPQExpBuffer(id_return, rawid); |
| 520 | + |
| 521 | + cp = id_return->data; |
515 | 522 | return cp;
|
516 | 523 | } /* fmtId() */
|
0 commit comments