43 for (i = 0; i <= len / 2; i++)
67 if ((p = strdup(s)) == NULL)
88 if ((sa == NULL) || (sb == NULL))
96 for (nb = 0; (lm > 0) && (*sa == *sb); sa++, sb++, lm--)
116 if ((out == NULL) || (in == NULL) || (sz == 0))
142 if ((out == NULL) || (in == NULL) || (sz == 0))
164 if (sin == NULL || n == 0)
187 if (s1 == NULL && s2 == NULL)
191 sz = strlen(s1) + strlen(s2) + 1;
192 if ((p = malloc(sz)) != NULL)
193 snprintf(p, sz,
"%s%s", s1, s2);
211 for (p = s; *p !=
'\0'; p++)
233 for (i = 0, nlen = 0; i < argc && argv[i] != NULL; i++)
234 nlen += strlen(argv[i]);
235 nlen += (argc - 1) * strlen(sep);
237 s = (
char *) malloc(nlen + 1);
239 for (i = 1; i < argc; i++) {
280 size_t xtra = (8 - sz % 8) % 8;
282 p = malloc(sz + xtra);
302 for (p = s; *p !=
'\0'; p++)
319 for (p = s; *p !=
'\0'; p++)
336 memset(dst, (
int) c, len);
380 for (i = 0; i < sz; i++, p++) {
410 while ((*p !=
'\0') && (size-- > 0)) {
435 while ((*p !=
'\0') && (size-- > 0)) {
460 while ((*p !=
'\0') && (size-- > 0)) {
482 if (s == NULL || strlen(s) == 0)
485 for (p = last = s; *p !=
'\0'; p++)
506 if ((s == NULL) || (strlen(s) == 0))
515 for (p = s + n; (n >= 0) && (*p !=
'\0'); p--, n--)
517 if ((*p !=
'\n') && (*p !=
'\r'))
523 while ((n = strlen(s)) > 0)
525 if ((s[n - 1] !=
'\n') && (s[n - 1] !=
'\r'))
537 #if defined(REGCOMP_FLAGS) 541 #define REGCOMP_FLAGS (REG_ICASE | REG_EXTENDED) 556 if ((s == NULL) || (expr == NULL))
559 flags = REG_EXTENDED | (icase ? REG_ICASE : 0);
560 if ((rerror = regcomp(&re, expr, flags)) == 0) {
563 if (regexec(&re, s, 1, &pm, 0) == 0) {
574 if (regerror(rerror, &re, s,
sizeof (s)) > 0)
594 memset(dst, 0, ldst);
596 if (ldst <= lorg + 1) {
601 memset(dst,
' ', (ldst - lorg) / 2);
619 if (s == NULL || argv == NULL || sz == 0)
624 for (i = 0; i < sz; i++)
626 for (p = strtok_r(s, sep, &ptr), i = 0;
627 p != NULL && i < sz - 1; p = strtok_r(NULL, sep, &ptr), i++) {
668 zm_snprintf(
char *s,
size_t maxlen,
const char *format, ...)
673 va_start(arg, format);
674 done = vsnprintf(s, maxlen, format, arg);
693 if ((s == NULL) || (strlen(s) == 0))
696 if ((l = strspn(s,
"0123456789")) == 0)
699 if (l >= (
sizeof (strn)))
702 memset(strn, 0,
sizeof (strn));
707 n = strtol(strn, (
char **) NULL, 10);
708 if (errno == ERANGE || errno == EINVAL || n <= 0)
char * zeStrDupRev(char *s)
char * zeStrChomp(char *s)
char * zeStrSet(char *dst, int c, int len)
void zeStrCenter(char *dst, char *org, int ldst)
char * zeStrnDup(char *sin, size_t n) const
char * zeStrRmHeadBlanks(char *s, size_t size)
#define ZE_LogMsgError(level,...)
int zeSafeStrnCat(char *out, size_t sz, char *in, size_t n)
size_t zeStrRmNulls(char *s, size_t sz)
int zeStrlEqual(char *sa, char *sb)
char * zeStr2Upper(char *s)
char * zeStrJoin(char *sep, int argc, char **argv)
char * zeStr2Lower(char *s)
int zeStr2Tokens(char *s, int sz, char **argv, char *sep)
char * zeStrCatDup(char *s1, char *s2)
#define ZE_LogSysError(...)
char * zeStrClearTrailingBlanks(char *s)
void * zeMalloc(size_t sz)
char * zeStrRmTailBlanks(char *s, size_t size)
int zeStrCountChar(char *s, int c)
time_t zeStrTime2Secs(char *s)
bool zeStrRegex(char *s, char *expr, long *pi, long *pf, bool icase)
char * zeStrRmBlanks(char *s, size_t size)
void zeStrChkNull(char *s, int len)
int zeSafeStrnCpy(char *out, size_t sz, char *in, size_t n)