aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCString.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/basetypes/MCString.cpp')
-rw-r--r--src/core/basetypes/MCString.cpp24
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;