Index: src/lib/efreet_desktop.c
===================================================================
--- src/lib/efreet_desktop.c	(리비전 71264)
+++ src/lib/efreet_desktop.c	(작업 사본)
@@ -160,6 +160,8 @@ efreet_desktop_shutdown(void)
 EAPI Efreet_Desktop *
 efreet_desktop_get(const char *file)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
+
     Efreet_Desktop *desktop;
 
     desktop = efreet_desktop_new(file);
@@ -187,7 +189,7 @@ efreet_desktop_get(const char *file)
 EAPI int
 efreet_desktop_ref(Efreet_Desktop *desktop)
 {
-    if (!desktop) return 0;
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
     desktop->ref++;
     return desktop->ref;
 }
@@ -195,6 +197,7 @@ efreet_desktop_ref(Efreet_Desktop *deskt
 EAPI Efreet_Desktop *
 efreet_desktop_empty_new(const char *file)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
     Efreet_Desktop *desktop;
 
     desktop = NEW(Efreet_Desktop, 1);
@@ -211,9 +214,9 @@ efreet_desktop_empty_new(const char *fil
 EAPI Efreet_Desktop *
 efreet_desktop_new(const char *file)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
     Efreet_Desktop *desktop = NULL;
 
-    if (!file) return NULL;
     desktop = efreet_cache_desktop_find(file);
     if (desktop)
     {
@@ -232,10 +235,11 @@ efreet_desktop_new(const char *file)
 EAPI Efreet_Desktop *
 efreet_desktop_uncached_new(const char *file)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
+
     Efreet_Desktop *desktop = NULL;
     char rp[PATH_MAX];
 
-    if (!file) return NULL;
     if (!realpath(file, rp)) return NULL;
     if (!ecore_file_exists(rp)) return NULL;
 
@@ -255,6 +259,8 @@ efreet_desktop_uncached_new(const char *
 EAPI int
 efreet_desktop_save(Efreet_Desktop *desktop)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
+
     Efreet_Desktop_Type_Info *info;
     Efreet_Ini *ini;
     int ok = 1;
@@ -309,6 +315,9 @@ efreet_desktop_save(Efreet_Desktop *desk
 EAPI int
 efreet_desktop_save_as(Efreet_Desktop *desktop, const char *file)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
+    EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0);
+
     /* If we save data from eet as new, we will be in trouble */
     if (desktop->eet) return 0;
 
@@ -320,7 +329,7 @@ efreet_desktop_save_as(Efreet_Desktop *d
 EAPI void
 efreet_desktop_free(Efreet_Desktop *desktop)
 {
-    if (!desktop) return;
+    EINA_SAFETY_ON_NULL_RETURN(desktop);
 
     desktop->ref--;
     if (desktop->ref > 0) return;
@@ -381,14 +390,15 @@ efreet_desktop_environment_get(void)
 EAPI unsigned int
 efreet_desktop_category_count_get(Efreet_Desktop *desktop)
 {
-    if (!desktop || !desktop->categories) return 0;
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop->categories, 0);
     return eina_list_count(desktop->categories);
 }
 
 EAPI void
 efreet_desktop_category_add(Efreet_Desktop *desktop, const char *category)
 {
-    if (!desktop) return;
+    EINA_SAFETY_ON_NULL_RETURN(desktop);
 
     if (eina_list_search_unsorted(desktop->categories,
                                   EINA_COMPARE_CB(strcmp), category)) return;
@@ -400,9 +410,10 @@ efreet_desktop_category_add(Efreet_Deskt
 EAPI int
 efreet_desktop_category_del(Efreet_Desktop *desktop, const char *category)
 {
-    char *found = NULL;
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop->categories, 0);
 
-    if (!desktop || !desktop->categories) return 0;
+    char *found = NULL;
 
     if ((found = eina_list_search_unsorted(desktop->categories,
                                            EINA_COMPARE_CB(strcmp), category)))
@@ -453,8 +464,8 @@ efreet_desktop_type_alias(int from_type,
 EAPI Eina_Bool
 efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data)
 {
-    if (!desktop || strncmp(key, "X-", 2))
-        return EINA_FALSE;
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, EINA_FALSE);
+    EINA_SAFETY_ON_TRUE_RETURN_VAL(strncmp(key, "X-", 2), EINA_FALSE);
 
     if (!desktop->x)
         desktop->x = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del));
@@ -468,13 +479,11 @@ efreet_desktop_x_field_set(Efreet_Deskto
 EAPI const char *
 efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key)
 {
-    const char *ret;
-
-    if (!desktop || strncmp(key, "X-", 2))
-        return NULL;
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, NULL);
+    EINA_SAFETY_ON_TRUE_RETURN_VAL(strncmp(key, "X-", 2), NULL);
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop->x, NULL);
 
-    if (!desktop->x)
-        return NULL;
+    const char *ret;
 
     ret = eina_hash_find(desktop->x, key);
     if (!ret)
@@ -486,11 +495,9 @@ efreet_desktop_x_field_get(Efreet_Deskto
 EAPI Eina_Bool
 efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key)
 {
-    if (!desktop || strncmp(key, "X-", 2))
-        return EINA_FALSE;
-
-    if (!desktop->x)
-        return EINA_FALSE;
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, EINA_FALSE);
+    EINA_SAFETY_ON_TRUE_RETURN_VAL(strncmp(key, "X-", 2), EINA_FALSE);
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop->x, EINA_FALSE);
 
     return eina_hash_del_by_key(desktop->x, key);
 }
@@ -498,19 +505,20 @@ efreet_desktop_x_field_del(Efreet_Deskto
 EAPI void *
 efreet_desktop_type_data_get(Efreet_Desktop *desktop)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, NULL);
     return desktop->type_data;
 }
 
 EAPI Eina_List *
 efreet_desktop_string_list_parse(const char *string)
 {
+    EINA_SAFETY_ON_NULL_RETURN_VAL(string, NULL);
+
     Eina_List *list = NULL;
     char *tmp;
     char *s, *p;
     size_t len;
 
-    if (!string) return NULL;
-
     len = strlen(string) + 1;
     tmp = alloca(len);
     memcpy(tmp, string, len);
