summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdecore/libtdecore.nmcheck2
-rw-r--r--tdecore/tdeglobal.cpp17
-rw-r--r--tdecore/tdeglobal.h20
3 files changed, 38 insertions, 1 deletions
diff --git a/tdecore/libtdecore.nmcheck b/tdecore/libtdecore.nmcheck
index 7c017a6e4..92ec3ff8f 100644
--- a/tdecore/libtdecore.nmcheck
+++ b/tdecore/libtdecore.nmcheck
@@ -44,6 +44,8 @@ operator>>
operator<<
qt_qclipboard_bailout_hack
kasciistricmp
+kasciitolower
+kasciitoupper
# from libtldl
lt_dl*
diff --git a/tdecore/tdeglobal.cpp b/tdecore/tdeglobal.cpp
index 09f496034..aeac6f744 100644
--- a/tdecore/tdeglobal.cpp
+++ b/tdecore/tdeglobal.cpp
@@ -282,3 +282,20 @@ int kasciistricmp( const char *str1, const char *str2 )
return *s1 ? res : (*s2 ? -1 : 0);
}
+char* kasciitolower( char *s )
+{
+ if ( !s )
+ return 0;
+ for ( unsigned char *p = (unsigned char *) s; *p; ++p )
+ *p = ( *p >= 'A' && *p <= 'Z' ) ? (*p - 'A' + 'a') : *p;
+ return s;
+}
+
+char* kasciitoupper( char *s )
+{
+ if ( !s )
+ return 0;
+ for ( unsigned char *p = (unsigned char *) s; *p; ++p )
+ *p = ( *p >= 'a' && *p <= 'z' ) ? (*p - 'a' + 'A') : *p;
+ return s;
+}
diff --git a/tdecore/tdeglobal.h b/tdecore/tdeglobal.h
index 1269c36a9..d604a4244 100644
--- a/tdecore/tdeglobal.h
+++ b/tdecore/tdeglobal.h
@@ -234,7 +234,25 @@ inline const T& kClamp( const T& x, const T& low, const T& high )
* tqstricmp fails with e.g. the Turkish locale where 'I'.lower() != 'i'
* @since 3.4
*/
-int TDECORE_EXPORT kasciistricmp( const char *str1, const char *str2 );
+TDECORE_EXPORT int kasciistricmp( const char *str1, const char *str2 );
+
+/**
+ Locale-independent function to convert ASCII strings to lower case ASCII
+ strings. This means that it affects @em only the ASCII characters A-Z.
+
+ @param str pointer to the string which should be converted to lower case
+ @return pointer to the converted string (same as @a str)
+*/
+TDECORE_EXPORT char* kasciitolower( char *str );
+
+/**
+ Locale-independent function to convert ASCII strings to upper case ASCII
+ strings. This means that it affects @em only the ASCII characters a-z.
+
+ @param str pointer to the string which should be converted to upper case
+ @return pointer to the converted string (same as @a str)
+*/
+TDECORE_EXPORT char* kasciitoupper( char *str );
/**