about summary refs log tree commit diff
path: root/src/base
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2009-06-13 16:54:04 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2009-06-13 16:54:04 +0000
commit6d9ccee95dd99fecda3a6ba62c2768b4d39f69e5 (patch)
treeed06c372126df9d843b7d72c0263982923e1ccba /src/base
parentc2f8d0e07ac19d4a876444d045a4f199f4d7c4d7 (diff)
downloadzcatch-6d9ccee95dd99fecda3a6ba62c2768b4d39f69e5.tar.gz
zcatch-6d9ccee95dd99fecda3a6ba62c2768b4d39f69e5.zip
base for the localization system
Diffstat (limited to 'src/base')
-rw-r--r--src/base/system.c26
-rw-r--r--src/base/system.h35
2 files changed, 61 insertions, 0 deletions
diff --git a/src/base/system.c b/src/base/system.c
index c94e4cf9..067c870f 100644
--- a/src/base/system.c
+++ b/src/base/system.c
@@ -1097,6 +1097,12 @@ int str_comp_nocase(const char *a, const char *b)
 #endif
 }
 
+int str_comp(const char *a, const char *b)
+{
+	return strcmp(a, b);
+}
+
+
 const char *str_find_nocase(const char *haystack, const char *needle)
 {
 	while(*haystack) /* native implementation */
@@ -1116,6 +1122,26 @@ const char *str_find_nocase(const char *haystack, const char *needle)
 	return 0;
 }
 
+
+const char *str_find(const char *haystack, const char *needle)
+{
+	while(*haystack) /* native implementation */
+	{
+		const char *a = haystack;
+		const char *b = needle;
+		while(*a && *b && *a == *b)
+		{
+			a++;
+			b++;
+		}
+		if(!(*b))
+			return haystack;
+		haystack++;
+	}
+	
+	return 0;
+}
+
 void str_hex(char *dst, int dst_size, const void *data, int data_size)
 {
 	static const char hex[] = "0123456789ABCDEF";
diff --git a/src/base/system.h b/src/base/system.h
index 87cae4a0..6ead7239 100644
--- a/src/base/system.h
+++ b/src/base/system.h
@@ -763,6 +763,25 @@ void str_sanitize(char *str);
 */
 int str_comp_nocase(const char *a, const char *b);
 
+
+/*
+	Function: str_comp_nocase
+		Compares to strings case sensitive.
+	
+	Parameters:
+		a - String to compare.
+		b - String to compare.
+	
+	Returns:	
+		<0 - String a is lesser then string b
+		0 - String a is equal to string b
+		>0 - String a is greater then string b
+
+	Remarks:
+		- The strings are treated as zero-termineted strings.
+*/
+int str_comp(const char *a, const char *b);
+
 /*
 	Function: str_find_nocase
 		Finds a string inside another string case insensitive.
@@ -781,6 +800,22 @@ int str_comp_nocase(const char *a, const char *b);
 */
 const char *str_find_nocase(const char *haystack, const char *needle);
 
+/*
+	Function: str_find
+		Finds a string inside another string case sensitive.
+
+	Parameters:
+		haystack - String to search in
+		needle - String to search for
+		
+	Returns:
+		A pointer into haystack where the needle was found.
+		Returns NULL of needle could not be found.
+
+	Remarks:
+		- The strings are treated as zero-termineted strings.
+*/
+const char *str_find(const char *haystack, const char *needle);
 
 /*
 	Function: str_hex