diff --git a/src/backend/commands/_deadcode/version.c b/src/backend/commands/_deadcode/version.c index bfc657778dfa284e9bdd6beaa77d6850b39820fa..c823f0d0dd9b006ee0366dc0e4695fc6a3d179f8 100644 --- a/src/backend/commands/_deadcode/version.c +++ b/src/backend/commands/_deadcode/version.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.3 1996/11/06 08:21:42 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.4 1997/08/12 20:15:13 momjian Exp $ * * NOTES * At the point the version is defined, 2 physical relations are created @@ -106,12 +106,12 @@ DefineVersion(char *name, char *fromRelname, char *date) if (date == NULL) { /* no time ranges */ bname = fromRelname; - (void) strcpy(saved_basename, (char *) bname); + strcpy(saved_basename, (char *) bname); *saved_snapshot = (char)NULL; } else { /* version is a snapshot */ bname = fromRelname; - (void) strcpy(saved_basename, (char *) bname); + strcpy(saved_basename, (char *) bname); sprintf(saved_snapshot, "['%s']", date); } diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index b8627d1e47aa8363a60ecbf559a97d3966d433e2..7d24261c644fc2cacdd7b108b4438fd54ab65a1f 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.14 1997/08/03 02:34:34 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.15 1997/08/12 20:15:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -456,8 +456,7 @@ Async_Listen(char *relname, int pid) * to unlisten prior to dying. */ relnamei = malloc(NAMEDATALEN); /* persists to process exit */ - strncpy(relnamei, relname, NAMEDATALEN); - relnamei[NAMEDATALEN-1] = '\0'; + strNcpy(relnamei, relname, NAMEDATALEN-1); on_exitpg(Async_UnlistenOnExit, (caddr_t) relnamei); } diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c index 1a184615bf13cdd0e8fd305232b3239bb6f87dfd..0934e4197a5711d3d01eb91dbaedd1fb6ed65537 100644 --- a/src/backend/commands/creatinh.c +++ b/src/backend/commands/creatinh.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.8 1997/08/03 02:34:53 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.9 1997/08/12 20:15:10 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -61,8 +61,7 @@ DefineRelation(CreateStmt *stmt) if ( strlen(stmt->relname) >= NAMEDATALEN) elog(WARN, "the relation name %s is >= %d characters long", stmt->relname, NAMEDATALEN); - strncpy(relname,stmt->relname,NAMEDATALEN); /* make full length for copy */ - relname[NAMEDATALEN-1] = '\0'; + strNcpy(relname,stmt->relname,NAMEDATALEN-1); /* make full length for copy */ /* ---------------- * Handle parameters diff --git a/src/backend/commands/recipe.c b/src/backend/commands/recipe.c index ed94f0c18ec44c3f98d16c6011843683ff5c90e6..e6aa009bd33f20f886dc231d4f59d31501d3eb22 100644 --- a/src/backend/commands/recipe.c +++ b/src/backend/commands/recipe.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.5 1996/11/06 08:21:37 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/recipe.c,v 1.6 1997/08/12 20:15:11 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1149,8 +1149,7 @@ replaceTeeScans(Plan* plan, Query* parsetree, TeeInfo *teeInfo) if ((strlen(rte->refname) < 4) || (strcmp (rte->relname, rte->refname) != 0)) continue; - strncpy(prefix,rte->refname,4); - prefix[4] = '\0'; + strNcpy(prefix,rte->refname,4); if (strcmp(prefix,"tee_") == 0) { /* okay, we found a tee node entry in the range table */ diff --git a/src/backend/commands/rename.c b/src/backend/commands/rename.c index 87f995a2d7d789bc5c9485fc365799698d4d5ee9..c1016a91c917e07efb606cfb53d6546daaf3d4ac 100644 --- a/src/backend/commands/rename.c +++ b/src/backend/commands/rename.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.4 1996/11/10 02:59:42 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.5 1997/08/12 20:15:12 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -235,8 +235,8 @@ renamerel(char oldrelname[], char newrelname[]) } /* rename the directory first, so if this fails the rename's not done */ - (void) strcpy(oldpath, relpath(oldrelname)); - (void) strcpy(newpath, relpath(newrelname)); + strcpy(oldpath, relpath(oldrelname)); + strcpy(newpath, relpath(newrelname)); if (rename(oldpath, newpath) < 0) elog(WARN, "renamerel: unable to rename file: %m"); diff --git a/src/backend/lib/stringinfo.c b/src/backend/lib/stringinfo.c index fb992a19c8882ad362ea51360cc4ef895e208764..18cfc89f982d11a68085ea0e4612359f6f414ede 100644 --- a/src/backend/lib/stringinfo.c +++ b/src/backend/lib/stringinfo.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/lib/stringinfo.c,v 1.2 1996/11/06 08:27:16 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/lib/stringinfo.c,v 1.3 1997/08/12 20:15:15 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -111,6 +111,6 @@ appendStringInfo(StringInfo str, char *buffer) * NOTE: this is a text string (i.e. printable characters) * so 'strcat' will do the job (no need to use 'bcopy' et all...) */ - (void) strcat(str->data, buffer); + strcat(str->data, buffer); str->len += buflen; } diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index b191c03cbfff27747a81626cb47c81b66e6b687a..f325fa0a06ab58f17188fe59a9dadcab7bfd7cb7 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.11 1997/03/25 00:54:15 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.12 1997/08/12 20:15:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -302,10 +302,10 @@ pg_krb5_recvauth(int sock, * easy, we construct our own name and parse it. See note on * canonicalization above. */ - (void) strcpy(servbuf, PG_KRB_SRVNAM); + strcpy(servbuf, PG_KRB_SRVNAM); *(hostp = servbuf + (sizeof(PG_KRB_SRVNAM) - 1)) = '/'; if (gethostname(++hostp, MAXHOSTNAMELEN) < 0) - (void) strcpy(hostp, "localhost"); + strcpy(hostp, "localhost"); if (hostp = strchr(hostp, '.')) *hostp = '\0'; if (code = krb5_parse_name(servbuf, &server)) { diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c index f71b5b2892d487c16061f8ccff5cee14c31ab394..c1b36b889489b0662c9e0de3871918d79446a80f 100644 --- a/src/backend/libpq/be-fsstubs.c +++ b/src/backend/libpq/be-fsstubs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.10 1997/06/10 13:01:32 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.11 1997/08/12 20:15:18 momjian Exp $ * * NOTES * This should be moved to a more appropriate place. It is here @@ -257,8 +257,7 @@ lo_import(text *filename) /* * open the file to be read in */ - strncpy(fnamebuf, VARDATA(filename), VARSIZE(filename) - VARHDRSZ); - fnamebuf[VARSIZE(filename) - VARHDRSZ] = '\0'; + strNcpy(fnamebuf, VARDATA(filename), VARSIZE(filename) - VARHDRSZ); fd = open(fnamebuf, O_RDONLY, 0666); if (fd < 0) { /* error */ elog(WARN, "be_lo_import: can't open unix file\"%s\"\n", @@ -325,8 +324,7 @@ lo_export(Oid lobjId, text *filename) * open the file to be written to */ oumask = umask((mode_t) 0); - strncpy(fnamebuf, VARDATA(filename), VARSIZE(filename) - VARHDRSZ); - fnamebuf[VARSIZE(filename) - VARHDRSZ] = '\0'; + strNcpy(fnamebuf, VARDATA(filename), VARSIZE(filename) - VARHDRSZ); fd = open(fnamebuf, O_CREAT|O_WRONLY, 0666); (void) umask(oumask); if (fd < 0) { /* error */ diff --git a/src/backend/libpq/be-pqexec.c b/src/backend/libpq/be-pqexec.c index b880ba7100964e2a5efc824abb13ff7ab6361c2d..031f7ea8a9e716522d69aac1b7237f18fe7fc724 100644 --- a/src/backend/libpq/be-pqexec.c +++ b/src/backend/libpq/be-pqexec.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-pqexec.c,v 1.2 1996/11/06 08:48:26 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-pqexec.c,v 1.3 1997/08/12 20:15:19 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -223,7 +223,7 @@ strmake(char *str, int len) if (len <= 0) len = strlen(str); newstr = (char *) palloc((unsigned) len+1); - (void) strncpy(newstr, str, len); + strNcpy(newstr, str, len); newstr[len] = (char) 0; return newstr; } diff --git a/src/backend/libpq/password.c b/src/backend/libpq/password.c index 55f77508bbf2f7eb1f4a59c2c4d409860e005ac9..555e9c645ec0025575a74a39e65dccc2dc5e3b6c 100644 --- a/src/backend/libpq/password.c +++ b/src/backend/libpq/password.c @@ -80,8 +80,7 @@ verify_password(char *user, char *password, Port *port, /* kill the newline */ test_pw[strlen(test_pw)-1] = '\0'; - strncpy(salt, test_pw, 2); - salt[2] = '\0'; + strNcpy(salt, test_pw, 2); if(strcmp(user, test_user) == 0) { /* we're outta here one way or the other. */ diff --git a/src/backend/libpq/portal.c b/src/backend/libpq/portal.c index e54e18676f8f54a4c6e3ac5624469925df5e1a93..2ddeab1a701a9d5f59a3b74613fdcd983d183a7b 100644 --- a/src/backend/libpq/portal.c +++ b/src/backend/libpq/portal.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.4 1996/11/06 08:48:28 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.5 1997/08/12 20:15:22 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -144,7 +144,7 @@ PQpnames(char **pnames, int rule_p) for (i = 0; i < portals_array_size; ++i) { if (portals[i] && portals[i]->portal) { if (!rule_p || portals[i]->portal->rule_p) { - (void) strncpy(pnames[cur_pname], portals[i]->name, PortalNameLength); + strncpy(pnames[cur_pname], portals[i]->name, PortalNameLength); ++cur_pname; } } @@ -710,7 +710,7 @@ PQappendNotify(char *relname, int pid) pqNotifyList = DLNewList(); p = (PQNotifyList*)pbuf_alloc(sizeof(PQNotifyList)); - strncpy(p->relname, relname, NAMEDATALEN); + strNcpy(p->relname, relname, NAMEDATALEN-1); p->be_pid = pid; p->valid = 1; DLAddTail(pqNotifyList, DLNewElem(p)); diff --git a/src/backend/libpq/portalbuf.c b/src/backend/libpq/portalbuf.c index e0390c5ae793eb568a58a507667cea78f6bc618b..b7a527dcfafcd47e26ca0a67df0bd8d3e17406f9 100644 --- a/src/backend/libpq/portalbuf.c +++ b/src/backend/libpq/portalbuf.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portalbuf.c,v 1.3 1996/11/06 08:48:29 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portalbuf.c,v 1.4 1997/08/12 20:15:23 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -377,8 +377,7 @@ void pbuf_setportalinfo(PortalEntry *entry, char *pname) { if (entry) - strncpy(entry->name, pname, PortalNameLength-1); - entry->name[PortalNameLength-1] = '\0'; + strNcpy(entry->name, pname, PortalNameLength-1); } /* -------------------------------- diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 8ba16383c28d383917eafec13ac9425b6d21c1a8..78767a4a1c42363ee67b879182fd50dbc4eef47b 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.17 1997/07/28 00:54:18 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.18 1997/08/12 20:15:24 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -113,7 +113,7 @@ pq_getc(FILE* fin) void pq_gettty(char *tp) { - (void) strncpy(tp, ttyname(0), 19); + strncpy(tp, ttyname(0), 19); } /* -------------------------------- @@ -585,8 +585,8 @@ StreamServerPort(char *hostName, short portName, int *fdP) "FATAL: StreamServerPort: bind() failed: errno=%d\n", errno); pqdebug("%s", PQerrormsg); - (void) strcat(PQerrormsg, "\tIs another postmaster already running on that port?\n"); - (void) strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n"); + strcat(PQerrormsg, "\tIs another postmaster already running on that port?\n"); + strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n"); fputs(PQerrormsg, stderr); return(STATUS_ERROR); } diff --git a/src/backend/nodes/print.c b/src/backend/nodes/print.c index fd58f482b9ab6e3434a6b751b40028a15e6f4d3d..30553fbb5bf0f6240c9c5af22f811cc731b00312 100644 --- a/src/backend/nodes/print.c +++ b/src/backend/nodes/print.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.4 1997/08/03 02:35:13 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.5 1997/08/12 20:15:27 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -349,15 +349,13 @@ print_plan_recursive (Plan* p, Query *parsetree, int indentLevel, char* label) if (IsA(p,Scan) || IsA(p,SeqScan)) { RangeTblEntry *rte; rte = rt_fetch(((Scan*)p)->scanrelid, parsetree->rtable); - strncpy(extraInfo, rte->relname, NAMEDATALEN); - extraInfo[NAMEDATALEN-1] = '\0'; + strNcpy(extraInfo, rte->relname, NAMEDATALEN-1); } else if (IsA(p,IndexScan)) { - strncpy(extraInfo, + strNcpy(extraInfo, ((RangeTblEntry*)(nth(((IndexScan*)p)->scan.scanrelid - 1, parsetree->rtable)))->relname, - NAMEDATALEN); - extraInfo[NAMEDATALEN-1] = '\0'; + NAMEDATALEN-1); } else extraInfo[0] = '\0'; if (extraInfo[0] != '\0') diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index fc5797e2be4d39331a97749c0e03ef93d4668901..736873bcba2bdd7c9f2b8d7d36e77b18de35326a 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.5 1997/05/12 07:17:23 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.6 1997/08/12 20:15:28 momjian Exp $ * * NOTES * Most of the read functions for plan nodes are tested. (In fact, they @@ -87,8 +87,7 @@ _readQuery() else { NotifyStmt *n = makeNode(NotifyStmt); n->relname = palloc(length + 1); - strncpy(n->relname,token,length); - n->relname[length] = '\0'; + strNcpy(n->relname,token,length); local_node->utilityStmt = (Node*)n; } @@ -106,8 +105,7 @@ _readQuery() local_node->uniqueFlag = NULL; else { local_node->uniqueFlag = palloc(length + 1); - strncpy(local_node->uniqueFlag,token,length); - local_node->uniqueFlag[length] = '\0'; + strNcpy(local_node->uniqueFlag,token,length); } token = lsptok(NULL, &length); /* skip :targetlist */ @@ -1033,8 +1031,7 @@ _readAggreg() token = lsptok(NULL, &length); /* eat :aggname */ token = lsptok(NULL, &length); /* get aggname */ local_node->aggname = (char*) palloc (length + 1); - memset (local_node->aggname, 0, length + 1); - strncpy (local_node->aggname, token, length); + strNcpy (local_node->aggname, token, length); token = lsptok(NULL, &length); /* eat :basetype */ token = lsptok(NULL, &length); /* get basetype */ diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index fdfc8a7b1256fb72a0bee6092c37bde8d0054cb1..78e08ceeb12ecc34499458aa7738d09e60dcbf64 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.30 1997/08/03 02:35:28 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.31 1997/08/12 20:15:31 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1004,8 +1004,7 @@ makeTargetNames(ParseState *pstate, List *cols) Ident *id = makeNode(Ident); id->name = palloc(NAMEDATALEN); - strncpy(id->name, attr[i]->attname.data, NAMEDATALEN); - id->name[NAMEDATALEN-1]='\0'; + strNcpy(id->name, attr[i]->attname.data, NAMEDATALEN-1); id->indirection = NIL; id->isRel = false; if (tl == NIL) diff --git a/src/backend/parser/catalog_utils.c b/src/backend/parser/catalog_utils.c index 3407e2e0aed8f8e1c0ca63cfef35ad9a3a6a7a95..ebe970d13d7616c5f370f98c24a56933d088e0bc 100644 --- a/src/backend/parser/catalog_utils.c +++ b/src/backend/parser/catalog_utils.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.19 1997/07/24 20:13:01 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.20 1997/08/12 20:15:32 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1488,7 +1488,7 @@ func_error(char *caller, char *funcname, int nargs, Oid *argtypes) *ptr++ = ' '; } if (argtypes[i] != 0) { - (void) strcpy(ptr, tname(get_id_type(argtypes[i]))); + strcpy(ptr, tname(get_id_type(argtypes[i]))); *(ptr + NAMEDATALEN) = '\0'; } else strcpy(ptr, "opaque"); diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 0dcc3613f0f88618d882e12f02702c00c61c8412..32d32e6b535894c2a4f84988cfd59e4c3623c8b8 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.34 1997/05/22 00:24:07 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.35 1997/08/12 20:15:33 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -2190,8 +2190,7 @@ opt_id: Id { $$ = $1; } relation_name: SpecialRuleRelation { $$ = $1; - strncpy(saved_relname, $1, NAMEDATALEN); - saved_relname[NAMEDATALEN-1] = '\0'; + strNcpy(saved_relname, $1, NAMEDATALEN-1); } | Id { @@ -2204,8 +2203,7 @@ relation_name: SpecialRuleRelation } else { $$ = $1; } - strncpy(saved_relname, $1, NAMEDATALEN); - saved_relname[NAMEDATALEN-1] = '\0'; + strNcpy(saved_relname, $1, NAMEDATALEN-1); } ; diff --git a/src/backend/port/BSD44_derived/dl.c b/src/backend/port/BSD44_derived/dl.c index 6184c70adf432f2437737c62bedde0af85b38412..30f1737ed48aeac8ceb86e7c7b9f046970b7ab58 100644 --- a/src/backend/port/BSD44_derived/dl.c +++ b/src/backend/port/BSD44_derived/dl.c @@ -52,7 +52,7 @@ BSD44_derived_dlerror(void) { static char ret[BUFSIZ]; - (void) strcpy(ret, error_message); + strcpy(ret, error_message); error_message[0] = 0; return((ret[0] == 0) ? (char *) NULL : ret); } diff --git a/src/backend/port/aix/dlfcn.c b/src/backend/port/aix/dlfcn.c index 9ae113ce06ec0f1e75a893918216cf429c6d48fb..b164336d5fd4e61f2f7a70757d36756db6a8fb8d 100644 --- a/src/backend/port/aix/dlfcn.c +++ b/src/backend/port/aix/dlfcn.c @@ -466,8 +466,7 @@ static int readExports(ModulePtr mp) * must copy the first SYMNMLEN chars and make * sure we have a zero byte at the end. */ - strncpy(tmpsym, ls->l_name, SYMNMLEN); - tmpsym[SYMNMLEN] = '\0'; + strNcpy(tmpsym, ls->l_name, SYMNMLEN); symname = tmpsym; } ep->name = strdup(symname); diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index c57a2b1b4d37661d35b3639a8ca27faad9404940..ddbf196160abf7a63a0b84f3e5b3c6566deebbdf 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.49 1997/08/03 02:36:01 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.50 1997/08/12 20:15:42 momjian Exp $ * * NOTES * @@ -241,7 +241,7 @@ PostmasterMain(int argc, char *argv[]) if (!(hostName = getenv("PGHOST"))) { if (gethostname(hostbuf, MAXHOSTNAMELEN) < 0) - (void) strcpy(hostbuf, "localhost"); + strcpy(hostbuf, "localhost"); hostName = hostbuf; } @@ -262,8 +262,8 @@ PostmasterMain(int argc, char *argv[]) * were allocated. */ NBuffers = atol(optarg); - (void) strcat(ExtraOptions, " -B "); - (void) strcat(ExtraOptions, optarg); + strcat(ExtraOptions, " -B "); + strcat(ExtraOptions, optarg); break; case 'b': /* Set the backend executable file to use. */ @@ -308,8 +308,8 @@ PostmasterMain(int argc, char *argv[]) * Other options to pass to the backend on the * command line -- useful only for debugging. */ - (void) strcat(ExtraOptions, " "); - (void) strcat(ExtraOptions, optarg); + strcat(ExtraOptions, " "); + strcat(ExtraOptions, optarg); break; case 'p': /* Set PGPORT by hand. */ @@ -652,8 +652,7 @@ ConnStartup(Port *port, int *status, msgType = (MsgType) ntohl(port->buf.msgtype); - (void) strncpy(namebuf, sp.user, NAMEDATALEN); - namebuf[NAMEDATALEN-1] = '\0'; + strNcpy(namebuf, sp.user, NAMEDATALEN-1); if (!namebuf[0]) { strncpy(errormsg, "No Postgres username specified in startup packet.", @@ -1087,8 +1086,7 @@ DoExec(StartupInfo *packet, int portFd) int ac = 0; int i; - (void) strncpy(execbuf, Execfile, MAXPATHLEN); - execbuf[MAXPATHLEN - 1] = '\0'; + strncpy(execbuf, Execfile, MAXPATHLEN-1); av[ac++] = execbuf; /* Tell the backend it is being called from the postmaster */ @@ -1111,7 +1109,7 @@ DoExec(StartupInfo *packet, int portFd) /* Pass the requested debugging output file */ if (packet->tty[0]) { - (void) strncpy(ttybuf, packet->tty, ARGV_SIZE); + strncpy(ttybuf, packet->tty, ARGV_SIZE); av[ac++] = "-o"; av[ac++] = ttybuf; } @@ -1125,17 +1123,15 @@ DoExec(StartupInfo *packet, int portFd) (void) sprintf(portbuf, "-P%d", portFd); av[ac++] = portbuf; - (void) strncpy(argbuf, packet->options, ARGV_SIZE); - argbuf[ARGV_SIZE] = '\0'; - (void) strncat(argbuf, ExtraOptions, ARGV_SIZE); + strNcpy(argbuf, packet->options, ARGV_SIZE); + strncat(argbuf, ExtraOptions, ARGV_SIZE); argbuf[(2 * ARGV_SIZE)] = '\0'; split_opts(av, &ac, argbuf); if (packet->database[0]) - (void) strncpy(dbbuf, packet->database, ARGV_SIZE); + strNcpy(dbbuf, packet->database, ARGV_SIZE); else - (void) strncpy(dbbuf, packet->user, NAMEDATALEN); - dbbuf[ARGV_SIZE] = '\0'; + strNcpy(dbbuf, packet->user, NAMEDATALEN-1); av[ac++] = dbbuf; av[ac] = (char *) NULL; diff --git a/src/backend/regex/regcomp.c b/src/backend/regex/regcomp.c index aca663aac572f671cff5ec981d1d7f92d743e4ec..af6bede84bc6dfad50615bf040072586a8ec879a 100644 --- a/src/backend/regex/regcomp.c +++ b/src/backend/regex/regcomp.c @@ -1255,7 +1255,7 @@ register char *cp; return; } - (void) strcpy(cs->multis + oldend - 1, cp); + strcpy(cs->multis + oldend - 1, cp); cs->multis[cs->smultis - 1] = '\0'; } diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index 191cbfd1fcf8df4e3fee0d07e980e0b4643be500..f6ebe161bc860598c3eba37d97379df8c3b1ebf2 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.15 1997/08/03 02:36:22 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.16 1997/08/12 20:15:48 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -167,8 +167,7 @@ mdunlink(Relation reln) ** to do this. */ - strncpy(fname, RelationGetRelationName(reln)->data, NAMEDATALEN); - fname[NAMEDATALEN-1] = '\0'; + strNcpy(fname, RelationGetRelationName(reln)->data, NAMEDATALEN-1); if (FileNameUnlink(fname) < 0) return (SM_FAIL); diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index f5809739a5181557b786f06b04a51e8f5a36db99..4b802875f4768892937d3a456c37cf64844c4e2b 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.39 1997/08/06 05:38:35 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.40 1997/08/12 20:15:49 momjian Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -300,7 +300,7 @@ SocketBackend(char *inBuf, bool multiplexedBackend) * get input from the frontend * ---------------- */ - (void) strcpy(qtype, "?"); + strcpy(qtype, "?"); if (pq_getnchar(qtype,0,1) == EOF) { /* ------------ * when front-end applications quits/dies @@ -865,7 +865,7 @@ PostgresMain(int argc, char *argv[]) or 'localhost' */ if (!(hostName = getenv("PGHOST"))) { if (gethostname(hostbuf, MAXHOSTNAMELEN) < 0) - (void) strcpy(hostbuf, "localhost"); + strcpy(hostbuf, "localhost"); hostName = hostbuf; } @@ -1010,7 +1010,7 @@ PostgresMain(int argc, char *argv[]) * o - send output (stdout and stderr) to the given file * ---------------- */ - (void) strncpy(OutputFileName, optarg, MAXPGPATH); + strNcpy(OutputFileName, optarg, MAXPGPATH); break; case 'p': /* started by postmaster */ @@ -1292,7 +1292,7 @@ PostgresMain(int argc, char *argv[]) */ if (IsUnderPostmaster == false) { puts("\nPOSTGRES backend interactive interface"); - puts("$Revision: 1.39 $ $Date: 1997/08/06 05:38:35 $"); + puts("$Revision: 1.40 $ $Date: 1997/08/12 20:15:49 $"); } /* ---------------- diff --git a/src/backend/tcop/variable.c b/src/backend/tcop/variable.c index 3efb344ec21fc3345f2ad49415f8f798a344f40a..c2a2a754e955b2e905167e0905824e9fa597ed3d 100644 --- a/src/backend/tcop/variable.c +++ b/src/backend/tcop/variable.c @@ -2,7 +2,7 @@ * Routines for handling of 'SET var TO', 'SHOW var' and 'RESET var' * statements. * - * $Id: variable.c,v 1.12 1997/06/20 17:17:03 thomas Exp $ + * $Id: variable.c,v 1.13 1997/08/12 20:15:50 momjian Exp $ * */ @@ -70,8 +70,7 @@ static const char *get_token(char **tok, char **val, const char *str) } *tok = (char*) PALLOC(len + 1); - strncpy (*tok, start, len); - (*tok)[len] = '\0'; + strNcpy (*tok, start, len); /* skip white spaces */ while ( isspace(*str)) str++; @@ -110,8 +109,7 @@ static const char *get_token(char **tok, char **val, const char *str) } *val = (char*) PALLOC(len + 1); - strncpy (*val, start, len); - (*val)[len] = '\0'; + strNcpy (*val, start, len); /* skip white spaces */ while ( isspace(*str)) str++; diff --git a/src/backend/tioga/tgRecipe.c b/src/backend/tioga/tgRecipe.c index e51a61b94d44a4690c5940b4cdcb8af51a0f23e9..ef08f8e3f5808b39430329708dd9ce69605a89de 100644 --- a/src/backend/tioga/tgRecipe.c +++ b/src/backend/tioga/tgRecipe.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tioga/Attic/tgRecipe.c,v 1.2 1996/11/03 06:52:45 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/tioga/Attic/tgRecipe.c,v 1.3 1997/08/12 20:15:52 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -100,8 +100,7 @@ first character\n", ARRAY_LEFT_DELIM); nextlen = endQuote - beginQuote; /* don't subtract one here because we need the extra character for \0 anyway */ word = (char*) malloc(nextlen); - strncpy(word, beginQuote+1, nextlen-1); - word[nextlen-1] ='\0'; + strNcpy(word, beginQuote+1, nextlen-1); addArr_TgString(result, (TgString*)&word); free (word); str = endQuote + 1; diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c index 747846f7c3c33cdf5e97f1ca6231bdaf16bae799..c292dfe999507121e460d546f6f96d06e507ed75 100644 --- a/src/backend/utils/adt/acl.c +++ b/src/backend/utils/adt/acl.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.11 1997/08/03 02:36:41 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.12 1997/08/12 20:15:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -245,17 +245,17 @@ aclitemout(AclItem *aip) elog(NOTICE, "aclitemout: usesysid %d not found", aip->ai_id); - (void) strcat(p, tmp); + strcat(p, tmp); pfree(tmp); } else - (void) strncat(p, (char *) &((Form_pg_user) + strncat(p, (char *) &((Form_pg_user) GETSTRUCT(htp))->usename, sizeof(NameData)); break; case ACL_IDTYPE_GID: - (void) strcat(p, "group "); + strcat(p, "group "); tmpname = get_groname(aip->ai_id); - (void) strncat(p, tmpname, NAMEDATALEN); + strncat(p, tmpname, NAMEDATALEN); break; case ACL_IDTYPE_WORLD: break; diff --git a/src/backend/utils/adt/char.c b/src/backend/utils/adt/char.c index cfbd286f475a58553430386ab09453641f2d7ab5..7b5ebf62e6e5c0d349a3366eacc7309097488f47 100644 --- a/src/backend/utils/adt/char.c +++ b/src/backend/utils/adt/char.c @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.5 1997/06/11 05:17:58 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.6 1997/08/12 20:15:55 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -265,8 +265,7 @@ uint32 char4in(char *s) if (s == NULL) return(0); - memset((char *) &res, 0, sizeof(res)); - (void) strncpy((char *) &res, s, 4); + strncpy((char *) &res, s, 4); return(res); } @@ -276,8 +275,7 @@ char *char4out(s) { char *result = (char *) palloc(5); - memset(result, 0, 5); - (void) strncpy(result, (char *) &s, 4); + strNcpy(result, (char *) &s, 4); return(result); } @@ -326,8 +324,7 @@ char *char8in(char *s) return((char *) NULL); result = (char *) palloc(8); - memset(result, 0, 8); - (void) strncpy(result, s, 8); + strncpy(result, s, 8); return(result); } @@ -335,12 +332,11 @@ char *char8out(char *s) { char *result = (char *) palloc(9); - memset(result, 0, 9); if (s == NULL) { result[0] = '-'; - } else { - strncpy(result, s, 8); - } + result[1] = '\0'; + } else + strNcpy(result, s, 8); return(result); } diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index d9e19845326743a740f31db3513b06649233f1d0..0d75f44df6e97c23d41d49b0e90821cd03919528 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.10 1997/07/29 15:54:49 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.11 1997/08/12 20:15:57 momjian Exp $ * * NOTES * This code is actually (almost) unused. @@ -200,7 +200,7 @@ reltime2tm(int32 time, struct tm *tm) timestring = (char *) palloc(Max(strlen(INVALID_RELTIME_STR), UNITMAXLEN) + 1); if (timevalue == INVALID_RELTIME) { - (void) strcpy(timestring,INVALID_RELTIME_STR); + strcpy(timestring,INVALID_RELTIME_STR); return(timestring); } if (timevalue == 0) @@ -259,19 +259,19 @@ char *tintervalout(TimeInterval interval) char *i_str, *p; i_str = (char *) palloc( T_INTERVAL_LEN ); /* ['...' '...'] */ - (void) strcpy(i_str,"[\""); + strcpy(i_str,"[\""); if (interval->status == T_INTERVAL_INVAL) - (void) strcat(i_str,INVALID_INTERVAL_STR); + strcat(i_str,INVALID_INTERVAL_STR); else { p = nabstimeout(interval->data[0]); - (void) strcat(i_str,p); + strcat(i_str,p); pfree(p); - (void) strcat(i_str,"\" \""); + strcat(i_str,"\" \""); p = nabstimeout(interval->data[1]); - (void) strcat(i_str,p); + strcat(i_str,p); pfree(p); } - (void) strcat(i_str,"\"]\0"); + strcat(i_str,"\"]\0"); return(i_str); } @@ -963,7 +963,7 @@ timeofday(void) int len = 0; gettimeofday(&tp, &tpz); - (void) strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%d %Y %Z", + strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%d %Y %Z", localtime((time_t *) &tp.tv_sec)); sprintf(buf, templ, tp.tv_usec); diff --git a/src/backend/utils/adt/filename.c b/src/backend/utils/adt/filename.c index 4d43b2d1abb89ab00749ec62b6d883ba18209efb..a14b8283b598146bd5a005b8b6507ecce0761b70 100644 --- a/src/backend/utils/adt/filename.c +++ b/src/backend/utils/adt/filename.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/filename.c,v 1.7 1997/07/24 20:16:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/filename.c,v 1.8 1997/08/12 20:15:58 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -63,8 +63,7 @@ filename_in(char *file) len = strlen(name); } else { len = (p - file) - 1; - strncpy(name, file+1, len); - name[len] = '\0'; + strNcpy(name, file+1, len); } /*printf("name: %s\n");*/ if ((pw = getpwnam(name)) == NULL) { @@ -84,8 +83,7 @@ filename_in(char *file) len = strlen(environment); } else { len = (p - file) - 1; - strncpy(environment, file+1, len); - environment[len] = '\0'; + strNcpy(environment, file+1, len); } envirp = getenv(environment); if (envirp) { diff --git a/src/backend/utils/adt/like.c b/src/backend/utils/adt/like.c index 2e279317b9575e7aeda0180fdb3e325b6d50ffe3..b92bb814fbbc74534d26fb408ce485461076ea3f 100644 --- a/src/backend/utils/adt/like.c +++ b/src/backend/utils/adt/like.c @@ -45,8 +45,7 @@ fixedlen_like(char *s, struct varlena* p, int charlen) /* be sure sterm is null-terminated */ sterm = (char *) palloc(charlen + 1); - memset(sterm, 0, charlen + 1); - strncpy(sterm, s, charlen); + strNcpy(sterm, s, charlen); /* p is a text = varlena, not a string so we have to make * a string from the vl_data field of the struct. */ @@ -140,7 +139,7 @@ bool textnlike(struct varlena *s, struct varlena *p) } -/* $Revision: 1.4 $ +/* $Revision: 1.5 $ ** "like.c" A first attempt at a LIKE operator for Postgres95. ** ** Originally written by Rich $alz, mirror!rs, Wed Nov 26 19:03:17 EST 1986. diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c index 88cf2147a28e4925fa82189e9df0675807d4a11e..52e3113041e86a8417be9a75e881a805a7a1f78e 100644 --- a/src/backend/utils/adt/nabstime.c +++ b/src/backend/utils/adt/nabstime.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.28 1997/07/08 22:06:46 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.29 1997/08/12 20:16:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -286,11 +286,11 @@ nabstimeout(AbsoluteTime time) char zone[MAXDATELEN+1], *tzn = zone; switch (time) { - case EPOCH_ABSTIME: (void) strcpy(buf, EPOCH); break; - case INVALID_ABSTIME: (void) strcpy(buf, INVALID); break; - case CURRENT_ABSTIME: (void) strcpy(buf, DCURRENT); break; - case NOEND_ABSTIME: (void) strcpy(buf, LATE); break; - case NOSTART_ABSTIME: (void) strcpy(buf, EARLY); break; + case EPOCH_ABSTIME: strcpy(buf, EPOCH); break; + case INVALID_ABSTIME: strcpy(buf, INVALID); break; + case CURRENT_ABSTIME: strcpy(buf, DCURRENT); break; + case NOEND_ABSTIME: strcpy(buf, LATE); break; + case NOSTART_ABSTIME: strcpy(buf, EARLY); break; default: abstime2tm( time, &tz, tm, tzn); #if DATEDEBUG diff --git a/src/backend/utils/adt/name.c b/src/backend/utils/adt/name.c index 8af3f3d782d937d313d02a2d070b274ff7e725b9..43e4c53e84112b268a518bd7c33c6d0502cb9949 100644 --- a/src/backend/utils/adt/name.c +++ b/src/backend/utils/adt/name.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/name.c,v 1.3 1997/08/03 02:36:57 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/name.c,v 1.4 1997/08/12 20:16:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -39,8 +39,7 @@ NameData *namein(char *s) return(NULL); result = (NameData*) palloc(NAMEDATALEN); /* always keep it null-padded */ - (void) strncpy(result->data, s, NAMEDATALEN); - result->data[NAMEDATALEN-1] = '\0'; + strNcpy(result->data, s, NAMEDATALEN-1); return(result); } @@ -126,7 +125,7 @@ int namecpy(Name n1, Name n2) { if (!n1 || !n2) return(-1); - (void) strncpy(n1->data, n2->data, NAMEDATALEN); + strncpy(n1->data, n2->data, NAMEDATALEN); return(0); } @@ -145,8 +144,7 @@ namestrcpy(Name name, char *str) { if (!name || !str) return(-1); - (void) strncpy(name->data, str, NAMEDATALEN); - name->data[NAMEDATALEN-1] = '\0'; + strNcpy(name->data, str, NAMEDATALEN-1); return(0); } diff --git a/src/backend/utils/adt/numutils.c b/src/backend/utils/adt/numutils.c index 3521280f4997c63b649904c07495ead2036568e3..77867d50dc0676f1cf28d41201e014503c3be49f 100644 --- a/src/backend/utils/adt/numutils.c +++ b/src/backend/utils/adt/numutils.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/numutils.c,v 1.10 1997/04/22 17:47:14 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/numutils.c,v 1.11 1997/08/12 20:16:02 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -149,7 +149,7 @@ ftoa(double value, char *ascii, int width, int prec1, char format) ascii[width] = 0; return(0); } - (void) strcpy(ascii, out); + strcpy(ascii, out); return(ret); #else auto int expon; diff --git a/src/backend/utils/adt/oidname.c b/src/backend/utils/adt/oidname.c index 010ed8a79a283ad2e87978a01a99bea710dc2a00..425fa78f65cee147fdb1771bc98510775cebcb29 100644 --- a/src/backend/utils/adt/oidname.c +++ b/src/backend/utils/adt/oidname.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/oidname.c,v 1.3 1997/08/03 02:37:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/oidname.c,v 1.4 1997/08/12 20:16:03 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -35,8 +35,8 @@ oidnamein(char *inStr) if (*inptr) { oc->id = (Oid) pg_atoi(inStr, sizeof(Oid), ','); /* copy one less to ensure null-padding */ - strncpy(oc->name.data,++inptr,NAMEDATALEN); - /* namestrcpy(&oc->name, ++inptr); */ + ++inptr; + strNcpy(oc->name.data,inptr,NAMEDATALEN-1); }else elog(WARN, "Bad input data for type oidname"); diff --git a/src/backend/utils/adt/regexp.c b/src/backend/utils/adt/regexp.c index 11b85fd9f3e8479f4f8e8138d604c6587239c46b..e791a1d7b172db0bfc3b9e4f9ec92bf797c47a0d 100644 --- a/src/backend/utils/adt/regexp.c +++ b/src/backend/utils/adt/regexp.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.5 1996/11/10 01:20:44 bryanh Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.6 1997/08/12 20:16:04 momjian Exp $ * * Alistair Crooks added the code for the regex caching * agc - cached the regular expressions used - there's a good chance @@ -166,8 +166,7 @@ fixedlen_regexeq(char *s, struct varlena* p, int charlen, int cflags) /* be sure sterm is null-terminated */ sterm = (char *) palloc(charlen + 1); - memset(sterm, 0, charlen + 1); - strncpy(sterm, s, charlen); + strNcpy(sterm, s, charlen); result = RE_compile_and_execute(p, sterm, cflags); diff --git a/src/backend/utils/adt/regproc.c b/src/backend/utils/adt/regproc.c index d0e3e37766542cf2b21e2bd9cc6752c1155dc0f8..04442cb42dfd31153c814ed71219f4b428475720 100644 --- a/src/backend/utils/adt/regproc.c +++ b/src/backend/utils/adt/regproc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/regproc.c,v 1.4 1997/04/27 19:20:16 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/regproc.c,v 1.5 1997/08/12 20:16:05 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -122,14 +122,14 @@ char *regprocout(RegProcedure proid) s = (char *) heap_getattr(proctup, InvalidBuffer, 1, RelationGetTupleDescriptor(proc), &isnull); if (!isnull) { - strncpy(result, s, 16); + strNcpy(result, s, 16); break; } elog(FATAL, "regprocout: null procedure %d", proid); /*FALLTHROUGH*/ case 0: - memset(result, 0, 16); result[0] = '-'; + result[1] = '\0'; #ifdef EBUG elog(DEBUG, "regprocout: no such procedure %d", proid); #endif /* defined(EBUG) */ diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index f1fca452514a59723198eca7c385b444840aa865..538063c62251c67daf261099170054eacb3f1b64 100644 --- a/src/backend/utils/adt/varchar.c +++ b/src/backend/utils/adt/varchar.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.7 1997/03/14 23:21:01 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.8 1997/08/12 20:16:07 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -98,8 +98,7 @@ bpcharout(char *s) } else { len = *(int32*)s - 4; result = (char *) palloc(len+1); - strncpy(result, s+4, len); /* these are blank-padded */ - result[len] = '\0'; + strNcpy(result, s+4, len); /* these are blank-padded */ } return(result); } @@ -136,8 +135,7 @@ varcharin(char *s, int dummy, int typlen) result = (char *) palloc(typlen); *(int32*)result = typlen; - memset(result+4, 0, len); - (void) strncpy(result+4, s, len); + strncpy(result+4, s, len); return(result); } @@ -155,8 +153,7 @@ varcharout(char *s) } else { len = *(int32*)s - 4; result = (char *) palloc(len+1); - memset(result, 0, len+1); - strncpy(result, s+4, len); + strNcpy(result, s+4, len); } return(result); } diff --git a/src/backend/utils/fmgr/dfmgr.c b/src/backend/utils/fmgr/dfmgr.c index df34b389593b096165514a88c390deb959ebad2f..5b97786cbfffc8bf46aabb935f42bd68e2787651 100644 --- a/src/backend/utils/fmgr/dfmgr.c +++ b/src/backend/utils/fmgr/dfmgr.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.7 1997/07/24 20:16:59 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.8 1997/08/12 20:16:09 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -152,7 +152,7 @@ handle_load(char *filename, char *funcname) * Same files - different paths (ie, symlink or link) */ if (file_scanner != (DynamicFileList *) NULL) - (void) strcpy(file_scanner->filename, filename); + strcpy(file_scanner->filename, filename); } } else { @@ -175,7 +175,7 @@ handle_load(char *filename, char *funcname) } memset((char *) file_scanner, 0, sizeof(DynamicFileList)); - (void) strcpy(file_scanner->filename, filename); + strcpy(file_scanner->filename, filename); file_scanner->device = stat_buf.st_dev; file_scanner->inode = stat_buf.st_ino; file_scanner->next = (DynamicFileList *) NULL; diff --git a/src/backend/utils/init/findbe.c b/src/backend/utils/init/findbe.c index b44d58e9f8e743510e401a8591477a70b4888b02..4043baa2888e604716007d5426a7933005d6d37f 100644 --- a/src/backend/utils/init/findbe.c +++ b/src/backend/utils/init/findbe.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/init/Attic/findbe.c,v 1.3 1997/02/14 04:18:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/init/Attic/findbe.c,v 1.4 1997/08/12 20:16:12 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -167,12 +167,12 @@ FindBackend(char *backend, char *argv0) if (*argv0 == '/' || !getcwd(buf, MAXPGPATH)) buf[0] = '\0'; else - (void) strcat(buf, "/"); - (void) strcat(buf, argv0); + strcat(buf, "/"); + strcat(buf, argv0); p = strrchr(buf, '/'); - (void) strcpy(++p, "postgres"); + strcpy(++p, "postgres"); if (!ValidateBackend(buf)) { - (void) strncpy(backend, buf, MAXPGPATH); + strncpy(backend, buf, MAXPGPATH); if (DebugLvl) fprintf(stderr, "FindBackend: found \"%s\" using argv[0]\n", backend); @@ -192,7 +192,7 @@ FindBackend(char *backend, char *argv0) fprintf(stderr, "FindBackend: searching PATH ...\n"); pathlen = strlen(p); path = malloc(pathlen + 1); - (void) strcpy(path, p); + strcpy(path, p); for (startp = path, endp = strchr(path, ':'); startp && *startp; startp = endp + 1, endp = strchr(startp, ':')) { @@ -202,11 +202,11 @@ FindBackend(char *backend, char *argv0) *endp = '\0'; if (*startp == '/' || !getcwd(buf, MAXPGPATH)) buf[0] = '\0'; - (void) strcat(buf, startp); - (void) strcat(buf, "/postgres"); + strcat(buf, startp); + strcat(buf, "/postgres"); switch (ValidateBackend(buf)) { case 0: /* found ok */ - (void) strncpy(backend, buf, MAXPGPATH); + strncpy(backend, buf, MAXPGPATH); if (DebugLvl) fprintf(stderr, "FindBackend: found \"%s\" using PATH\n", backend); diff --git a/src/backend/utils/sort/psort.c b/src/backend/utils/sort/psort.c index 8eddc5bbc6286f0fff510dfc5144286515bc4a2e..dbda8abd1ff37f8055b790eb188b62be650cfd00 100644 --- a/src/backend/utils/sort/psort.c +++ b/src/backend/utils/sort/psort.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.11 1997/08/06 17:11:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.12 1997/08/12 20:16:14 momjian Exp $ * * NOTES * Sorts the first relation into the second relation. @@ -214,17 +214,17 @@ resetpsort() */ -#define PUTTUP(NODE, TUP, FP) if (1) {\ +#define PUTTUP(NODE, TUP, FP) do {\ ((Psortstate *)NODE->psortstate)->BytesWritten += (TUP)->t_len; \ - fwrite((char *)TUP, (TUP)->t_len, 1, FP);} else + fwrite((char *)TUP, (TUP)->t_len, 1, FP);} while (0) #define ENDRUN(FP) fwrite((char *)&shortzero, sizeof (shortzero), 1, FP) #define GETLEN(LEN, FP) fread((char *)&(LEN), sizeof (shortzero), 1, FP) #define ALLOCTUP(LEN) ((HeapTuple)palloc((unsigned)LEN)) -#define GETTUP(NODE, TUP, LEN, FP) if (1) {\ +#define GETTUP(NODE, TUP, LEN, FP) do {\ IncrProcessed(); \ ((Psortstate *)NODE->psortstate)->BytesRead += (LEN) - sizeof (shortzero); \ fread((char *)(TUP) + sizeof (shortzero), (LEN) - sizeof (shortzero), 1, FP);} \ - else + while (0) #define SETTUPLEN(TUP, LEN) (TUP)->t_len = LEN /* diff --git a/src/include/c.h b/src/include/c.h index e02f5f9fd561c26b2bddc769be8b5b28bbb5a2fa..eaf1ee7b03a940ae00a450972a115c1a0757ce6b 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -7,7 +7,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: c.h,v 1.13 1997/05/17 16:25:57 mergl Exp $ + * $Id: c.h,v 1.14 1997/08/12 20:16:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -29,7 +29,7 @@ * 5) IsValid macros for system types * 6) offsetof, lengthof, endof * 7) exception handling definitions, Assert, Trap, etc macros - * 8) Min, Max, Abs macros + * 8) Min, Max, Abs, strNcpy macros * 9) externs * 10) Berkeley-specific defs * 11) system-specific hacks @@ -681,6 +681,14 @@ typedef struct Exception { */ #define Abs(x) ((x) >= 0 ? (x) : -(x)) +/* + * strNcpy -- + * Does string copy, and forces terminating NULL + */ +/* we do this so if the macro is used in an if action, it will work */ +#define strNcpy(dest,src,len) do \ + {strncpy((dest),(src),(len));*((dest) + (len)) = '\0';} while (0) + /* ---------------------------------------------------------------- * Section 9: externs * ---------------------------------------------------------------- diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c index 66c2acf9ecc457f233d35ccad713a13b6da3ebca..d058ec8ab789a2e19f6bb774bb8c28a714cc41e4 100644 --- a/src/interfaces/libpq/fe-auth.c +++ b/src/interfaces/libpq/fe-auth.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.7 1997/03/12 21:23:02 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.8 1997/08/12 20:16:21 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -273,10 +273,10 @@ krb5_ccache pg_krb5_init(void) "pg_krb5_init: krb5_cc_default_name failed\n"); return((krb5_ccache) NULL); } - (void) strcpy(tktbuf, defname); + strcpy(tktbuf, defname); if (realm = getenv("PGREALM")) { - (void) strcat(tktbuf, "@"); - (void) strcat(tktbuf, realm); + strcat(tktbuf, "@"); + strcat(tktbuf, realm); } if (code = krb5_cc_resolve(tktbuf, &ccache)) { @@ -374,19 +374,19 @@ pg_krb5_sendauth(const char* PQerrormsg,int sock, /* * set up server -- canonicalize as described above */ - (void) strcpy(servbuf, PG_KRB_SRVNAM); + strcpy(servbuf, PG_KRB_SRVNAM); *(hostp = servbuf + (sizeof(PG_KRB_SRVNAM) - 1)) = '/'; if (hostname || *hostname) { - (void) strncpy(++hostp, hostname, MAXHOSTNAMELEN); + strncpy(++hostp, hostname, MAXHOSTNAMELEN); } else { if (gethostname(++hostp, MAXHOSTNAMELEN) < 0) - (void) strcpy(hostp, "localhost"); + strcpy(hostp, "localhost"); } if (hostp = strchr(hostp, '.')) *hostp = '\0'; if (realm = getenv("PGREALM")) { - (void) strcat(servbuf, "@"); - (void) strcat(servbuf, realm); + strcat(servbuf, "@"); + strcat(servbuf, realm); } if (code = krb5_parse_name(servbuf, &server)) { (void) sprintf(PQerrormsg, @@ -565,7 +565,7 @@ fe_getauthname(char* PQerrormsg) } if(name && (authn = (char *) malloc(strlen(name) + 1))) - (void) strcpy(authn, name); + strcpy(authn, name); return(authn); } diff --git a/src/tutorial/C-code/funcs.c b/src/tutorial/C-code/funcs.c index a721b2bbfdf5e873a2537ab8e7e25ed553312df0..10e541a2249fc772634d51add2ea0ebf0fe920a8 100644 --- a/src/tutorial/C-code/funcs.c +++ b/src/tutorial/C-code/funcs.c @@ -37,7 +37,7 @@ concat16(char16 *arg1, char16 *arg2) char16 *new_c16 = (char16 *) palloc(sizeof(char16)); memset(new_c16, 0, sizeof(char16)); - (void) strncpy((char*)new_c16, (char*)arg1, 16); + strncpy((char*)new_c16, (char*)arg1, 16); return (char16 *)(strncat((char*)new_c16, (char*)arg2, 16)); }