projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make lttng_directory_handle reference countable
[lttng-tools.git]
/
src
/
common
/
utils.c
diff --git
a/src/common/utils.c
b/src/common/utils.c
index 2e07d4ff0b6d366268755b7969dab0d58199385e..f3cb9e0306e599a3b7aef48bce1812cfc7d6a03a 100644
(file)
--- a/
src/common/utils.c
+++ b/
src/common/utils.c
@@
-682,21
+682,22
@@
LTTNG_HIDDEN
int utils_mkdir(const char *path, mode_t mode, int uid, int gid)
{
int ret;
int utils_mkdir(const char *path, mode_t mode, int uid, int gid)
{
int ret;
- struct lttng_directory_handle handle;
+ struct lttng_directory_handle
*
handle;
const struct lttng_credentials creds = {
.uid = (uid_t) uid,
.gid = (gid_t) gid,
};
const struct lttng_credentials creds = {
.uid = (uid_t) uid,
.gid = (gid_t) gid,
};
- ret = lttng_directory_handle_init(&handle, NULL);
- if (ret) {
+ handle = lttng_directory_handle_create(NULL);
+ if (!handle) {
+ ret = -1;
goto end;
}
ret = lttng_directory_handle_create_subdirectory_as_user(
goto end;
}
ret = lttng_directory_handle_create_subdirectory_as_user(
-
&
handle, path, mode,
+ handle, path, mode,
(uid >= 0 || gid >= 0) ? &creds : NULL);
(uid >= 0 || gid >= 0) ? &creds : NULL);
- lttng_directory_handle_fini(&handle);
end:
end:
+ lttng_directory_handle_put(handle);
return ret;
}
return ret;
}
@@
-710,21
+711,22
@@
LTTNG_HIDDEN
int utils_mkdir_recursive(const char *path, mode_t mode, int uid, int gid)
{
int ret;
int utils_mkdir_recursive(const char *path, mode_t mode, int uid, int gid)
{
int ret;
- struct lttng_directory_handle handle;
+ struct lttng_directory_handle
*
handle;
const struct lttng_credentials creds = {
.uid = (uid_t) uid,
.gid = (gid_t) gid,
};
const struct lttng_credentials creds = {
.uid = (uid_t) uid,
.gid = (gid_t) gid,
};
- ret = lttng_directory_handle_init(&handle, NULL);
- if (ret) {
+ handle = lttng_directory_handle_create(NULL);
+ if (!handle) {
+ ret = -1;
goto end;
}
ret = lttng_directory_handle_create_subdirectory_recursive_as_user(
goto end;
}
ret = lttng_directory_handle_create_subdirectory_recursive_as_user(
-
&
handle, path, mode,
+ handle, path, mode,
(uid >= 0 || gid >= 0) ? &creds : NULL);
(uid >= 0 || gid >= 0) ? &creds : NULL);
- lttng_directory_handle_fini(&handle);
end:
end:
+ lttng_directory_handle_put(handle);
return ret;
}
return ret;
}
@@
-1353,15
+1355,16
@@
LTTNG_HIDDEN
int utils_recursive_rmdir(const char *path)
{
int ret;
int utils_recursive_rmdir(const char *path)
{
int ret;
- struct lttng_directory_handle handle;
+ struct lttng_directory_handle
*
handle;
- ret = lttng_directory_handle_init(&handle, NULL);
- if (ret) {
+ handle = lttng_directory_handle_create(NULL);
+ if (!handle) {
+ ret = -1;
goto end;
}
goto end;
}
- ret = lttng_directory_handle_remove_subdirectory(&handle, path);
- lttng_directory_handle_fini(&handle);
+ ret = lttng_directory_handle_remove_subdirectory(handle, path);
end:
end:
+ lttng_directory_handle_put(handle);
return ret;
}
return ret;
}
This page took
0.023749 seconds
and
4
git commands to generate.