summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Bingner <sam@bingner.com>2020-05-27 22:46:55 -1000
committerSam Bingner <sam@bingner.com>2020-05-27 22:46:55 -1000
commit28c1a7192150a3dd46f7e5ef0e4fa2320c903ad3 (patch)
treeb657a99e82ed6882950f7ecea929dff86855a722
parentcd2c506df669e1ea3f046c97f263aca3e98c9f0d (diff)
Kill the gssc library output problem once and for all
-rw-r--r--gssc.mm12
1 files changed, 11 insertions, 1 deletions
diff --git a/gssc.mm b/gssc.mm
index e4fb37e..8cbebb1 100644
--- a/gssc.mm
+++ b/gssc.mm
@@ -74,6 +74,12 @@ void OnGSCapabilityChanged(
int main(int argc, char *argv[]) {
dlopen("/System/Library/Frameworks/Foundation.framework/Foundation", RTLD_GLOBAL | RTLD_LAZY);
dlopen("/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices", RTLD_GLOBAL | RTLD_LAZY);
+ if (getenv("OS_ACTIVITY_DT_MODE")) {
+ // This would make a bunch of random NSLogs print
+ unsetenv("OS_ACTIVITY_DT_MODE");
+ execvp(argv[0], argv);
+ exit(1);
+ }
NSAutoreleasePool *pool = [[objc_getClass("NSAutoreleasePool") alloc] init];
@@ -723,7 +729,11 @@ int main(int argc, char *argv[]) {
}
if (capability != nil) {
- printf("%s\n", capability == nil ? "(null)" : [[capability description] UTF8String]);
+ if ([capability isKindOfClass:[NSString class]]) {
+ printf("%s\n", [(NSString*)capability UTF8String]);
+ } else {
+ printf("%s\n", capability == nil ? "(null)" : [[capability description] UTF8String]);
+ }
break;
}