Skip to content

Commit f589ca6

Browse files
committed
The following diffs remove the various definitions of dupstr() and replace
all the calls with strdup. Submitted by: darcy@druid.druid.com (D'Arcy J.M. Cain)
1 parent 24f0012 commit f589ca6

File tree

6 files changed

+130
-178
lines changed

6 files changed

+130
-178
lines changed

src/bin/pg4_dump/common.c

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,6 @@ check_conn_and_db()
4343
}
4444

4545

46-
/* dupstr : copies a string, while allocating space for it.
47-
the CALLER is responsible for freeing the space
48-
returns NULL if the argument is NULL*/
49-
char*
50-
dupstr(char *s)
51-
{
52-
char* result;
53-
54-
if (s == NULL)
55-
return NULL;
56-
57-
result = (char*)malloc(strlen(s)+1);
58-
strcpy(result, s);
59-
return result;
60-
}
61-
62-
6346
/*
6447
* findTypeByOid
6548
* given an oid of a type, return its typename
@@ -173,7 +156,7 @@ parseArgTypes(char **argtypes, char* str)
173156
while ( (s = *str) != '\0') {
174157
if (s == ' ') {
175158
temp[j] = '\0';
176-
argtypes[argNum] = dupstr(temp);
159+
argtypes[argNum] = strdup(temp);
177160
argNum++;
178161
j = 0;
179162
} else {
@@ -184,7 +167,7 @@ parseArgTypes(char **argtypes, char* str)
184167
}
185168
if (j != 0) {
186169
temp[j] = '\0';
187-
argtypes[argNum] = dupstr(temp);
170+
argtypes[argNum] = strdup(temp);
188171
}
189172

190173
}

src/bin/pg4_dump/pg4_dump.c

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -289,19 +289,19 @@ getTypes(int *numTypes)
289289
i_typbyval = PQfnumberGroup(pbuf,0,"typbyval");
290290

291291
for (i=0;i<ntups;i++) {
292-
tinfo[i].oid = dupstr(PQgetvalue(pbuf,i,i_oid));
293-
tinfo[i].typowner = dupstr(PQgetvalue(pbuf,i,i_typowner));
294-
tinfo[i].typname = dupstr(PQgetvalue(pbuf,i,i_typname));
295-
tinfo[i].typlen = dupstr(PQgetvalue(pbuf,i,i_typlen));
296-
tinfo[i].typprtlen = dupstr(PQgetvalue(pbuf,i,i_typprtlen));
297-
tinfo[i].typinput = dupstr(PQgetvalue(pbuf,i,i_typinput));
298-
tinfo[i].typoutput = dupstr(PQgetvalue(pbuf,i,i_typoutput));
299-
tinfo[i].typreceive = dupstr(PQgetvalue(pbuf,i,i_typreceive));
300-
tinfo[i].typsend = dupstr(PQgetvalue(pbuf,i,i_typsend));
301-
tinfo[i].typelem = dupstr(PQgetvalue(pbuf,i,i_typelem));
302-
tinfo[i].typdelim = dupstr(PQgetvalue(pbuf,i,i_typdelim));
303-
tinfo[i].typdefault = dupstr(PQgetvalue(pbuf,i,i_typdefault));
304-
tinfo[i].typrelid = dupstr(PQgetvalue(pbuf,i,i_typrelid));
292+
tinfo[i].oid = strdup(PQgetvalue(pbuf,i,i_oid));
293+
tinfo[i].typowner = strdup(PQgetvalue(pbuf,i,i_typowner));
294+
tinfo[i].typname = strdup(PQgetvalue(pbuf,i,i_typname));
295+
tinfo[i].typlen = strdup(PQgetvalue(pbuf,i,i_typlen));
296+
tinfo[i].typprtlen = strdup(PQgetvalue(pbuf,i,i_typprtlen));
297+
tinfo[i].typinput = strdup(PQgetvalue(pbuf,i,i_typinput));
298+
tinfo[i].typoutput = strdup(PQgetvalue(pbuf,i,i_typoutput));
299+
tinfo[i].typreceive = strdup(PQgetvalue(pbuf,i,i_typreceive));
300+
tinfo[i].typsend = strdup(PQgetvalue(pbuf,i,i_typsend));
301+
tinfo[i].typelem = strdup(PQgetvalue(pbuf,i,i_typelem));
302+
tinfo[i].typdelim = strdup(PQgetvalue(pbuf,i,i_typdelim));
303+
tinfo[i].typdefault = strdup(PQgetvalue(pbuf,i,i_typdefault));
304+
tinfo[i].typrelid = strdup(PQgetvalue(pbuf,i,i_typrelid));
305305

306306
if (strcmp(PQgetvalue(pbuf,i,i_typbyval), "f") == 0)
307307
tinfo[i].passedbyvalue = 0;
@@ -390,19 +390,19 @@ getOperators(int *numOprs)
390390
i_oprrsortop = PQfnumberGroup(pbuf,0,"oprrsortop");
391391

392392
for (i=0;i<ntups;i++) {
393-
oprinfo[i].oid = dupstr(PQgetvalue(pbuf,i,i_oid));
394-
oprinfo[i].oprname = dupstr(PQgetvalue(pbuf,i,i_oprname));
395-
oprinfo[i].oprkind = dupstr(PQgetvalue(pbuf,i,i_oprkind));
396-
oprinfo[i].oprcode = dupstr(PQgetvalue(pbuf,i,i_oprcode));
397-
oprinfo[i].oprleft = dupstr(PQgetvalue(pbuf,i,i_oprleft));
398-
oprinfo[i].oprright = dupstr(PQgetvalue(pbuf,i,i_oprright));
399-
oprinfo[i].oprcom = dupstr(PQgetvalue(pbuf,i,i_oprcom));
400-
oprinfo[i].oprnegate = dupstr(PQgetvalue(pbuf,i,i_oprnegate));
401-
oprinfo[i].oprrest = dupstr(PQgetvalue(pbuf,i,i_oprrest));
402-
oprinfo[i].oprjoin = dupstr(PQgetvalue(pbuf,i,i_oprjoin));
403-
oprinfo[i].oprcanhash = dupstr(PQgetvalue(pbuf,i,i_oprcanhash));
404-
oprinfo[i].oprlsortop = dupstr(PQgetvalue(pbuf,i,i_oprlsortop));
405-
oprinfo[i].oprrsortop = dupstr(PQgetvalue(pbuf,i,i_oprrsortop));
393+
oprinfo[i].oid = strdup(PQgetvalue(pbuf,i,i_oid));
394+
oprinfo[i].oprname = strdup(PQgetvalue(pbuf,i,i_oprname));
395+
oprinfo[i].oprkind = strdup(PQgetvalue(pbuf,i,i_oprkind));
396+
oprinfo[i].oprcode = strdup(PQgetvalue(pbuf,i,i_oprcode));
397+
oprinfo[i].oprleft = strdup(PQgetvalue(pbuf,i,i_oprleft));
398+
oprinfo[i].oprright = strdup(PQgetvalue(pbuf,i,i_oprright));
399+
oprinfo[i].oprcom = strdup(PQgetvalue(pbuf,i,i_oprcom));
400+
oprinfo[i].oprnegate = strdup(PQgetvalue(pbuf,i,i_oprnegate));
401+
oprinfo[i].oprrest = strdup(PQgetvalue(pbuf,i,i_oprrest));
402+
oprinfo[i].oprjoin = strdup(PQgetvalue(pbuf,i,i_oprjoin));
403+
oprinfo[i].oprcanhash = strdup(PQgetvalue(pbuf,i,i_oprcanhash));
404+
oprinfo[i].oprlsortop = strdup(PQgetvalue(pbuf,i,i_oprlsortop));
405+
oprinfo[i].oprrsortop = strdup(PQgetvalue(pbuf,i,i_oprrsortop));
406406
}
407407

408408
PQclear(res+1);
@@ -471,16 +471,16 @@ getAggregates(int *numAggs)
471471
i_agginitval2 = PQfnumberGroup(pbuf,0,"agginitval2");
472472

473473
for (i=0;i<ntups;i++) {
474-
agginfo[i].oid = dupstr(PQgetvalue(pbuf,i,i_oid));
475-
agginfo[i].aggname = dupstr(PQgetvalue(pbuf,i,i_aggname));
476-
agginfo[i].aggtransfn1 = dupstr(PQgetvalue(pbuf,i,i_aggtransfn1));
477-
agginfo[i].aggtransfn2 = dupstr(PQgetvalue(pbuf,i,i_aggtransfn2));
478-
agginfo[i].aggfinalfn = dupstr(PQgetvalue(pbuf,i,i_aggfinalfn));
479-
agginfo[i].aggtranstype1 = dupstr(PQgetvalue(pbuf,i,i_aggtranstype1));
480-
agginfo[i].aggbasetype = dupstr(PQgetvalue(pbuf,i,i_aggbasetype));
481-
agginfo[i].aggtranstype2 = dupstr(PQgetvalue(pbuf,i,i_aggtranstype2));
482-
agginfo[i].agginitval1 = dupstr(PQgetvalue(pbuf,i,i_agginitval1));
483-
agginfo[i].agginitval2 = dupstr(PQgetvalue(pbuf,i,i_agginitval2));
474+
agginfo[i].oid = strdup(PQgetvalue(pbuf,i,i_oid));
475+
agginfo[i].aggname = strdup(PQgetvalue(pbuf,i,i_aggname));
476+
agginfo[i].aggtransfn1 = strdup(PQgetvalue(pbuf,i,i_aggtransfn1));
477+
agginfo[i].aggtransfn2 = strdup(PQgetvalue(pbuf,i,i_aggtransfn2));
478+
agginfo[i].aggfinalfn = strdup(PQgetvalue(pbuf,i,i_aggfinalfn));
479+
agginfo[i].aggtranstype1 = strdup(PQgetvalue(pbuf,i,i_aggtranstype1));
480+
agginfo[i].aggbasetype = strdup(PQgetvalue(pbuf,i,i_aggbasetype));
481+
agginfo[i].aggtranstype2 = strdup(PQgetvalue(pbuf,i,i_aggtranstype2));
482+
agginfo[i].agginitval1 = strdup(PQgetvalue(pbuf,i,i_agginitval1));
483+
agginfo[i].agginitval2 = strdup(PQgetvalue(pbuf,i,i_agginitval2));
484484
}
485485

486486
PQclear(res+1);
@@ -553,14 +553,14 @@ getFuncs(int *numFuncs)
553553
i_probin = PQfnumberGroup(pbuf,0,"probin");
554554

555555
for (i=0;i<ntups;i++) {
556-
finfo[i].oid = dupstr(PQgetvalue(pbuf,i,i_oid));
557-
finfo[i].proname = dupstr(PQgetvalue(pbuf,i,i_proname));
558-
finfo[i].proowner = dupstr(PQgetvalue(pbuf,i,i_proowner));
556+
finfo[i].oid = strdup(PQgetvalue(pbuf,i,i_oid));
557+
finfo[i].proname = strdup(PQgetvalue(pbuf,i,i_proname));
558+
finfo[i].proowner = strdup(PQgetvalue(pbuf,i,i_proowner));
559559

560560
finfo[i].prosrc = checkForQuote(PQgetvalue(pbuf,i,i_prosrc));
561-
finfo[i].probin = dupstr(PQgetvalue(pbuf,i,i_probin));
561+
finfo[i].probin = strdup(PQgetvalue(pbuf,i,i_probin));
562562

563-
finfo[i].prorettype = dupstr(PQgetvalue(pbuf,i,i_prorettype));
563+
finfo[i].prorettype = strdup(PQgetvalue(pbuf,i,i_prorettype));
564564
finfo[i].retset = (strcmp(PQgetvalue(pbuf,i,i_proretset),"t") == 0);
565565
finfo[i].nargs = atoi(PQgetvalue(pbuf,i,i_pronargs));
566566
finfo[i].lang = (atoi(PQgetvalue(pbuf,i,i_prolang)) == C_PROLANG_OID);
@@ -624,9 +624,9 @@ getTables(int *numTables)
624624
i_relarch = PQfnumberGroup(pbuf,0,"relarch");
625625

626626
for (i=0;i<ntups;i++) {
627-
tblinfo[i].oid = dupstr(PQgetvalue(pbuf,i,i_oid));
628-
tblinfo[i].relname = dupstr(PQgetvalue(pbuf,i,i_relname));
629-
tblinfo[i].relarch = dupstr(PQgetvalue(pbuf,i,i_relarch));
627+
tblinfo[i].oid = strdup(PQgetvalue(pbuf,i,i_oid));
628+
tblinfo[i].relname = strdup(PQgetvalue(pbuf,i,i_relname));
629+
tblinfo[i].relarch = strdup(PQgetvalue(pbuf,i,i_relarch));
630630
}
631631

632632
PQclear(res+1);
@@ -677,8 +677,8 @@ getInherits(int *numInherits)
677677
i_inhparent = PQfnumberGroup(pbuf,0,"inhparent");
678678

679679
for (i=0;i<ntups;i++) {
680-
inhinfo[i].inhrel = dupstr(PQgetvalue(pbuf,i,i_inhrel));
681-
inhinfo[i].inhparent = dupstr(PQgetvalue(pbuf,i,i_inhparent));
680+
inhinfo[i].inhrel = strdup(PQgetvalue(pbuf,i,i_inhrel));
681+
inhinfo[i].inhparent = strdup(PQgetvalue(pbuf,i,i_inhparent));
682682
}
683683

684684
PQclear(res+1);
@@ -740,8 +740,8 @@ if (g_verbose)
740740
tblinfo[i].parentRels = NULL;
741741
tblinfo[i].numParents = 0;
742742
for (j=0;j<ntups;j++) {
743-
tblinfo[i].attnames[j] = dupstr(PQgetvalue(pbuf,j,i_attname));
744-
tblinfo[i].typnames[j] = dupstr(PQgetvalue(pbuf,j,i_typname));
743+
tblinfo[i].attnames[j] = strdup(PQgetvalue(pbuf,j,i_attname));
744+
tblinfo[i].typnames[j] = strdup(PQgetvalue(pbuf,j,i_typname));
745745
tblinfo[i].inhAttrs[j] = 0; /* this flag is set in flagInhAttrs()*/
746746
}
747747
PQclear(res+1);
@@ -809,12 +809,12 @@ getIndices(int *numIndices)
809809
i_indclassname = PQfnumberGroup(pbuf,0,"indclassname");
810810

