eina: add eina_file_dup.
authorCedric Bail <cedric.bail@samsung.com>
Tue, 4 Jun 2013 06:03:30 +0000 (15:03 +0900)
committerCedric Bail <cedric.bail@samsung.com>
Tue, 4 Jun 2013 06:04:19 +0000 (15:04 +0900)
ChangeLog
NEWS
src/lib/eina/eina_file.h
src/lib/eina/eina_file_common.c

index c0f8736..d960d20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2013-06-04  Cedric Bail
 
        * Evas: correctly detect if loader support asynchronous preloading.
+       * Eina: add eina_file_dup.
 
 2013-06-03  Ederson Desouza
 
diff --git a/NEWS b/NEWS
index f562785..a52a5c4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -27,7 +27,8 @@ Additions:
      - Add eina_log_timing()
      - Add eina_inlist_first
      - Add eina_inlist_last
-     - Added eina_str_convert_len() to work around broken eina_str_convert()
+     - Add eina_str_convert_len() to work around broken eina_str_convert()
+     - Add eina_file_dup()
     * eet:
      - Add eet_mmap()
      - Add eet_data_descriptor_name_get()
index 959f089..0f77c69 100644 (file)
@@ -460,6 +460,18 @@ EAPI Eina_Bool eina_file_copy(const char *src, const char *dst, Eina_File_Copy_F
 EAPI Eina_File *eina_file_open(const char *name, Eina_Bool shared) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
 
 /**
+ * @brief Dup a read-only handler of a previously open file.
+ *
+ * @param file To duplicate a reference to
+ * @return Eina_File handle to the duplicated file
+ *
+ * Opens a file in read-only mode.
+ *
+ * @since 1.8
+ */
+EAPI Eina_File * eina_file_dup(Eina_File *file);
+
+/**
  * @brief Unref file handler.
  *
  * @param file File handler to unref.
index 80230c9..ca1c487 100644 (file)
@@ -152,6 +152,13 @@ eina_file_path_sanitize(const char *path)
    return _eina_file_escape(eina_file_cleanup(result), len);
 }
 
+EAPI Eina_File *
+eina_file_dup(Eina_File *file)
+{
+   if (file) file->refcount++;
+   return file;
+}
+
 EAPI void
 eina_file_close(Eina_File *file)
 {