elua lib: docs for elua_util_error_report + remove unnecessary arg
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Mon, 20 Apr 2015 16:04:33 +0000 (17:04 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 6 May 2015 14:05:22 +0000 (15:05 +0100)
src/lib/elua/Elua.h
src/lib/elua/elua.c

index 08bfc0c..3a17251 100644 (file)
@@ -449,8 +449,21 @@ EAPI Eina_Bool elua_util_app_load(Elua_State *es, const char *appname);
 EAPI int elua_util_script_run(Elua_State *es, int argc, char **argv, int n,
                               int *quit);
 
-EAPI int elua_util_error_report(const Elua_State *es, const char *pname,
-                                int status);
+/**
+ * @brief Reports an error using Eina logging.
+ *
+ * If the given status is 0, this function just returns it. Otherwise, it takes
+ * the topmost item on the Lua stack, converts it to string (if it cannot be
+ * converted, a "(non-string error)" placeholder is used) and logs it out
+ * as an error, together with the program name set on Elua state init.
+ *
+ * @param[in] es The Elua state.
+ * @param[in] status The status code.
+ * @return The status code.
+ *
+ * @ingroup Elua
+ */
+EAPI int elua_util_error_report(const Elua_State *es, int status);
 
 #endif
 
index 488438a..234674d 100644 (file)
@@ -278,7 +278,7 @@ elua_state_i18n_setup(const Elua_State *es)
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->coredir, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->progname, EINA_FALSE);
    snprintf(buf, sizeof(buf), "%s/gettext.lua", es->coredir);
-   if (elua_util_error_report(es, es->progname, elua_io_loadfile(es, buf)))
+   if (elua_util_error_report(es, elua_io_loadfile(es, buf)))
      return EINA_FALSE;
    lua_createtable(es->luastate, 0, 0);
    luaL_register(es->luastate, NULL, gettextlib);
@@ -311,7 +311,7 @@ elua_state_modules_setup(const Elua_State *es)
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->coredir, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->progname, EINA_FALSE);
    snprintf(buf, sizeof(buf), "%s/module.lua", es->coredir);
-   if (elua_util_error_report(es, es->progname, elua_io_loadfile(es, buf)))
+   if (elua_util_error_report(es, elua_io_loadfile(es, buf)))
      return EINA_FALSE;
    lua_pushcfunction(es->luastate, _elua_module_system_init);
    lua_createtable(es->luastate, 0, 0);
@@ -437,8 +437,7 @@ elua_util_require(Elua_State *es, const char *libname)
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->luastate, -1);
    EINA_SAFETY_ON_FALSE_RETURN_VAL(elua_state_require_ref_push(es), -1);
    lua_pushstring(es->luastate, libname);
-   return elua_util_error_report(es, es->progname,
-                            lua_pcall(es->luastate, 1, 0, 0));
+   return elua_util_error_report(es, lua_pcall(es->luastate, 1, 0, 0));
 }
 
 EAPI int
@@ -446,9 +445,8 @@ elua_util_file_run(Elua_State *es, const char *fname)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(es, -1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->luastate, -1);
-   return elua_util_error_report(es, es->progname,
-                            elua_io_loadfile(es, fname)
-                            || _elua_docall(es, 0, 1));
+   return elua_util_error_report(es, elua_io_loadfile(es, fname)
+                                 || _elua_docall(es, 0, 1));
 }
 
 EAPI int
@@ -456,10 +454,9 @@ elua_util_string_run(Elua_State *es, const char *chunk, const char *chname)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(es, -1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(es->luastate, -1);
-   return elua_util_error_report(es, es->progname,
-                            luaL_loadbuffer(es->luastate, chunk, strlen(chunk),
-                                            chname)
-                            || _elua_docall(es, 0, 0));
+   return elua_util_error_report(es, luaL_loadbuffer(es->luastate, chunk,
+                                                     strlen(chunk), chname)
+                                     || _elua_docall(es, 0, 0));
 }
 
 EAPI Eina_Bool
@@ -515,7 +512,7 @@ elua_util_script_run(Elua_State *es, int argc, char **argv, int n, int *quit)
         *quit = lua_toboolean(es->luastate, -1);
         lua_pop(es->luastate, 1);
      }
-   return elua_util_error_report(es, es->progname, status);
+   return elua_util_error_report(es, status);
 }
 
 static void
@@ -525,13 +522,13 @@ _elua_errmsg(const char *pname, const char *msg)
 }
 
 EAPI int
-elua_util_error_report(const Elua_State *es, const char *pname, int status)
+elua_util_error_report(const Elua_State *es, int status)
 {
    EINA_SAFETY_ON_FALSE_RETURN_VAL(es && es->luastate, status);
    if (status && !lua_isnil(es->luastate, -1))
      {
         const char *msg = lua_tostring(es->luastate, -1);
-        _elua_errmsg(pname, msg ? msg : "(non-string error)");
+        _elua_errmsg(es->progname, msg ? msg : "(non-string error)");
         lua_pop(es->luastate, 1);
      }
    return status;