Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/eet
Dir : e17/libs/eet/src/lib
Modified Files:
Eet.h eet_lib.c
Log Message:
up eet to alpha status. see email to e-devel.
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/Eet.h,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- Eet.h 8 Mar 2008 07:28:12 -0000 1.49
+++ Eet.h 28 Mar 2008 14:37:29 -0000 1.50
@@ -225,8 +225,29 @@
*/
EAPI Eet_Error eet_close(Eet_File *ef);
- /* FIXME: Add some documentation */
- EAPI Eet_Dictionary* eet_dictionary_get(Eet_File *ef);
+
+ /**
+ * Return a handle to the shared string dictionary of the Eet file
+ * @param ef A valid eet file handle.
+ * @return A handle to the dictionary of the file
+ *
+ * This function returns a handle to the dictionary of an Eet file whose
+ * handle is @p ef, if a dictionary exists. NULL is returned otherwise or
+ * if the file handle is known to be invalid.
+ */
+ EAPI Eet_Dictionary *eet_dictionary_get(Eet_File *ef);
+
+ /**
+ * Check if a given string comes from a given dictionary
+ * @param ed A valid dictionary handle
+ * @param string A valid 0 byte terminated C string
+ * @return 1 if it is in the dictionary, 0 otherwise
+ *
+ * This checks the given dictionary to see if the given string is actually
+ * inside that dictionary (i.e. comes from it) and returns 1 if it does.
+ * If the dictionary handle is invlide, the string is NULL or the string is
+ * not in the dictionary, 0 is returned.
+ */
EAPI int eet_dictionary_string_check(Eet_Dictionary *ed, const char
*string);
/**
@@ -249,7 +270,6 @@
EAPI void *eet_read(Eet_File *ef, const char *name, int *size_ret);
/**
-
* Read a specified entry from an eet file and return data
* @param ef A valid eet file handle opened for reading.
* @param name Name of the entry. eg: "/base/file_i_want".
@@ -912,7 +932,7 @@
* parameter defines a string that will be used to uniquely name that
* member of the struct (it is suggested to use the struct member itself).
* The @p member parameter is the actual struct member itself (for
- * example: values), and @p type is the basic data type of the member which
+eet_dictionary_string_check * example: values), and @p type is the basic
data type of the member which
* must be one of: EET_T_CHAR, EET_T_SHORT, EET_T_INT, EET_T_LONG_LONG,
* EET_T_FLOAT, EET_T_DOUBLE, EET_T_UCHAR, EET_T_USHORT, EET_T_UINT,
* EET_T_ULONG_LONG or EET_T_STRING.
===================================================================
RCS file: /cvs/e/e17/libs/eet/src/lib/eet_lib.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -3 -r1.95 -r1.96
--- eet_lib.c 9 Mar 2008 16:16:40 -0000 1.95
+++ eet_lib.c 28 Mar 2008 14:37:29 -0000 1.96
@@ -301,13 +301,13 @@
*cache_alloc = new_cache_alloc;
}
-/* internal string match. bails out at first mismatch - not comparing all */
-/* bytes in strings */
+/* internal string match. null friendly, catches same ptr */
static int
eet_string_match(const char *s1, const char *s2)
{
/* both null- no match */
if ((!s1) || (!s2)) return 0;
+ if (s1 == s2) return 1;
return (!strcmp(s1, s2));
}
@@ -470,7 +470,7 @@
return EET_ERROR_NONE;
- write_error:
+ write_error:
switch (ferror(ef->fp))
{
case EFBIG: error = EET_ERROR_WRITE_ERROR_FILE_TOO_BIG; break;
@@ -575,7 +575,7 @@
return EET_ERROR_NONE;
-write_error:
+ write_error:
switch (ferror(ef->fp))
{
case EFBIG:
@@ -629,19 +629,17 @@
int i;
/*
- We need to compute the list of eet file to close separately from the
cache,
- due to eet_close removing them from the cache after each call.
- */
+ * We need to compute the list of eet file to close separately from the
cache,
+ * due to eet_close removing them from the cache after each call.
+ */
for (i = 0; i < eet_writers_num; i++)
{
- if (eet_writers[i]->references <= 0)
- num++;
+ if (eet_writers[i]->references <= 0) num++;
}
for (i = 0; i < eet_readers_num; i++)
{
- if (eet_readers[i]->references <= 0)
- num++;
+ if (eet_readers[i]->references <= 0) num++;
}
if (num > 0)
@@ -678,7 +676,7 @@
}
/* FIXME: MMAP race condition in READ_WRITE_MODE */
-static Eet_File*
+static Eet_File *
eet_internal_read2(Eet_File *ef)
{
const int *data = (const int*) ef->data;
@@ -861,7 +859,7 @@
return ef;
}
-static Eet_File*
+static Eet_File *
eet_internal_read1(Eet_File *ef)
{
const unsigned char *dyn_buf = NULL;
@@ -1023,29 +1021,29 @@
return ef;
}
-static Eet_File*
+static Eet_File *
eet_internal_read(Eet_File *ef)
{
const int *data = (const int*) ef->data;
if (eet_test_close((ef->data == (void *)-1) || (ef->data == NULL), ef))
return NULL;
-
+
if (eet_test_close(ef->data_size < sizeof(int) * 3, ef))
return NULL;
switch (ntohl(*data))
{
case EET_MAGIC_FILE:
- return eet_internal_read1(ef);
+ return eet_internal_read1(ef);
case EET_MAGIC_FILE2:
- return eet_internal_read2(ef);
+ return eet_internal_read2(ef);
default:
- ef->delete_me_now = 1;
- eet_close(ef);
- break;
+ ef->delete_me_now = 1;
+ eet_close(ef);
+ break;
}
-
+
return NULL;
}
@@ -1618,7 +1616,7 @@
return exists_already;
}
-EAPI Eet_Dictionary*
+EAPI Eet_Dictionary *
eet_dictionary_get(Eet_File *ef)
{
if (eet_check_pointer(ef)) return NULL;
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs