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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list