Changeset: c28a9dad6482 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c28a9dad6482
Modified Files:
        monetdb5/modules/atoms/str.c
        monetdb5/modules/atoms/str.h
        monetdb5/modules/kernel/batstr.c
Branch: default
Log Message:

Fix lpad/rpad interfaces: use int.
size_t is not available from the MAL level, and the MAL level type
must correspond with the C level type.


diffs (266 lines):

diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -2198,7 +2198,7 @@ STRRtrim2(str *res, str *arg1, str *arg2
  * Result: '   hi'
  */
 str
-STRLpad(str *res, str *arg1, size_t *len)
+STRLpad(str *res, str *arg1, int *len)
 {
        const char *s = *arg1;
        int pad_cnt = *len - UTF8_strlen(s); /* #whitespaces to be prepended */
@@ -2224,7 +2224,7 @@ STRLpad(str *res, str *arg1, size_t *len
                *res = r;
        }
 
-       if (res == NULL)
+       if (*res == NULL)
                throw(MAL, "str.lpad", "Allocation failed");
        return MAL_SUCCEED;
 }
@@ -2237,7 +2237,7 @@ STRLpad(str *res, str *arg1, size_t *len
  * Result: 'hi   '
  */
 str
-STRRpad(str *res, str *arg1, size_t *len)
+STRRpad(str *res, str *arg1, int *len)
 {
        const char *s = *arg1;
        int pad_cnt = *len - UTF8_strlen(s); /* #whitespaces to be appended */
@@ -2263,7 +2263,7 @@ STRRpad(str *res, str *arg1, size_t *len
                *res = r;
        }
 
-       if (res == NULL)
+       if (*res == NULL)
                throw(MAL, "str.lpad", "Allocation failed");
        return MAL_SUCCEED;
 }
@@ -2276,7 +2276,7 @@ STRRpad(str *res, str *arg1, size_t *len
  * Result: xyxhi
  */
 str
-STRLpad2(str *res, str *arg1, size_t *len, str *arg2)
+STRLpad2(str *res, str *arg1, int *len, str *arg2)
 {
        const char *s = *arg1;
        int pad_cnt = *len - UTF8_strlen(s); /* #chars to be prepended */
@@ -2322,7 +2322,7 @@ STRLpad2(str *res, str *arg1, size_t *le
                *res = r;
        }
 
-       if (res == NULL)
+       if (*res == NULL)
                throw(MAL, "str.lpad", "Allocation failed");
        return MAL_SUCCEED;
 }
@@ -2335,7 +2335,7 @@ STRLpad2(str *res, str *arg1, size_t *le
  * Result: hixyx
  */
 str
-STRRpad2(str *res, str *arg1, size_t *len, str *arg2)
+STRRpad2(str *res, str *arg1, int *len, str *arg2)
 {
        const char *s = *arg1;
        int pad_cnt = *len - UTF8_strlen(s); /* #chars to be appended */
@@ -2382,7 +2382,7 @@ STRRpad2(str *res, str *arg1, size_t *le
                *res = r;
        }
 
-       if (res == NULL)
+       if (*res == NULL)
                throw(MAL, "str.lpad", "Allocation failed");
        return MAL_SUCCEED;
 }
diff --git a/monetdb5/modules/atoms/str.h b/monetdb5/modules/atoms/str.h
--- a/monetdb5/modules/atoms/str.h
+++ b/monetdb5/modules/atoms/str.h
@@ -60,10 +60,10 @@ str_export str STRRtrim(str *res, str *a
 str_export str STRStrip2(str *res, str *arg1, str *arg2);
 str_export str STRLtrim2(str *res, str *arg1, str *arg2);
 str_export str STRRtrim2(str *res, str *arg1, str *arg2);
-str_export str STRLpad(str *res, str *arg1, size_t *len);
-str_export str STRRpad(str *res, str *arg1, size_t *len);
-str_export str STRLpad2(str *res, str *arg1, size_t *len, str *arg2);
-str_export str STRRpad2(str *res, str *arg1, size_t *len, str *arg2);
+str_export str STRLpad(str *res, str *arg1, int *len);
+str_export str STRRpad(str *res, str *arg1, int *len);
+str_export str STRLpad2(str *res, str *arg1, int *len, str *arg2);
+str_export str STRRpad2(str *res, str *arg1, int *len, str *arg2);
 str_export str STRmin_no_nil(str *res, str *left, str *right);
 str_export str STRmax_no_nil(str *res, str *left, str *right);
 str_export str STRmin(str *res, str *left, str *right);
diff --git a/monetdb5/modules/kernel/batstr.c b/monetdb5/modules/kernel/batstr.c
--- a/monetdb5/modules/kernel/batstr.c
+++ b/monetdb5/modules/kernel/batstr.c
@@ -84,16 +84,16 @@ batstr_export str STRbatStrip2_bat(bat *
 batstr_export str STRbatLtrim2_bat(bat *ret, bat *l, bat *l2);
 batstr_export str STRbatRtrim2_bat(bat *ret, bat *l, bat *l2);
 
-batstr_export str STRbatLpad_const(bat *ret, bat *l, size_t *n);
-batstr_export str STRbatRpad_const(bat *ret, bat *l, size_t *n);
+batstr_export str STRbatLpad_const(bat *ret, bat *l, int *n);
+batstr_export str STRbatRpad_const(bat *ret, bat *l, int *n);
 batstr_export str STRbatLpad_bat(bat *ret, bat *l, bat *n);
 batstr_export str STRbatRpad_bat(bat *ret, bat *l, bat *n);
-batstr_export str STRbatLpad2_const_const(bat *ret, bat *l, size_t *n, str 
*s2);
-batstr_export str STRbatRpad2_const_const(bat *ret, bat *l, size_t *n, str 
*s2);
+batstr_export str STRbatLpad2_const_const(bat *ret, bat *l, int *n, str *s2);
+batstr_export str STRbatRpad2_const_const(bat *ret, bat *l, int *n, str *s2);
 batstr_export str STRbatLpad2_bat_const(bat *ret, bat *l, bat *n, str *s2);
 batstr_export str STRbatRpad2_bat_const(bat *ret, bat *l, bat *n, str *s2);
-batstr_export str STRbatLpad2_const_bat(bat *ret, bat *l, size_t *n, bat *l2);
-batstr_export str STRbatRpad2_const_bat(bat *ret, bat *l, size_t *n, bat *l2);
+batstr_export str STRbatLpad2_const_bat(bat *ret, bat *l, int *n, bat *l2);
+batstr_export str STRbatRpad2_const_bat(bat *ret, bat *l, int *n, bat *l2);
 batstr_export str STRbatLpad2_bat_bat(bat *ret, bat *l, bat *n, bat *l2);
 batstr_export str STRbatRpad2_bat_bat(bat *ret, bat *l, bat *n, bat *l2);
 
@@ -353,7 +353,7 @@ bunins_failed:
  * Output type: str (a BAT of strings)
  */
 static str
-do_batstr_constint_str(bat *ret, bat *l, size_t *n, const char *name, str 
(*func)(str *, str *, size_t *))
+do_batstr_constint_str(bat *ret, bat *l, int *n, const char *name, str 
(*func)(str *, str *, int *))
 {
        BATiter bi;
        BAT *bn, *b;
@@ -397,12 +397,12 @@ bunins_failed:
  * Output type: str (a BAT of strings)
  */
 static str
-do_batstr_batint_str(bat *ret, bat *l, bat *n, const char *name, str 
(*func)(str *, str *, size_t *))
+do_batstr_batint_str(bat *ret, bat *l, bat *n, const char *name, str 
(*func)(str *, str *, int *))
 {
        BATiter bi, bi2;
        BAT *bn, *b, *b2;
        BUN p, q;
-       size_t nn;
+       int nn;
        str x;
        str msg = MAL_SUCCEED;
 
@@ -419,7 +419,7 @@ do_batstr_batint_str(bat *ret, bat *l, b
                str y = NULL;
 
                x = (str) BUNtail(bi, p);
-               nn = *(size_t *)BUNtail(bi2, p);
+               nn = *(int *)BUNtail(bi2, p);
                if (x != 0 && strcmp(x, str_nil) != 0 &&
                        (msg = (*func)(&y, &x, &nn)) != MAL_SUCCEED)
                        goto bunins_failed;
@@ -447,7 +447,7 @@ bunins_failed:
  * Output type: str (a BAT of strings)
  */
 static str
-do_batstr_constint_conststr_str(bat *ret, bat *l, size_t *n, str *s2, const 
char *name, str (*func)(str *, str *, size_t *, str *))
+do_batstr_constint_conststr_str(bat *ret, bat *l, int *n, str *s2, const char 
*name, str (*func)(str *, str *, int *, str *))
 {
        BATiter bi;
        BAT *bn, *b;
@@ -491,12 +491,12 @@ bunins_failed:
  * Output type: str (a BAT of strings)
  */
 static str
-do_batstr_batint_conststr_str(bat *ret, bat *l, bat *n, str *s2, const char 
*name, str (*func)(str *, str *, size_t *, str *))
+do_batstr_batint_conststr_str(bat *ret, bat *l, bat *n, str *s2, const char 
*name, str (*func)(str *, str *, int *, str *))
 {
        BATiter bi, bi2;
        BAT *bn, *b, *b2;
        BUN p, q;
-       size_t nn;
+       int nn;
        str x;
        str msg = MAL_SUCCEED;
 
@@ -513,7 +513,7 @@ do_batstr_batint_conststr_str(bat *ret, 
                str y = NULL;
 
                x = (str) BUNtail(bi, p);
-               nn = *(size_t *)BUNtail(bi2, p);
+               nn = *(int *)BUNtail(bi2, p);
                if (x != 0 && strcmp(x, str_nil) != 0 &&
                        (msg = (*func)(&y, &x, &nn, s2)) != MAL_SUCCEED)
                        goto bunins_failed;
@@ -541,7 +541,7 @@ bunins_failed:
  * Output type: str (a BAT of strings)
  */
 static str
-do_batstr_constint_batstr_str(bat *ret, bat *l, size_t *n, bat *l2, const char 
*name, str (*func)(str *, str *, size_t *, str *))
+do_batstr_constint_batstr_str(bat *ret, bat *l, int *n, bat *l2, const char 
*name, str (*func)(str *, str *, int *, str *))
 {
        BATiter bi, bi2;
        BAT *bn, *b, *b2;
@@ -591,12 +591,12 @@ bunins_failed:
  * Output type: str (a BAT of strings)
  */
 static str
-do_batstr_batint_batstr_str(bat *ret, bat *l, bat *n, bat *l2, const char 
*name, str (*func)(str *, str *, size_t *, str *))
+do_batstr_batint_batstr_str(bat *ret, bat *l, bat *n, bat *l2, const char 
*name, str (*func)(str *, str *, int *, str *))
 {
        BATiter bi, bi2, bi3;
        BAT *bn, *b, *b2, *b3;
        BUN p, q;
-       size_t nn;
+       int nn;
        str x, x2;
        str msg = MAL_SUCCEED;
 
@@ -617,7 +617,7 @@ do_batstr_batint_batstr_str(bat *ret, ba
                str y = NULL;
 
                x = (str) BUNtail(bi, p);
-               nn = *(size_t *)BUNtail(bi2, p);
+               nn = *(int *)BUNtail(bi2, p);
                x2 = (str) BUNtail(bi3, p);
                if (x != 0 && strcmp(x, str_nil) != 0 &&
                        x2 != 0 && strcmp(x2, str_nil) != 0 &&
@@ -711,13 +711,13 @@ STRbatRtrim2_bat(bat *ret, bat *l, bat *
 }
 
 str
-STRbatLpad_const(bat *ret, bat *l, size_t *n)
+STRbatLpad_const(bat *ret, bat *l, int *n)
 {
        return do_batstr_constint_str(ret, l, n, "batstr.Lpad", STRLpad);
 }
 
 str
-STRbatRpad_const(bat *ret, bat *l, size_t *n)
+STRbatRpad_const(bat *ret, bat *l, int *n)
 {
        return do_batstr_constint_str(ret, l, n, "batstr.Rpad", STRRpad);
 }
@@ -735,13 +735,13 @@ STRbatRpad_bat(bat *ret, bat *l, bat *n)
 }
 
 str
-STRbatLpad2_const_const(bat *ret, bat *l, size_t *n, str *s2)
+STRbatLpad2_const_const(bat *ret, bat *l, int *n, str *s2)
 {
        return do_batstr_constint_conststr_str(ret, l, n, s2, "batstr.Lpad", 
STRLpad2);
 }
 
 str
-STRbatRpad2_const_const(bat *ret, bat *l, size_t *n, str *s2)
+STRbatRpad2_const_const(bat *ret, bat *l, int *n, str *s2)
 {
        return do_batstr_constint_conststr_str(ret, l, n, s2, "batstr.Rpad", 
STRRpad2);
 }
@@ -759,13 +759,13 @@ STRbatRpad2_bat_const(bat *ret, bat *l, 
 }
 
 str
-STRbatLpad2_const_bat(bat *ret, bat *l, size_t *n, bat *l2)
+STRbatLpad2_const_bat(bat *ret, bat *l, int *n, bat *l2)
 {
        return do_batstr_constint_batstr_str(ret, l, n, l2, "batstr.Lpad", 
STRLpad2);
 }
 
 str
-STRbatRpad2_const_bat(bat *ret, bat *l, size_t *n, bat *l2)
+STRbatRpad2_const_bat(bat *ret, bat *l, int *n, bat *l2)
 {
        return do_batstr_constint_batstr_str(ret, l, n, l2, "batstr.Rpad", 
STRRpad2);
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to