Differences From Artifact [cd6046dfba]:
- File
src/OFApplication.m
— part of check-in
[22b2e6ea8b]
at
2017-06-03 23:28:33
on branch trunk
— OFApplication: Fix MorphOS LocalVar list iteration
Double linked lists on MorphOS/AmigaOS have the last node point back to
the list head, so checking the successor for NULL is not correct, as
this will then include the list head which has no payload. (user: js, size: 13726) [annotate] [blame] [check-ins using]
To Artifact [970d1b40a3]:
- File
src/OFApplication.m
— part of check-in
[c9621825fc]
at
2017-06-04 18:48:03
on branch trunk
— Treat MorphOS + ixemul as a separate platform
This reduces the ifdef hell and makes much more sense, as with ixemul,
no native calls are allowed. (user: js, size: 13651) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
31 32 33 34 35 36 37 | #import "OFDictionary.h" #import "OFLocalization.h" #import "OFRunLoop.h" #import "OFRunLoop+Private.h" #import "OFThread.h" #import "OFThread+Private.h" #import "OFSandbox.h" | | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #import "OFDictionary.h" #import "OFLocalization.h" #import "OFRunLoop.h" #import "OFRunLoop+Private.h" #import "OFThread.h" #import "OFThread+Private.h" #import "OFSandbox.h" #ifdef OF_MORPHOS # import "OFFile.h" # import "OFFileManager.h" #endif #import "OFOutOfMemoryException.h" #import "OFOutOfRangeException.h" #import "OFSandboxActivationFailedException.h" #if defined(OF_MACOS) # include <crt_externs.h> #elif defined(OF_WINDOWS) # include <windows.h> extern int _CRT_glob; extern void __wgetmainargs(int *, wchar_t ***, wchar_t ***, int, int *); #elif defined(OF_MORPHOS) # define BOOL EXEC_BOOL # include <proto/exec.h> # include <proto/dos.h> # undef BOOL #elif !defined(OF_IOS) extern char **environ; #endif |
︙ | ︙ | |||
263 264 265 266 267 268 269 | [_environment setObject: value forKey: key]; objc_autoreleasePoolPop(pool); } FreeEnvironmentStringsW(env0); | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | [_environment setObject: value forKey: key]; objc_autoreleasePoolPop(pool); } FreeEnvironmentStringsW(env0); #elif defined(OF_MORPHOS) void *pool = objc_autoreleasePoolPush(); OFFileManager *fileManager = [OFFileManager defaultManager]; OFArray *envContents = [fileManager contentsOfDirectoryAtPath: @"ENV:"]; const of_string_encoding_t encoding = [OFLocalization encoding]; struct Process *proc; struct LocalVar *firstLocalVar; |
︙ | ︙ |