diff options
Diffstat (limited to 'src/core/basetypes/MCString.cpp')
-rw-r--r-- | src/core/basetypes/MCString.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/core/basetypes/MCString.cpp b/src/core/basetypes/MCString.cpp index b3beeb40..90d7b227 100644 --- a/src/core/basetypes/MCString.cpp +++ b/src/core/basetypes/MCString.cpp @@ -13,7 +13,7 @@ #include <unicode/ucnv.h> #include <unicode/utypes.h> #endif -#ifndef _MSC_VER +#if !defined(_MSC_VER) && !defined(ANDROID) && !defined(__ANDROID__) #include <uuid/uuid.h> #endif #include <pthread.h> @@ -1384,6 +1384,26 @@ String * String::extractedSubjectAndKeepBracket(bool keepBracket) return str; } +#if defined(ANDROID) || defined(__ANDROID__) + +String * String::uuidString() +{ + char buffer[38]; + FILE * f = fopen("/proc/sys/kernel/random/uuid", "r"); + if (f == NULL) { + return NULL; + } + if (fgets(buffer, sizeof(buffer), f) == NULL) { + fclose(f); + return NULL; + } + buffer[38] = 0; + fclose(f); + return String::stringWithUTF8Characters(buffer); +} + +#else + #ifndef _MSC_VER String * String::uuidString() { @@ -1400,6 +1420,8 @@ String * String::uuidString() } #endif +#endif + unsigned int String::replaceOccurrencesOfString(String * occurrence, String * replacement) { unsigned int count; |