4 #if defined (__APPLE__)
11 #include <crt_externs.h>
13 #include <mach-o/dyld.h>
15 typedef int (*NSGetExecutablePathProcPtr)(
char *buf,
size_t *
bufsize );
17 static int NSGetExecutablePathOnTenOneAndEarlierOnly(
char *execPath,
size_t *execPathSize )
21 char *possiblyRelativePath;
22 char absolutePath[MAXPATHLEN];
23 size_t absolutePathSize;
25 assert( execPath != NULL );
26 assert( execPathSize != NULL );
28 cursor = (
char**) ( *( _NSGetArgv() )+*( _NSGetArgc() ) );
49 possiblyRelativePath = *cursor;
55 if (realpath( possiblyRelativePath, absolutePath ) == NULL)
61 absolutePathSize = (strlen( absolutePath )+1);
62 if (absolutePathSize <= *execPathSize)
63 strcpy( execPath, absolutePath );
66 *execPathSize = absolutePathSize;
72 int XNSGetExecutablePath(
char *execPath,
size_t *execPathSize )
74 if ( NSIsSymbolNameDefined(
"__NSGetExecutablePath" ) )
75 return ( (NSGetExecutablePathProcPtr) NSAddressOfSymbol( NSLookupAndBindSymbol(
"__NSGetExecutablePath" ) ) )( execPath,
79 return NSGetExecutablePathOnTenOneAndEarlierOnly( execPath, execPathSize );
87 int maxint = 0x7ffffff;
88 int minint = -0x8000000;
89 if ( (a < maxint) && (a > minint) )
return int(a);
90 if (a > 0)
return maxint;
91 if (a < 0)
return minint;
96 int maxint = 0x7ffffff;
97 int minint = -0x8000000;
98 if ( (a < maxint) && (a > minint) )
return int(a);
99 if (a > 0)
return maxint;
100 if (a < 0)
return minint;
103 #ifdef WITH_MACOSX_BUNDLE
104 #if (defined (__APPLE__) || defined (MACOSX ) ) && !defined (POSH_LITTLE_ENDIAN)
106 char * ctermid_r(
char *buf )
119 static char ret[] =
"/dev/tty";
124 float acosf(
float a )
128 float asinf(
float a )
132 long lrintf(
float a )
134 return (
long) round( a );
136 long lrint(
double a )
138 return (
long) round( a );
140 long long llrintf(
float a )
142 return (
long) round( a );
144 long long llrint(
double a )
146 return (
long) round( a );
148 long long llrintl(
long double a )
150 return (
long) round( a );
153 float sqrtf(
float v )
155 return (
float)
sqrt( (
double) v );
158 float cosf(
float v )
160 return (
float)
cos( (
double) v );
163 float sinf(
float v )
165 return (
float)
sin( (
double) v );
168 float tanf(
float v )
170 return (
float)
tan( (
double) v );
173 float powf(
float v,
float p )
175 return (
float) pow( (
double) v, (
double) p );
177 long long atoll(
const char *a )
179 long long retval = 0;
180 bool negatory =
false;
181 if (a[0] ==
'-') negatory =
true;
190 #define sockaddr void
191 #define socklen_t size_t
193 int getnameinfo(
const sockaddr*restrict sa,
197 char*restrict service,
198 socklen_t servicelen,