From 75b3b9c8581d037fba5c487a70f422e263a28895 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Tue, 21 Feb 2012 23:23:57 +0100 Subject: [PATCH] Added a Maxsi::String::Substring function. --- libmaxsi/include/libmaxsi/string.h | 1 + libmaxsi/string.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/libmaxsi/include/libmaxsi/string.h b/libmaxsi/include/libmaxsi/string.h index 1a0cee91..a3023b21 100644 --- a/libmaxsi/include/libmaxsi/string.h +++ b/libmaxsi/include/libmaxsi/string.h @@ -37,6 +37,7 @@ namespace Maxsi size_t Reject(const char* str, const char* reject); char* Clone(const char* Source); char* Combine(size_t NumParameters, ...); + char* Substring(const char* src, size_t offset, size_t length); char* Copy(char* Dest, const char* Src); char* Cat(char* Dest, const char* Src); char* Tokenize(char* str, const char* delim); diff --git a/libmaxsi/string.cpp b/libmaxsi/string.cpp index d89f25dd..1c7cd5c7 100644 --- a/libmaxsi/string.cpp +++ b/libmaxsi/string.cpp @@ -199,6 +199,16 @@ namespace Maxsi return Result; } + char* Substring(const char* src, size_t offset, size_t length) + { + size_t srclen = Length(src); + char* dest = new char[length + 1]; + if ( !dest ) { return NULL; } + Memory::Copy(dest, src + offset, length * sizeof(char)); + dest[length] = 0; + return dest; + } + DUAL_FUNCTION(int, atoi, ToInt, (const char* str)) { bool negative = ( *str == '-' );