811811
for (i=0;i<ntups;i++) {
812-
indinfo[i].indexrelname = dupstr(PQgetvalue(pbuf,i,i_indexrelname));
813-
indinfo[i].indrelname = dupstr(PQgetvalue(pbuf,i,i_indrelname));
814-
indinfo[i].indamname = dupstr(PQgetvalue(pbuf,i,i_indamname));
815-
indinfo[i].indproc = dupstr(PQgetvalue(pbuf,i,i_indproc));
816-
indinfo[i].indkey = dupstr(PQgetvalue(pbuf,i,i_indkey));
817-
indinfo[i].indclassname = dupstr(PQgetvalue(pbuf,i,i_indclassname));
812+
indinfo[i].indexrelname = strdup(PQgetvalue(pbuf,i,i_indexrelname));
813+
indinfo[i].indrelname = strdup(PQgetvalue(pbuf,i,i_indrelname));
814+
indinfo[i].indamname = strdup(PQgetvalue(pbuf,i,i_indamname));
815+
indinfo[i].indproc = strdup(PQgetvalue(pbuf,i,i_indproc));
816+
indinfo[i].indkey = strdup(PQgetvalue(pbuf,i,i_indkey));
817+
indinfo[i].indclassname = strdup(PQgetvalue(pbuf,i,i_indclassname));
818818
}
819819
PQclear(res+1);
820820
PQexec("end");
@@ -1368,7 +1368,7 @@ dumpIndices(FILE* fout, IndInfo* indinfo, int numIndices,
13681368
indinfo[i].indproc);
13691369
res = PQexec(q);
13701370
pbuf = PQparray(res+1);
1371-
funcname = dupstr(PQgetvalue(pbuf,0,
1371+
funcname = strdup(PQgetvalue(pbuf,0,
13721372
PQfnumberGroup(pbuf,0,"proname")));
13731373
PQclear(res+1);
13741374
}
@@ -1594,7 +1594,7 @@ checkForQuote(char* s)
15941594
}
15951595
r[j] = '\0';
15961596

