macOS fixes
This commit is contained in:
@@ -209,6 +209,7 @@
|
|||||||
F5857AA22DED026700A8CB4F /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = 31B8A32721A238010055BD01 /* version.c */; };
|
F5857AA22DED026700A8CB4F /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = 31B8A32721A238010055BD01 /* version.c */; };
|
||||||
F5857AA42DED032D00A8CB4F /* cfgfiles.c in Sources */ = {isa = PBXBuildFile; fileRef = F5857AA32DED032C00A8CB4F /* cfgfiles.c */; };
|
F5857AA42DED032D00A8CB4F /* cfgfiles.c in Sources */ = {isa = PBXBuildFile; fileRef = F5857AA32DED032C00A8CB4F /* cfgfiles.c */; };
|
||||||
F5857AA62DED03BB00A8CB4F /* sfbase.c in Sources */ = {isa = PBXBuildFile; fileRef = F5857AA52DED03BB00A8CB4F /* sfbase.c */; };
|
F5857AA62DED03BB00A8CB4F /* sfbase.c in Sources */ = {isa = PBXBuildFile; fileRef = F5857AA52DED03BB00A8CB4F /* sfbase.c */; };
|
||||||
|
F5E1A4CF2FA2F74C0014D115 /* macuuid.m in Sources */ = {isa = PBXBuildFile; fileRef = F5E1A4CE2FA2F74C0014D115 /* macuuid.m */; };
|
||||||
F5E66A222F7D4B30000E30B7 /* earlyarg.c in Sources */ = {isa = PBXBuildFile; fileRef = F5E66A212F7D4B30000E30B7 /* earlyarg.c */; };
|
F5E66A222F7D4B30000E30B7 /* earlyarg.c in Sources */ = {isa = PBXBuildFile; fileRef = F5E66A212F7D4B30000E30B7 /* earlyarg.c */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
@@ -635,6 +636,7 @@
|
|||||||
F54C1AE42E43D22A006CAA8E /* sfprocs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = sfprocs.h; path = ../../include/include/sfprocs.h; sourceTree = "<group>"; };
|
F54C1AE42E43D22A006CAA8E /* sfprocs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = sfprocs.h; path = ../../include/include/sfprocs.h; sourceTree = "<group>"; };
|
||||||
F5857AA32DED032C00A8CB4F /* cfgfiles.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cfgfiles.c; path = ../../src/cfgfiles.c; sourceTree = "<group>"; };
|
F5857AA32DED032C00A8CB4F /* cfgfiles.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cfgfiles.c; path = ../../src/cfgfiles.c; sourceTree = "<group>"; };
|
||||||
F5857AA52DED03BB00A8CB4F /* sfbase.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sfbase.c; path = ../../src/sfbase.c; sourceTree = "<group>"; };
|
F5857AA52DED03BB00A8CB4F /* sfbase.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sfbase.c; path = ../../src/sfbase.c; sourceTree = "<group>"; };
|
||||||
|
F5E1A4CE2FA2F74C0014D115 /* macuuid.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = macuuid.m; sourceTree = "<group>"; };
|
||||||
F5E66A212F7D4B30000E30B7 /* earlyarg.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = earlyarg.c; path = ../../src/earlyarg.c; sourceTree = "<group>"; };
|
F5E66A212F7D4B30000E30B7 /* earlyarg.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = earlyarg.c; path = ../../src/earlyarg.c; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
@@ -695,6 +697,7 @@
|
|||||||
3189576821A1FCC100FB2ABE = {
|
3189576821A1FCC100FB2ABE = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
F5E1A4CE2FA2F74C0014D115 /* macuuid.m */,
|
||||||
F5E66A212F7D4B30000E30B7 /* earlyarg.c */,
|
F5E66A212F7D4B30000E30B7 /* earlyarg.c */,
|
||||||
F50818302F6F564300D2AAFA /* iactions.c */,
|
F50818302F6F564300D2AAFA /* iactions.c */,
|
||||||
F515A73B2DED0B47006E1F63 /* hacklib.c */,
|
F515A73B2DED0B47006E1F63 /* hacklib.c */,
|
||||||
@@ -1883,6 +1886,7 @@
|
|||||||
31B8A38621A238060055BD01 /* mondata.c in Sources */,
|
31B8A38621A238060055BD01 /* mondata.c in Sources */,
|
||||||
31B8A41921A244940055BD01 /* objects.c in Sources */,
|
31B8A41921A244940055BD01 /* objects.c in Sources */,
|
||||||
31B8A3AA21A238060055BD01 /* wizard.c in Sources */,
|
31B8A3AA21A238060055BD01 /* wizard.c in Sources */,
|
||||||
|
F5E1A4CF2FA2F74C0014D115 /* macuuid.m in Sources */,
|
||||||
31B8A3D021A238060055BD01 /* explode.c in Sources */,
|
31B8A3D021A238060055BD01 /* explode.c in Sources */,
|
||||||
31B8A3DE21A238060055BD01 /* sys.c in Sources */,
|
31B8A3DE21A238060055BD01 /* sys.c in Sources */,
|
||||||
31B8A38021A238060055BD01 /* sit.c in Sources */,
|
31B8A38021A238060055BD01 /* sit.c in Sources */,
|
||||||
@@ -2190,6 +2194,7 @@
|
|||||||
"DEBUG=1",
|
"DEBUG=1",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
|
"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = "NHUUID=1";
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
GCC_WARN_PEDANTIC = YES;
|
GCC_WARN_PEDANTIC = YES;
|
||||||
@@ -2318,6 +2323,10 @@
|
|||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = 5J8MP36Y73;
|
DEVELOPMENT_TEAM = 5J8MP36Y73;
|
||||||
GCC_C_LANGUAGE_STANDARD = c99;
|
GCC_C_LANGUAGE_STANDARD = c99;
|
||||||
|
"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
INSTALL_PATH = "$(NH_INSTALL_DIR)";
|
INSTALL_PATH = "$(NH_INSTALL_DIR)";
|
||||||
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
|
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
@@ -2351,6 +2360,7 @@
|
|||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEVELOPMENT_TEAM = 5J8MP36Y73;
|
DEVELOPMENT_TEAM = 5J8MP36Y73;
|
||||||
GCC_C_LANGUAGE_STANDARD = c99;
|
GCC_C_LANGUAGE_STANDARD = c99;
|
||||||
|
"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = "NHUUID=1";
|
||||||
INSTALL_PATH = "$(NH_INSTALL_DIR)";
|
INSTALL_PATH = "$(NH_INSTALL_DIR)";
|
||||||
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
|
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
|
|||||||
+20
-5
@@ -5,7 +5,7 @@
|
|||||||
#include "hack.h"
|
#include "hack.h"
|
||||||
|
|
||||||
void free_macos_uuid(void);
|
void free_macos_uuid(void);
|
||||||
const char *get_macos_uuid(void);
|
void get_macos_uuid(char *);
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#undef DEBUG
|
#undef DEBUG
|
||||||
@@ -25,11 +25,13 @@ free_macos_uuid(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
void
|
||||||
get_macos_uuid(void)
|
get_macos_uuid(char *target)
|
||||||
{
|
{
|
||||||
NSString *uuidString = [[NSUUID UUID] UUIDString];
|
NSString *uuidString = [[NSUUID UUID] UUIDString];
|
||||||
const char *str_uuid;
|
const char *str_uuid, *src;
|
||||||
|
char *dst;
|
||||||
|
int i;
|
||||||
|
|
||||||
if (macos_uuid)
|
if (macos_uuid)
|
||||||
free_macos_uuid();
|
free_macos_uuid();
|
||||||
@@ -37,7 +39,20 @@ get_macos_uuid(void)
|
|||||||
/* str_uuid = [uuidString cStringUsingEncoding:NSUTF8StringEncoding]; */
|
/* str_uuid = [uuidString cStringUsingEncoding:NSUTF8StringEncoding]; */
|
||||||
str_uuid = [uuidString cStringUsingEncoding:NSASCIIStringEncoding];
|
str_uuid = [uuidString cStringUsingEncoding:NSASCIIStringEncoding];
|
||||||
macos_uuid = dupstr(str_uuid);
|
macos_uuid = dupstr(str_uuid);
|
||||||
return macos_uuid;
|
|
||||||
|
if (macos_uuid) {
|
||||||
|
src = macos_uuid;
|
||||||
|
dst = target;
|
||||||
|
for (i = 0; i < 36; ++i) {
|
||||||
|
*dst = *src;
|
||||||
|
++src;
|
||||||
|
++dst;
|
||||||
|
}
|
||||||
|
dst[36] = '\0';
|
||||||
|
}
|
||||||
|
free_macos_uuid();
|
||||||
|
macos_uuid = 0;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+7
-13
@@ -842,19 +842,16 @@ sys_random_seed(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MACOS) && defined(NHUUID)
|
#if defined(MACOS) && defined(NHUUID)
|
||||||
extern char *get_macos_uuid(char **); /* sys/unix/macuuid.m */
|
extern void get_macos_uuid(char *); /* sys/unix/macuuid.m */
|
||||||
extern void free_macos_uuid(void); /* sys/unix/macuuid.m */
|
extern void free_macos_uuid(void); /* sys/unix/macuuid.m */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
get_nhuuid(void)
|
get_nhuuid(void)
|
||||||
{
|
{
|
||||||
#if !defined(MACOS)
|
|
||||||
#if defined(NHUUID)
|
#if defined(NHUUID)
|
||||||
char struuid[37] = { 0 };
|
char struuid[37] = { 0 };
|
||||||
#endif
|
char *struuidptr = &struuid[0];
|
||||||
#endif
|
|
||||||
char *struuidptr = NULL;
|
|
||||||
#if defined(LINUX) && defined(NHUUID)
|
#if defined(LINUX) && defined(NHUUID)
|
||||||
uuid_t binuuid;
|
uuid_t binuuid;
|
||||||
#endif
|
#endif
|
||||||
@@ -862,20 +859,17 @@ get_nhuuid(void)
|
|||||||
if (svn.nhuuid[0])
|
if (svn.nhuuid[0])
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if defined(MACOS) && defined(NHUUID)
|
#if defined(MACOS)
|
||||||
get_macos_uuid(&struuidptr);
|
get_macos_uuid(&struuid[0]);
|
||||||
#elif defined(LINUX) && defined(NHUUID)
|
#elif defined(LINUX)
|
||||||
uuid_generate_random(binuuid);
|
uuid_generate_random(binuuid);
|
||||||
uuid_unparse(binuuid, struuid);
|
uuid_unparse(binuuid, struuid);
|
||||||
struuidptr = &struuid[0];
|
|
||||||
#endif /* MACOS || LINUX */
|
#endif /* MACOS || LINUX */
|
||||||
|
|
||||||
if (struuidptr)
|
if (*struuidptr)
|
||||||
Snprintf(svn.nhuuid, sizeof svn.nhuuid, "%s", struuidptr);
|
Snprintf(svn.nhuuid, sizeof svn.nhuuid, "%s", struuidptr);
|
||||||
|
|
||||||
#if defined(MACOS) && defined(NHUUID)
|
#endif /* NHUUID */
|
||||||
free_macos_uuid();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
Reference in New Issue
Block a user