Merge pull request #18 from schani/master
get_exename() for OSX >= 10.9
This commit is contained in:
		
						commit
						bf5e0d2210
					
				| 
						 | 
					@ -119,17 +119,12 @@ char *get_exename(char *buf, size_t size)
 | 
				
			||||||
    return buf;
 | 
					    return buf;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#elif defined(MACOSX)
 | 
					#elif defined(MACOSX)
 | 
				
			||||||
#include <ApplicationServices/ApplicationServices.h>
 | 
					#include <mach-o/dyld.h>
 | 
				
			||||||
char *get_exename(char *buf, size_t size)
 | 
					char *get_exename(char *buf, size_t size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    ProcessSerialNumber PSN;
 | 
					    uint32_t bufsize = (uint32_t)size;
 | 
				
			||||||
    FSRef ref;
 | 
					    if (_NSGetExecutablePath(buf, &bufsize))
 | 
				
			||||||
 | 
						return NULL;
 | 
				
			||||||
    if (GetCurrentProcess(&PSN) < 0 ||
 | 
					 | 
				
			||||||
        GetProcessBundleLocation(&PSN, &ref) < 0 ||
 | 
					 | 
				
			||||||
        FSRefMakePath(&ref, buf, size) < 0)
 | 
					 | 
				
			||||||
        return NULL;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return buf;
 | 
					    return buf;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue