cedric pushed a commit to branch master.
commit 06cd16548c1497bfd36316dfd9c96699b0549939
Author: Cedric Bail <[email protected]>
Date: Tue Jun 4 15:03:30 2013 +0900
eina: add eina_file_dup.
---
ChangeLog | 1 +
NEWS | 3 ++-
src/lib/eina/eina_file.h | 12 ++++++++++++
src/lib/eina/eina_file_common.c | 7 +++++++
4 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index c0f8736..d960d20 100644
--- 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
--- 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()
diff --git a/src/lib/eina/eina_file.h b/src/lib/eina/eina_file.h
index 959f089..0f77c69 100644
--- a/src/lib/eina/eina_file.h
+++ b/src/lib/eina/eina_file.h
@@ -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.
diff --git a/src/lib/eina/eina_file_common.c b/src/lib/eina/eina_file_common.c
index 80230c9..ca1c487 100644
--- a/src/lib/eina/eina_file_common.c
+++ b/src/lib/eina/eina_file_common.c
@@ -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)
{
--
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j