]> granicus.if.org Git - postgresql/commitdiff
Completion of varchar rollback.
authorBruce Momjian <bruce@momjian.us>
Thu, 8 Jan 1998 04:19:16 +0000 (04:19 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 8 Jan 1998 04:19:16 +0000 (04:19 +0000)
src/backend/utils/adt/varchar.c

index b2f8ed01bbd70ef2e23d99f1c93a48886ecae4de..16ed0ea93e910e90ea166b61309ade37bbd5e4e6 100644 (file)
@@ -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