From 5fe090c5592486014d047e8796c425cfb7aedb33 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 8 Jan 1998 04:19:16 +0000 Subject: [PATCH] Completion of varchar rollback. --- src/backend/utils/adt/varchar.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index b2f8ed01bb..16ed0ea93e 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.20 1998/01/08 03:15:06 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.21 1998/01/08 04:19:16 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -144,7 +144,7 @@ varcharin(char *s, int dummy, int typlen) result = (char *) palloc(len); VARSIZE(result) = len; - memmove(VARDATA(result), s, len - VARHDRSZ); + strncpy(VARDATA(result), s, len - VARHDRSZ); return (result); } @@ -333,11 +333,11 @@ bpcharcmp(char *arg1, char *arg2) static int vcTruelen(char *arg) { - char *s = arg + VARHDRSZ; + char *s = VARDATA(arg); int i; int len; - len = *(int32 *) arg - VARHDRSZ; + len = VARSIZE(arg) - VARHDRSZ; for (i = 0; i < len; i++) { if (*s++ == '\0') @@ -363,8 +363,8 @@ varchareq(char *arg1, char *arg2) if (arg1 == NULL || arg2 == NULL) return ((bool) 0); - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); if (len1 != len2) return 0; @@ -380,8 +380,8 @@ varcharne(char *arg1, char *arg2) if (arg1 == NULL || arg2 == NULL) return ((bool) 0); - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); if (len1 != len2) return 1; @@ -398,8 +398,8 @@ varcharlt(char *arg1, char *arg2) if (arg1 == NULL || arg2 == NULL) return ((bool) 0); - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)); if (cmp == 0) @@ -417,8 +417,8 @@ varcharle(char *arg1, char *arg2) if (arg1 == NULL || arg2 == NULL) return ((bool) 0); - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)); if (0 == cmp) @@ -436,8 +436,8 @@ varchargt(char *arg1, char *arg2) if (arg1 == NULL || arg2 == NULL) return ((bool) 0); - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)); if (cmp == 0) @@ -455,8 +455,8 @@ varcharge(char *arg1, char *arg2) if (arg1 == NULL || arg2 == NULL) return ((bool) 0); - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)); if (0 == cmp) @@ -473,8 +473,8 @@ varcharcmp(char *arg1, char *arg2) len2; int cmp; - len1 = VARSIZE(arg1); - len2 = VARSIZE(arg2); + len1 = vcTruelen(arg1); + len2 = vcTruelen(arg2); cmp = (strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2))); if ((0 == cmp) && (len1 != len2)) return (int32) (len1 < len2 ? -1 : 1); @@ -539,7 +539,7 @@ hashvarchar(struct varlena * key) int loop; keydata = VARDATA(key); - keylen = VARSIZE((char *) key); + keylen = vcTruelen((char *) key); #define HASHC n = *keydata++ + 65599 * n -- 2.11.0