return true;
}
-int do_copy(const char *src, const char *dst, const char *option, int64_t timeout_msec) {
- /* TODO
- * change direct execution of cp to c api
- */
- char *argv[] = {"/bin/cp", NULL, NULL, NULL, NULL};
-
- assert(src);
- assert(dst);
- assert(option);
-
- argv[1] = (char *)src;
- argv[2] = (char *)dst;
- argv[3] = (char *)option;
-
- return do_fork_exec(argv, NULL, timeout_msec);
-}
-
-static int do_cp_internal(const char *src, const char *dst, mode_t mode, bool force) {
+static int do_copy_internal(const char *src, const char *dst, mode_t mode, bool force) {
_cleanup_close_ int rfd = -1, wfd = -1;
char buf[1024];
ssize_t red;
return 0;
}
-int do_cp_mode(const char *src, const char *dst, mode_t mode) {
+int do_copy_mode(const char *src, const char *dst, mode_t mode) {
assert(src);
assert(dst);
- return do_cp_internal(src, dst, mode, false);
+ return do_copy_internal(src, dst, mode, false);
}
-int do_cp_mode_force(const char *src, const char *dst, mode_t mode) {
+int do_copy_mode_force(const char *src, const char *dst, mode_t mode) {
assert(src);
assert(dst);
- return do_cp_internal(src, dst, mode, true);
+ return do_copy_internal(src, dst, mode, true);
}
-int do_cp(const char *src, const char *dst) {
+int do_copy(const char *src, const char *dst) {
assert(src);
assert(dst);
- return do_cp_internal(src, dst, 0644, false);
+ return do_copy_internal(src, dst, 0644, false);
}
-int do_cp_force(const char *src, const char *dst) {
+int do_copy_force(const char *src, const char *dst) {
assert(src);
assert(dst);
- return do_cp_internal(src, dst, 0644, true);
+ return do_copy_internal(src, dst, 0644, true);
}
int do_mkdir(const char *path, mode_t mode) {
bool is_number(const char *s, int l);
/**
- * @brief Run cp with given src, dst with option. Internally, directly
- * calls /bin/cp with given arguments.
- * @todo change direct calls of /bin/cp to c api.
- *
- * @param src source
- * @param dst destination
- * @param option cp option
- * @param timeout_msec timeout milliseconds
- *
- * @return return exit code of /bin/cp or negative errno.
- */
-int do_copy(const char *src, const char *dst, const char *option, int64_t timeout_msec);
-
-/**
* @brief copy a file with mode, if destination file exists, return
* error.
*
* @return 0 on success, -errno on failure. -EALREADY if destination
* file exist.
*/
-int do_cp_mode(const char *src, const char *dst, mode_t mode);
+int do_copy_mode(const char *src, const char *dst, mode_t mode);
/**
* @brief copy a file with mode, if destination file exists, the file
*
* @return 0 on success, -errno on failure.
*/
-int do_cp_mode_force(const char *src, const char *dst, mode_t mode);
+int do_copy_mode_force(const char *src, const char *dst, mode_t mode);
/**
* @brief copy a file, destination file mode is 0644, if destination
* @return 0 on success, -errno on failure. -EALREADY if destination
* file exist.
*/
-int do_cp(const char *src, const char *dst);
+int do_copy(const char *src, const char *dst);
/**
* @brief copy a file, destination file mode is 0644, if destination
*
* @return 0 on success, -errno on failure.
*/
-int do_cp_force(const char *src, const char *dst);
+int do_copy_force(const char *src, const char *dst);
/**
* @brief Make a directory. If parent directories are also absent,
assert(touch(TEST_SRC_FILE) == 0);
assert(touch(TEST_DST_FILE) == 0);
- assert(do_cp(TEST_SRC_FILE, TEST_DST_FILE) == -EALREADY);
- assert(do_cp_force(TEST_SRC_FILE, TEST_DST_FILE) == 0);
+ assert(do_copy(TEST_SRC_FILE, TEST_DST_FILE) == -EALREADY);
+ assert(do_copy_force(TEST_SRC_FILE, TEST_DST_FILE) == 0);
compare_file();
}
static void test_n_byte_cp_force(unsigned int n) {
assert(write_src_file(n) == 0);
- assert(do_cp_force(TEST_SRC_FILE, TEST_DST_FILE) == 0);
+ assert(do_copy_force(TEST_SRC_FILE, TEST_DST_FILE) == 0);
compare_file();
}