@@ -132,6 +132,11 @@ static inline char *realpath(const char *path, char *resolved_path)
#endif /* !defined(NEED_CPU_H) */
+/* main function, renamed */
+#if defined(CONFIG_COCOA)
+int qemu_main(int argc, char **argv, char **envp);
+#endif
+
/* bottom halves */
typedef void QEMUBHFunc(void *opaque);
@@ -23,6 +23,7 @@
*/
#import <Cocoa/Cocoa.h>
+#include <crt_externs.h>
#include "qemu-common.h"
#include "console.h"
@@ -61,7 +62,6 @@ typedef struct {
int bitsPerPixel;
} QEMUScreen;
-int qemu_main(int argc, char **argv); // main defined in qemu/vl.c
NSWindow *normalWindow;
id cocoaView;
static DisplayChangeListener *dcl;
@@ -794,7 +794,7 @@ static int cocoa_keycode_to_qemu(int keycode)
COCOA_DEBUG("QemuCocoaAppController: startEmulationWithArgc\n");
int status;
- status = qemu_main(argc, argv);
+ status = qemu_main(argc, argv, *_NSGetEnviron());
exit(status);
}
@@ -877,7 +877,7 @@ int main (int argc, const char * argv[]) {
!strcmp(opt, "-nographic") ||
!strcmp(opt, "-version") ||
!strcmp(opt, "-curses")) {
- return qemu_main(gArgc, gArgv);
+ return qemu_main(gArgc, gArgv, *_NSGetEnviron());
}
}
}
This fixes a missing prototype warning in vl.c and obsoletes the prototype in cocoa.m. Adjust callers in cocoa.m to supply third argument, which is currently only used on Linux/ppc. The prototype is designed so that it could be shared with SDL and other frontends, if desired. Cc: Alexandre Raymond <cerbere@gmail.com> Signed-off-by: Andreas Färber <andreas.faerber@web.de> --- qemu-common.h | 5 +++++ ui/cocoa.m | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-)