Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5fe090c

Browse files
committed
Completion of varchar rollback.
1 parent 35be730 commit 5fe090c

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

src/backend/utils/adt/varchar.c

+19-19
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.20 1998/01/08 03:15:06 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.21 1998/01/08 04:19:16 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -144,7 +144,7 @@ varcharin(char *s, int dummy, int typlen)
144144

145145
result = (char *) palloc(len);
146146
VARSIZE(result) = len;
147-
memmove(VARDATA(result), s, len - VARHDRSZ);
147+
strncpy(VARDATA(result), s, len - VARHDRSZ);
148148

149149
return (result);
150150
}
@@ -333,11 +333,11 @@ bpcharcmp(char *arg1, char *arg2)
333333
static int
334334
vcTruelen(char *arg)
335335
{
336-
char *s = arg + VARHDRSZ;
336+
char *s = VARDATA(arg);
337337
int i;
338338
int len;
339339

340-
len = *(int32 *) arg - VARHDRSZ;
340+
len = VARSIZE(arg) - VARHDRSZ;
341341
for (i = 0; i < len; i++)
342342
{
343343
if (*s++ == '\0')
@@ -363,8 +363,8 @@ varchareq(char *arg1, char *arg2)
363363

364364
if (arg1 == NULL || arg2 == NULL)
365365
return ((bool) 0);
366-
len1 = VARSIZE(arg1);
367-
len2 = VARSIZE(arg2);
366+
len1 = vcTruelen(arg1);
367+
len2 = vcTruelen(arg2);
368368

369369
if (len1 != len2)
370370
return 0;
@@ -380,8 +380,8 @@ varcharne(char *arg1, char *arg2)
380380

381381
if (arg1 == NULL || arg2 == NULL)
382382
return ((bool) 0);
383-
len1 = VARSIZE(arg1);
384-
len2 = VARSIZE(arg2);
383+
len1 = vcTruelen(arg1);
384+
len2 = vcTruelen(arg2);
385385

386386
if (len1 != len2)
387387
return 1;
@@ -398,8 +398,8 @@ varcharlt(char *arg1, char *arg2)
398398

399399
if (arg1 == NULL || arg2 == NULL)
400400
return ((bool) 0);
401-
len1 = VARSIZE(arg1);
402-
len2 = VARSIZE(arg2);
401+
len1 = vcTruelen(arg1);
402+
len2 = vcTruelen(arg2);
403403

404404
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
405405
if (cmp == 0)
@@ -417,8 +417,8 @@ varcharle(char *arg1, char *arg2)
417417

418418
if (arg1 == NULL || arg2 == NULL)
419419
return ((bool) 0);
420-
len1 = VARSIZE(arg1);
421-
len2 = VARSIZE(arg2);
420+
len1 = vcTruelen(arg1);
421+
len2 = vcTruelen(arg2);
422422

423423
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
424424
if (0 == cmp)
@@ -436,8 +436,8 @@ varchargt(char *arg1, char *arg2)
436436

437437
if (arg1 == NULL || arg2 == NULL)
438438
return ((bool) 0);
439-
len1 = VARSIZE(arg1);
440-
len2 = VARSIZE(arg2);
439+
len1 = vcTruelen(arg1);
440+
len2 = vcTruelen(arg2);
441441

442442
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
443443
if (cmp == 0)
@@ -455,8 +455,8 @@ varcharge(char *arg1, char *arg2)
455455

456456
if (arg1 == NULL || arg2 == NULL)
457457
return ((bool) 0);
458-
len1 = VARSIZE(arg1);
459-
len2 = VARSIZE(arg2);
458+
len1 = vcTruelen(arg1);
459+
len2 = vcTruelen(arg2);
460460

461461
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
462462
if (0 == cmp)
@@ -473,8 +473,8 @@ varcharcmp(char *arg1, char *arg2)
473473
len2;
474474
int cmp;
475475

476-
len1 = VARSIZE(arg1);
477-
len2 = VARSIZE(arg2);
476+
len1 = vcTruelen(arg1);
477+
len2 = vcTruelen(arg2);
478478
cmp = (strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)));
479479
if ((0 == cmp) && (len1 != len2))
480480
return (int32) (len1 < len2 ? -1 : 1);
@@ -539,7 +539,7 @@ hashvarchar(struct varlena * key)
539539
int loop;
540540

541541
keydata = VARDATA(key);
542-
keylen = VARSIZE((char *) key);
542+
keylen = vcTruelen((char *) key);
543543

544544
#define HASHC n = *keydata++ + 65599 * n
545545

0 commit comments

Comments
 (0)