aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils-dir.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2016-03-16 16:05:28 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2016-03-16 17:31:58 +0100
commit2c6fcae14552ab6e7addc82516617a135f86b5ca (patch)
treee6c8aff7b0fca5ef81c02bfb7c2d71ec6fc97046 /src/utils-dir.c
parentabfae2b6d73d7be40ffbff8e8429f71d82df90b5 (diff)
cmake: improves error detection
Add detection of problem of cast. The problems are corrected in the patch. Change-Id: I8dc1e987531790860e390dea53ddf49d52339cb2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/utils-dir.c')
-rw-r--r--src/utils-dir.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/utils-dir.c b/src/utils-dir.c
index 31bfd8a..96e803b 100644
--- a/src/utils-dir.c
+++ b/src/utils-dir.c
@@ -114,9 +114,10 @@ int remove_directory_at(int dirfd, const char *directory, int force)
}
/* create a directory */
-int create_directory_at(int dirfd, const char *directory, int mode, int mkparents)
+int create_directory_at(int dirfd, const char *directory, mode_t mode, int mkparents)
{
- int rc, len, l;
+ int rc;
+ size_t len, l;
char *copy;
const char *iter;
@@ -126,7 +127,7 @@ int create_directory_at(int dirfd, const char *directory, int mode, int mkparent
/* check parent of dest */
iter = strrchr(directory, '/');
- len = iter ? iter - directory : 0;
+ len = iter ? (size_t)(iter - directory) : 0;
if (!len)
return rc;
copy = strndupa(directory, len);
@@ -157,7 +158,7 @@ int create_directory_at(int dirfd, const char *directory, int mode, int mkparent
return mkdirat(dirfd, directory, mode);
}
-int create_directory(const char *directory, int mode, int mkparents)
+int create_directory(const char *directory, mode_t mode, int mkparents)
{
return create_directory_at(AT_FDCWD, directory, mode, mkparents);
}