1597-
result = dupstr(r);
1597+
result = strdup(r);
15981598
free(r);
15991599

16001600
return result;

src/bin/pg_dump/common.c

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.4 1996/08/24 20:49:17 scrappy Exp $
10+
* $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.5 1996/09/16 06:05:47 scrappy Exp $
1111
*
1212
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
1313
*
@@ -21,6 +21,7 @@
2121

2222
#include <stdlib.h>
2323
#include <stdio.h>
24+
#include <string.h>
2425
#include <sys/param.h> /* for MAXHOSTNAMELEN on most */
2526
#ifdef PORTNAME_sparc_solaris
2627
#include <netdb.h> /* for MAXHOSTNAMELEN on some */
@@ -31,22 +32,6 @@
3132

3233
#include "pg_dump.h"
3334

34-
/* dupstr : copies a string, while allocating space for it.
35-
the CALLER is responsible for freeing the space
36-
returns NULL if the argument is NULL*/
37-
char*
38-
dupstr(char *s)
39-
{
40-
char* result;
41-
42-
if (s == NULL)
43-
return NULL;
44-
45-
result = (char*)malloc(strlen(s)+1);
46-
strcpy(result, s);
47-
return result;
48-
}
49-
5035
/*
5136
* findTypeByOid
5237
* given an oid of a type, return its typename
@@ -160,7 +145,7 @@ parseArgTypes(char **argtypes, char* str)
160145
while ( (s = *str) != '\0') {
161146
if (s == ' ') {
162147
temp[j] = '\0';
163-
argtypes[argNum] = dupstr(temp);
148+
argtypes[argNum] = strdup(temp);
164149
argNum++;
165150
j = 0;
166151
} else {
@@ -171,7 +156,7 @@ parseArgTypes(char **argtypes, char* str)
171156
}
172157
if (j != 0) {
173158
temp[j] = '\0';
174-
argtypes[argNum] = dupstr(temp);
159+
argtypes[argNum] = strdup(temp);
175160
}
176161

177162
}

0 commit comments

Comments
 (0)