#include "utils.h"
+#ifndef HAVE_STRLCAT
+#include "include/strlcat.h"
+#endif
+
bool file_exists(const char *f)
{
struct stat statbuf;
va_list args;
char *cur, *dest;
size_t full_len = strlen(first);
+ size_t buf_len;
dest = must_copy_string(first);
if (cur[0] != '/')
full_len++;
- dest = must_realloc(dest, full_len + 1);
+ buf_len = full_len + 1;
+ dest = must_realloc(dest, buf_len);
if (cur[0] != '/')
- strncat(dest, "/", 1);
- strncat(dest, cur, strlen(cur));
+ (void)strlcat(dest, "/", buf_len);
+ (void)strlcat(dest, cur, buf_len);
}
va_end(args);
#include "include/strlcpy.h"
#endif
+#ifndef HAVE_STRLCAT
+#include "include/strlcat.h"
+#endif
+
#ifndef O_PATH
#define O_PATH 010000000
#endif
char **p;
size_t sep_len = strlen(sep);
size_t result_len = use_as_prefix * sep_len;
+ size_t buf_len;
/* calculate new string length */
for (p = (char **)parts; *p; p++)
result_len += (p > (char **)parts) * sep_len + strlen(*p);
- result = calloc(result_len + 1, 1);
+ buf_len = result_len + 1;
+ result = calloc(buf_len, 1);
if (!result)
return NULL;
if (use_as_prefix)
- (void)strlcpy(result, sep, result_len + 1);
+ (void)strlcpy(result, sep, buf_len);
for (p = (char **)parts; *p; p++) {
if (p > (char **)parts)
- strncat(result, sep, sep_len);
- strncat(result, *p, strlen(*p));
+ (void)strlcat(result, sep, buf_len);
+ (void)strlcat(result, *p, buf_len);
}
return result;
va_list args;
char *cur, *dest;
size_t full_len = strlen(first);
+ size_t buf_len;
dest = must_copy_string(first);
if (cur[0] != '/')
full_len++;
- dest = must_realloc(dest, full_len + 1);
+ buf_len = full_len + 1;
+ dest = must_realloc(dest, buf_len);
if (cur[0] != '/')
- strncat(dest, "/", 1);
- strncat(dest, cur, strlen(cur));
+ (void)strlcat(dest, "/", buf_len);
+ (void)strlcat(dest, cur, buf_len);
}
va_end(args);
size_t full_len;
va_list args;
char *dest = first;
+ size_t buf_len;
full_len = strlen(first);
va_start(args, first);
if (cur[0] != '/')
full_len++;
- dest = must_realloc(dest, full_len + 1);
+ buf_len = full_len + 1;
+ dest = must_realloc(dest, buf_len);
if (cur[0] != '/')
- strncat(dest, "/", 1);
- strncat(dest, cur, strlen(cur));
+ (void)strlcat(dest, "/", buf_len);
+ (void)strlcat(dest, cur, buf_len);
}
va_end(args);