diff options
-rw-r--r-- | src/stringrep.cpp | 19 | ||||
-rw-r--r-- | src/stringrep.h | 17 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/stringrep.cpp b/src/stringrep.cpp new file mode 100644 index 0000000..a505f8a --- /dev/null +++ b/src/stringrep.cpp | |||
@@ -0,0 +1,19 @@ | |||
1 | #include "stringrep.h" | ||
2 | |||
3 | int32_t stringlen( const char *s ) | ||
4 | { | ||
5 | for( int32_t i = 0;; i++ ) | ||
6 | if( !s[i] ) | ||
7 | return i; | ||
8 | } | ||
9 | |||
10 | char *stringdup( const char *s ) | ||
11 | { | ||
12 | int len = stringlen( s ); | ||
13 | char *r = new char[len+1]; | ||
14 | for( int j = 0; j <= len; j++ ) | ||
15 | r[j] = s[j]; | ||
16 | |||
17 | return r; | ||
18 | } | ||
19 | |||
diff --git a/src/stringrep.h b/src/stringrep.h new file mode 100644 index 0000000..eaa4a12 --- /dev/null +++ b/src/stringrep.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #ifndef STRING_REP_H | ||
2 | #define STRING_REP_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | /** | ||
7 | * Calculates the length of a string. | ||
8 | */ | ||
9 | int32_t stringlen( const char *s ); | ||
10 | |||
11 | /** | ||
12 | * Identicle to strdup, which isn't available everywhere, but uses c++ memory | ||
13 | * facilities. Remember to use delete[] when freeing the returned string. | ||
14 | */ | ||
15 | char *stringdup( const char *s ); | ||
16 | |||
17 | #endif | ||