diff --git a/eina/Makefile.am b/eina/Makefile.am index f35db428..4404b119 100644 --- a/eina/Makefile.am +++ b/eina/Makefile.am @@ -13,6 +13,7 @@ eina_array_01.c \ eina_array_02.c \ eina_error_01.c \ eina_file_01.c \ +eina_file_02.c \ eina_hash_01.c \ eina_hash_02.c \ eina_hash_03.c \ @@ -56,6 +57,7 @@ eina_array_01 \ eina_array_02 \ eina_error_01 \ eina_file_01 \ +eina_file_02 \ eina_hash_01 \ eina_hash_02 \ eina_hash_03 \ diff --git a/unsorted/eina/eina_file_02.c b/unsorted/eina/eina_file_02.c new file mode 100644 index 00000000..b77dcb42 --- /dev/null +++ b/unsorted/eina/eina_file_02.c @@ -0,0 +1,37 @@ +//Compile with: +//gcc -g eina_file_02.c -o eina_file_02 `pkg-config --cflags --libs eina` + +#include +#include + +static Eina_Bool +_progress_cb(void *data, unsigned long long done, unsigned long long total) +{ + const char **files = data; + printf("%5llu/%llu of copy '%s' to '%s'\n", done, total, files[0], files[1]); + return EINA_TRUE; +} + +int +main(int argc, char **argv) +{ + Eina_Bool ret; + + if (argc != 3) + { + fprintf(stderr, "Usage: %s \n", argv[0]); + return EXIT_FAILURE; + } + + eina_init(); + + ret = eina_file_copy(argv[1], argv[2], + EINA_FILE_COPY_PERMISSION | EINA_FILE_COPY_XATTR, + _progress_cb, argv + 1); + + printf("copy finished: %s\n", ret ? "success" : "failure"); + + eina_shutdown(); + + return 0; +}