diff --git a/src/conky.c b/src/conky.c index de97dacd..384781a8 100644 --- a/src/conky.c +++ b/src/conky.c @@ -1278,42 +1278,20 @@ void generate_text_internal(char *p, int p_max_size, #endif #ifdef HAVE_LUA OBJ(lua) { - char *str = llua_getstring(obj->data.s); - if (str) { - snprintf(p, p_max_size, "%s", str); - free(str); - } + print_lua(obj, p, p_max_size); } OBJ(lua_parse) { - char *str = llua_getstring(obj->data.s); - if (str) { - evaluate(str, p, p_max_size); - free(str); - } + print_lua_parse(obj, p, p_max_size); } OBJ(lua_bar) { - double per; - if (llua_getnumber(obj->data.s, &per)) { -#ifdef X11 - if(output_methods & TO_X) { - new_bar(obj, p, (per/100.0 * 255)); - } else -#endif /* X11 */ - new_bar_in_shell(obj, p, p_max_size, per); - } + print_lua_bar(obj, p, p_max_size); } #ifdef X11 OBJ(lua_graph) { - double per; - if (llua_getnumber(obj->data.s, &per)) { - new_graph(obj, p, per); - } + print_lua_graph(obj, p, p_max_size); } OBJ(lua_gauge) { - double per; - if (llua_getnumber(obj->data.s, &per)) { - new_gauge(obj, p, (per/100.0 * 255)); - } + print_lua_gauge(obj, p, p_max_size); } #endif /* X11 */ #endif /* HAVE_LUA */ diff --git a/src/llua.c b/src/llua.c index c3ca99ee..26250631 100644 --- a/src/llua.c +++ b/src/llua.c @@ -158,7 +158,7 @@ void llua_load(const char *script) string: [par1] [par2...] retc: the number of return values expected */ -char *llua_do_call(const char *string, int retc) +static char *llua_do_call(const char *string, int retc) { static char func[64]; int argc = 0; @@ -201,10 +201,11 @@ char *llua_do_call(const char *string, int retc) return func; } +#if 0 /* * same as llua_do_call() except passes everything after func as one arg. */ -char *llua_do_read_call(const char *function, const char *arg, int retc) +static char *llua_do_read_call(const char *function, const char *arg, int retc) { static char func[64]; snprintf(func, 64, "conky_%s", function); @@ -223,8 +224,10 @@ char *llua_do_read_call(const char *function, const char *arg, int retc) return func; } +#endif -char *llua_getstring(const char *args) +/* call a function with args, and return a string from it (must be free'd) */ +static char *llua_getstring(const char *args) { char *func; char *ret = NULL; @@ -244,7 +247,9 @@ char *llua_getstring(const char *args) return ret; } -char *llua_getstring_read(const char *function, const char *arg) +#if 0 +/* call a function with args, and return a string from it (must be free'd) */ +static char *llua_getstring_read(const char *function, const char *arg) { char *func; char *ret = NULL; @@ -263,8 +268,10 @@ char *llua_getstring_read(const char *function, const char *arg) return ret; } +#endif -int llua_getnumber(const char *args, double *ret) +/* call a function with args, and put the result in ret */ +static int llua_getnumber(const char *args, double *ret) { char *func; @@ -521,3 +528,59 @@ void llua_update_info(struct information *i, double u_interval) lua_setglobal(lua_L, "conky_info"); } +void print_lua(struct text_object *obj, char *p, int p_max_size) +{ + char *str = llua_getstring(obj->data.s); + if (str) { + snprintf(p, p_max_size, "%s", str); + free(str); + } +} + +void print_lua_parse(struct text_object *obj, char *p, int p_max_size) +{ + char *str = llua_getstring(obj->data.s); + if (str) { + evaluate(str, p, p_max_size); + free(str); + } +} + +void print_lua_bar(struct text_object *obj, char *p, int p_max_size) +{ + double per; + if (llua_getnumber(obj->data.s, &per)) { +#ifdef X11 + if(output_methods & TO_X) { + new_bar(obj, p, (per/100.0 * 255)); + } else +#endif /* X11 */ + new_bar_in_shell(obj, p, p_max_size, per); + } +} + +#ifdef X11 +void print_lua_graph(struct text_object *obj, char *p, int p_max_size) +{ + double per; + + if (!p_max_size) + return; + + if (llua_getnumber(obj->data.s, &per)) { + new_graph(obj, p, per); + } +} + +void print_lua_gauge(struct text_object *obj, char *p, int p_max_size) +{ + double per; + + if (!p_max_size) + return; + + if (llua_getnumber(obj->data.s, &per)) { + new_gauge(obj, p, (per/100.0 * 255)); + } +} +#endif /* X11 */ diff --git a/src/llua.h b/src/llua.h index 1c0c52ba..4a10a1b2 100644 --- a/src/llua.h +++ b/src/llua.h @@ -38,12 +38,6 @@ /* load a lua script */ void llua_load(const char *script); -/* call a function with args, and return a string from it (must be free'd) */ -char *llua_getstring(const char *args); -/* call a function with args, and return a string from it (must be free'd) */ -char *llua_getstring_read(const char *function, const char *arg); -/* call a function with args, and put the result in ret */ -int llua_getnumber(const char *args, double *ret); /* close lua stuff */ void llua_close(void); #ifdef HAVE_SYS_INOTIFY_H @@ -71,4 +65,12 @@ void llua_update_window_table(int text_start_x, int text_start_y, int text_width void llua_setup_info(struct information *i, double u_interval); void llua_update_info(struct information *i, double u_interval); +void print_lua(struct text_object *, char *, int); +void print_lua_parse(struct text_object *, char *, int); +void print_lua_bar(struct text_object *, char *, int); +#ifdef X11 +void print_lua_graph(struct text_object *, char *, int); +void print_lua_gauge(struct text_object *, char *, int); +#endif /* X11 */ + #endif /* LUA_H_*/