Loading...
Searching...
No Matches
Go to the documentation of this file.
24# define grn_memcpy(dest, src, n) ::memcpy_s((dest), (n), (src), (n))
26# define grn_memcpy(dest, src, n) memcpy_s((dest), (n), (src), (n))
30# define grn_memcpy(dest, src, n) ::memcpy((dest), (src), (n))
32# define grn_memcpy(dest, src, n) memcpy((dest), (src), (n))
37# define grn_memmove(dest, src, n) memmove_s((dest), (n), (src), (n))
39# define grn_memmove(dest, src, n) memmove((dest), (src), (n))
42#define GRN_ENV_BUFFER_SIZE 1024
45# define grn_getenv(name, dest, dest_size) \
47 char *dest_ = (dest); \
48 size_t dest_size_ = (dest_size); \
49 if (dest_size_ > 0) { \
51 env_size = GetEnvironmentVariableA((name), dest_, dest_size_); \
52 if (env_size == 0 || env_size > dest_size_) { \
58# define grn_getenv(name, dest, dest_size) \
60 const char *env_value = getenv((name)); \
61 char *dest_ = (dest); \
62 size_t dest_size_ = (dest_size); \
63 if (dest_size_ > 0) { \
65 strncpy(dest_, env_value, dest_size_ - 1); \
74# define grn_fopen(name, mode) _fsopen((name), (mode), _SH_DENYNO)
76# define grn_fopen(name, mode) fopen((name), (mode))
80# define grn_strdup_raw(string) _strdup((string))
82# define grn_strdup_raw(string) strdup((string))
86# define grn_unlink(filename) _unlink((filename))
88# define grn_unlink(filename) unlink((filename))
92# define grn_strncat(dest, dest_size, src, n) \
93 strncat_s((dest), (dest_size), (src), (n))
95# define grn_strncat(dest, dest_size, src, n) strncat((dest), (src), (n))
99# define grn_strcpy(dest, dest_size, src) strcpy_s((dest), (dest_size), (src))
101# define grn_strcpy(dest, dest_size, src) strcpy((dest), (src))
105# define grn_strncpy(dest, dest_size, src, n) \
106 strncpy_s((dest), (dest_size), (src), (n))
108# define grn_strncpy(dest, dest_size, src, n) strncpy((dest), (src), (n))
112# define grn_strcat(dest, dest_size, src) strcat_s((dest), (dest_size), (src))
114# define grn_strcat(dest, dest_size, src) strcat((dest), (src))
118# define grn_strcasecmp(string1, string2) _stricmp((string1), (string2))
120# define grn_strcasecmp(string1, string2) strcasecmp((string1), (string2))
124# define grn_strncasecmp(string1, string2, n) \
125 _strnicmp((string1), (string2), (n))
127# define grn_strncasecmp(string1, string2, n) \
128 strncasecmp((string1), (string2), (n))
132# define grn_snprintf(dest, dest_size, n, ...) \
134 _snprintf_s((dest), (dest_size), (n) - 1, __VA_ARGS__); \
137# define grn_snprintf(dest, dest_size, n, ...) \
138 snprintf((dest), (n), __VA_ARGS__)
142# define grn_vsnprintf(dest, dest_size, format, args) \
144 vsnprintf((dest), (dest_size), (format), (args)); \
145 (dest)[(dest_size) - 1] = '\0'; \
148# define grn_vsnprintf(dest, dest_size, format, args) \
149 vsnprintf((dest), (dest_size), (format), (args))
153# define grn_write(fd, buf, count) _write((fd), (buf), (count))
155# define grn_write(fd, buf, count) write((fd), (buf), (count))
159# define grn_read(fd, buf, count) _read((fd), (buf), (count))
161# define grn_read(fd, buf, count) read((fd), (buf), (count))
165# define GRN_OPEN_CREATE_MODE (_S_IREAD | _S_IWRITE)
166# define GRN_OPEN_FLAG_BINARY _O_BINARY
167# define grn_open(fd, pathname, flags) \
168 _sopen_s(&(fd), (pathname), (flags), _SH_DENYNO, GRN_OPEN_CREATE_MODE)
170# define GRN_OPEN_CREATE_MODE (S_IRUSR | S_IWUSR | S_IRGRP)
171# define GRN_OPEN_FLAG_BINARY 0
172# define grn_open(fd, pathname, flags) \
173 (fd) = open((pathname), (flags), GRN_OPEN_CREATE_MODE)
177# define grn_close(fd) _close((fd))
179# define grn_close(fd) close((fd))
183# define grn_fileno(stream) _fileno((stream))
185# define grn_fileno(stream) fileno((stream))
189# define grn_isatty(stream) _isatty((stream))
191# define grn_isatty(stream) isatty((stream))
195# define grn_getpid() _getpid()
196#elif defined(__wasi__)
197# define grn_getpid() 1
199# define grn_getpid() getpid()
203# define grn_time_t __time64_t
204# define grn_time(dest_time) _time64((dest_time))
205# define grn_mktime(tm) _mktime64((tm))
206# define grn_timegm(tm) _mkgmtime64((tm))
208# define grn_time_t time_t
209# define grn_time(dest_time) time((dest_time))
210# define grn_mktime(tm) mktime((tm))
211# define grn_timegm(tm) timegm((tm))