26 #ifndef _JLI_UTIL_H
27 #define _JLI_UTIL_H
28
29 #include <stdlib.h>
30 #include <string.h>
31 #include <stdio.h>
32 #include <jni.h>
33 #define JLDEBUG_ENV_ENTRY "_JAVA_LAUNCHER_DEBUG"
34
35 void *JLI_MemAlloc(size_t size);
36 void *JLI_MemRealloc(void *ptr, size_t size);
37 char *JLI_StringDup(const char *s1);
38 void JLI_MemFree(void *ptr);
39 int JLI_StrCCmp(const char *s1, const char* s2);
40
41 typedef struct {
42 char *arg;
43 jboolean has_wildcard;
44 } StdArg;
45
46 StdArg *JLI_GetStdArgs();
47 int JLI_GetStdArgc();
48
49 #define JLI_StrLen(p1) strlen((p1))
50 #define JLI_StrChr(p1, p2) strchr((p1), (p2))
51 #define JLI_StrRChr(p1, p2) strrchr((p1), (p2))
52 #define JLI_StrCmp(p1, p2) strcmp((p1), (p2))
53 #define JLI_StrNCmp(p1, p2, p3) strncmp((p1), (p2), (p3))
54 #define JLI_StrCat(p1, p2) strcat((p1), (p2))
55 #define JLI_StrCpy(p1, p2) strcpy((p1), (p2))
56 #define JLI_StrNCpy(p1, p2, p3) strncpy((p1), (p2), (p3))
57 #define JLI_StrStr(p1, p2) strstr((p1), (p2))
58 #define JLI_StrSpn(p1, p2) strspn((p1), (p2))
59 #define JLI_StrCSpn(p1, p2) strcspn((p1), (p2))
60 #define JLI_StrPBrk(p1, p2) strpbrk((p1), (p2))
61 #define JLI_StrTok(p1, p2) strtok((p1), (p2))
62
63 /* On Windows lseek() is in io.h rather than the location dictated by POSIX. */
64 #ifdef _WIN32
65 #include <windows.h>
66 #include <io.h>
67 #include <process.h>
68 #define JLI_StrCaseCmp(p1, p2) stricmp((p1), (p2))
69 #define JLI_StrNCaseCmp(p1, p2, p3) strnicmp((p1), (p2), (p3))
70 int JLI_Snprintf(char *buffer, size_t size, const char *format, ...);
71 void JLI_CmdToArgs(char *cmdline);
72 #define JLI_Lseek _lseeki64
73 #define JLI_PutEnv _putenv
74 #define JLI_GetPid _getpid
75 #else /* NIXES */
76 #include <unistd.h>
77 #include <strings.h>
78 #define JLI_StrCaseCmp(p1, p2) strcasecmp((p1), (p2))
79 #define JLI_StrNCaseCmp(p1, p2, p3) strncasecmp((p1), (p2), (p3))
80 #define JLI_Snprintf snprintf
81 #define JLI_PutEnv putenv
82 #define JLI_GetPid getpid
83 #ifdef __solaris__
84 #define JLI_Lseek llseek
85 #endif
86 #ifdef __linux__
87 #define _LARGFILE64_SOURCE
88 #define JLI_Lseek lseek64
89 #endif
90 #ifdef MACOSX
91 #define JLI_Lseek lseek
|
26 #ifndef _JLI_UTIL_H
27 #define _JLI_UTIL_H
28
29 #include <stdlib.h>
30 #include <string.h>
31 #include <stdio.h>
32 #include <jni.h>
33 #define JLDEBUG_ENV_ENTRY "_JAVA_LAUNCHER_DEBUG"
34
35 void *JLI_MemAlloc(size_t size);
36 void *JLI_MemRealloc(void *ptr, size_t size);
37 char *JLI_StringDup(const char *s1);
38 void JLI_MemFree(void *ptr);
39 int JLI_StrCCmp(const char *s1, const char* s2);
40
41 typedef struct {
42 char *arg;
43 jboolean has_wildcard;
44 } StdArg;
45
46 int JLI_GetStdArgc();
47 StdArg *JLI_GetStdArgs();
48 void JLI_ReleaseStdArgs();
49
50 #define JLI_StrLen(p1) strlen((p1))
51 #define JLI_StrChr(p1, p2) strchr((p1), (p2))
52 #define JLI_StrRChr(p1, p2) strrchr((p1), (p2))
53 #define JLI_StrCmp(p1, p2) strcmp((p1), (p2))
54 #define JLI_StrNCmp(p1, p2, p3) strncmp((p1), (p2), (p3))
55 #define JLI_StrCat(p1, p2) strcat((p1), (p2))
56 #define JLI_StrCpy(p1, p2) strcpy((p1), (p2))
57 #define JLI_StrNCpy(p1, p2, p3) strncpy((p1), (p2), (p3))
58 #define JLI_StrStr(p1, p2) strstr((p1), (p2))
59 #define JLI_StrSpn(p1, p2) strspn((p1), (p2))
60 #define JLI_StrCSpn(p1, p2) strcspn((p1), (p2))
61 #define JLI_StrPBrk(p1, p2) strpbrk((p1), (p2))
62 #define JLI_StrTok(p1, p2) strtok((p1), (p2))
63
64 /* On Windows lseek() is in io.h rather than the location dictated by POSIX. */
65 #ifdef _WIN32
66 #include <windows.h>
67 #include <io.h>
68 #include <process.h>
69 #define JLI_StrCaseCmp(p1, p2) stricmp((p1), (p2))
70 #define JLI_StrNCaseCmp(p1, p2, p3) strnicmp((p1), (p2), (p3))
71 int JLI_Snprintf(char *buffer, size_t size, const char *format, ...);
72 void JLI_CmdToArgs(char *cmdline);
73 jboolean JLI_DecodeArgs(int *pargc, char*** pargv);
74 #define JLI_Lseek _lseeki64
75 #define JLI_PutEnv _putenv
76 #define JLI_GetPid _getpid
77 #else /* NIXES */
78 #include <unistd.h>
79 #include <strings.h>
80 #define JLI_StrCaseCmp(p1, p2) strcasecmp((p1), (p2))
81 #define JLI_StrNCaseCmp(p1, p2, p3) strncasecmp((p1), (p2), (p3))
82 #define JLI_Snprintf snprintf
83 #define JLI_PutEnv putenv
84 #define JLI_GetPid getpid
85 #ifdef __solaris__
86 #define JLI_Lseek llseek
87 #endif
88 #ifdef __linux__
89 #define _LARGFILE64_SOURCE
90 #define JLI_Lseek lseek64
91 #endif
92 #ifdef MACOSX
93 #define JLI_Lseek lseek
|