Changeset: bfae22d9c4be for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bfae22d9c4be
Modified Files:
monetdb5/modules/atoms/str.c
monetdb5/modules/atoms/str.h
monetdb5/modules/kernel/batstr.c
Branch: alloc-less-str
Log Message:
Hide string functions
diffs (157 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
@@ -3345,7 +3345,7 @@ STRtostr(str *res, const str *src)
}
int
-str_utf8_length(str s)
+str_length(str s)
{
size_t l = UTF8_strlen(s);
assert(l < INT_MAX);
@@ -3359,11 +3359,17 @@ STRLength(int *res, const str *arg1)
{
str s = *arg1;
- *res = strNil(s) ? int_nil : str_utf8_length(s);
+ *res = strNil(s) ? int_nil : str_length(s);
return MAL_SUCCEED;
}
int
+str_utf8_length(str s)
+{
+ return strNil(s) ? int_nil : str_length(s);
+}
+
+int
str_nbytes(str s)
{
size_t l = strlen(s);
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
@@ -32,48 +32,80 @@
} \
} while (0)
+mal_export int str_utf8_length(str s); /* this function looks for NULL values
of s, returning int_nil on those */
+
/* For str returning functions, the result is passed as the input parameter
buf. The returned str indicates
if the function succeeded (ie malloc failure or invalid unicode character).
str_wchr_at function also
follows this pattern. */
/* Warning, the following functions don't test for NULL values, that's
resposibility from the caller */
-mal_export int str_utf8_length(str s);
-extern int str_nbytes(str s);
+extern int str_length(str s)
+__attribute__((__visibility__("hidden")));
+extern int str_nbytes(str s)
+__attribute__((__visibility__("hidden")));
-extern str str_from_wchr(str *buf, size_t *buflen, int c);
-extern str str_wchr_at(int *res, str s, int at);
+extern str str_from_wchr(str *buf, size_t *buflen, int c)
+__attribute__((__visibility__("hidden")));
+extern str str_wchr_at(int *res, str s, int at)
+__attribute__((__visibility__("hidden")));
-extern bit str_is_prefix(str s, str prefix);
-extern bit str_is_suffix(str s, str suffix);
+extern bit str_is_prefix(str s, str prefix)
+__attribute__((__visibility__("hidden")));
+extern bit str_is_suffix(str s, str suffix)
+__attribute__((__visibility__("hidden")));
-extern str str_tail(str *buf, size_t *buflen, str s, int off);
-extern str str_Sub_String(str *buf, size_t *buflen, str s, int off, int l);
-extern str str_substring_tail(str *buf, size_t *buflen, str s, int start);
-extern str str_sub_string(str *buf, size_t *buflen, str s, int start, int l);
-extern str str_suffix(str *buf, size_t *buflen, str s, int l);
-extern str str_repeat(str *buf, size_t *buflen, str s, int c);
+extern str str_tail(str *buf, size_t *buflen, str s, int off)
+__attribute__((__visibility__("hidden")));
+extern str str_Sub_String(str *buf, size_t *buflen, str s, int off, int l)
+__attribute__((__visibility__("hidden")));
+extern str str_substring_tail(str *buf, size_t *buflen, str s, int start)
+__attribute__((__visibility__("hidden")));
+extern str str_sub_string(str *buf, size_t *buflen, str s, int start, int l)
+__attribute__((__visibility__("hidden")));
+extern str str_suffix(str *buf, size_t *buflen, str s, int l)
+__attribute__((__visibility__("hidden")));
+extern str str_repeat(str *buf, size_t *buflen, str s, int c)
+__attribute__((__visibility__("hidden")));
-extern str str_lower(str *buf, size_t *buflen, str s);
-extern str str_upper(str *buf, size_t *buflen, str s);
+extern str str_lower(str *buf, size_t *buflen, str s)
+__attribute__((__visibility__("hidden")));
+extern str str_upper(str *buf, size_t *buflen, str s)
+__attribute__((__visibility__("hidden")));
-extern str str_strip(str *buf, size_t *buflen, str s);
-extern str str_ltrim(str *buf, size_t *buflen, str s);
-extern str str_rtrim(str *buf, size_t *buflen, str s);
-extern str str_strip2(str *buf, size_t *buflen, str s, str s2);
-extern str str_ltrim2(str *buf, size_t *buflen, str s, str s2);
-extern str str_rtrim2(str *buf, size_t *buflen, str s, str s2);
-extern str str_lpad(str *buf, size_t *buflen, str s, int len);
-extern str str_rpad(str *buf, size_t *buflen, str s, int len);
-extern str str_lpad2(str *buf, size_t *buflen, str s, int len, str s2);
-extern str str_rpad2(str *buf, size_t *buflen, str s, int len, str s2);
+extern str str_strip(str *buf, size_t *buflen, str s)
+__attribute__((__visibility__("hidden")));
+extern str str_ltrim(str *buf, size_t *buflen, str s)
+__attribute__((__visibility__("hidden")));
+extern str str_rtrim(str *buf, size_t *buflen, str s)
+__attribute__((__visibility__("hidden")));
+extern str str_strip2(str *buf, size_t *buflen, str s, str s2)
+__attribute__((__visibility__("hidden")));
+extern str str_ltrim2(str *buf, size_t *buflen, str s, str s2)
+__attribute__((__visibility__("hidden")));
+extern str str_rtrim2(str *buf, size_t *buflen, str s, str s2)
+__attribute__((__visibility__("hidden")));
+extern str str_lpad(str *buf, size_t *buflen, str s, int len)
+__attribute__((__visibility__("hidden")));
+extern str str_rpad(str *buf, size_t *buflen, str s, int len)
+__attribute__((__visibility__("hidden")));
+extern str str_lpad2(str *buf, size_t *buflen, str s, int len, str s2)
+__attribute__((__visibility__("hidden")));
+extern str str_rpad2(str *buf, size_t *buflen, str s, int len, str s2)
+__attribute__((__visibility__("hidden")));
-extern int str_search(str s, str s2);
-extern int str_reverse_str_search(str s, str s2);
-extern int str_locate2(str needle, str haystack, int start);
+extern int str_search(str s, str s2)
+__attribute__((__visibility__("hidden")));
+extern int str_reverse_str_search(str s, str s2)
+__attribute__((__visibility__("hidden")));
+extern int str_locate2(str needle, str haystack, int start)
+__attribute__((__visibility__("hidden")));
-extern str str_splitpart(str *buf, size_t *buflen, str s, str s2, int f);
-extern str str_insert(str *buf, size_t *buflen, str s, int strt, int l, str
s2);
-extern str str_substitute(str *buf, size_t *buflen, str s, str src, str dst,
bit repeat);
+extern str str_splitpart(str *buf, size_t *buflen, str s, str s2, int f)
+__attribute__((__visibility__("hidden")));
+extern str str_insert(str *buf, size_t *buflen, str s, int strt, int l, str s2)
+__attribute__((__visibility__("hidden")));
+extern str str_substitute(str *buf, size_t *buflen, str s, str src, str dst,
bit repeat)
+__attribute__((__visibility__("hidden")));
#endif /* __string_H__ */
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
@@ -82,7 +82,7 @@ bailout:
static str
STRbatLength(bat *ret, const bat *l)
{
- return do_batstr_int(ret, l, "batstr.length", str_utf8_length);
+ return do_batstr_int(ret, l, "batstr.length", str_length);
}
static str
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list