From cbf3279457b072b3bb2bb7d281bfcf5665816c75 Mon Sep 17 00:00:00 2001 From: "Leandro A. F. Pereira" Date: Sat, 7 Mar 2009 10:40:05 -0300 Subject: Also cache g_find_program_in_path() results in find_program() --- hardinfo2/util.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hardinfo2/util.c b/hardinfo2/util.c index d4ae0971..6cbc0328 100644 --- a/hardinfo2/util.c +++ b/hardinfo2/util.c @@ -73,8 +73,13 @@ gchar *find_program(gchar *program_name) g_free(temp); } - /* search has failed; use GLib's search (which uses $PATH env var) */ - return g_find_program_in_path(program_name); + /* our search has failed; use GLib's search (which uses $PATH env var) */ + if ((temp = g_find_program_in_path(program_name)) { + g_hash_table_insert(cache, program_name, g_strdup(temp)); + return temp; + } + + return NULL; } gchar *seconds_to_string(unsigned int seconds) -- cgit v1.2.3