Fix osl() wrapper.
[paraslash.git] / afs.c
diff --git a/afs.c b/afs.c
index fd705b1fa824013c702df97eefdce420bb02022f..6cbc744d71c2c65fea67968ff8f37fd40d530c1f 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -8,6 +8,7 @@
 
 #include <signal.h>
 #include <fnmatch.h>
+#include <osl.h>
 #include "server.cmdline.h"
 #include "para.h"
 #include "error.h"
@@ -85,7 +86,6 @@ static struct signal_task signal_task_struct;
 static enum play_mode current_play_mode;
 static char *current_mop; /* mode or playlist specifier. NULL means dummy mooe */
 
-
 /**
  * A random number used to "authenticate" the connection.
  *
@@ -342,7 +342,7 @@ static int action_if_pattern_matches(struct osl_row *row, void *data)
        struct pattern_match_data *pmd = data;
        struct osl_object name_obj;
        const char *p, *name;
-       int ret = osl_get_object(pmd->table, row, pmd->match_col_num, &name_obj);
+       int ret = osl(osl_get_object(pmd->table, row, pmd->match_col_num, &name_obj));
        const char *pattern_txt = (const char *)pmd->patterns.data;
 
        if (ret < 0)
@@ -369,16 +369,15 @@ static int action_if_pattern_matches(struct osl_row *row, void *data)
  *
  * \param pmd Describes what to match and how.
  *
- * \return The return value of the underlying call to osl_rbtree_loop()
- * or osl_rbtree_loop_reverse().
+ * \return Standard.
  */
 int for_each_matching_row(struct pattern_match_data *pmd)
 {
        if (pmd->pm_flags & PM_REVERSE_LOOP)
-               return osl_rbtree_loop_reverse(pmd->table, pmd->loop_col_num, pmd,
-                       action_if_pattern_matches);
-       return osl_rbtree_loop(pmd->table, pmd->loop_col_num, pmd,
-                       action_if_pattern_matches);
+               return osl(osl_rbtree_loop_reverse(pmd->table, pmd->loop_col_num, pmd,
+                       action_if_pattern_matches));
+       return osl(osl_rbtree_loop(pmd->table, pmd->loop_col_num, pmd,
+                       action_if_pattern_matches));
 }
 
 /**
@@ -730,7 +729,7 @@ static void get_database_dir(void)
                else {
                        char *home = para_homedir();
                        database_dir = make_message(
-                               "%s/.paraslash/afs_database", home);
+                               "%s/.paraslash/afs_database-0.4", home);
                        free(home);
                }
        }
@@ -776,7 +775,7 @@ static void signal_pre_select(struct sched *s, struct task *t)
        para_fd_set(st->fd, &s->rfds, &s->max_fileno);
 }
 
-static void signal_post_select(struct sched *s, struct task *t)
+static void afs_signal_post_select(struct sched *s, struct task *t)
 {
        struct signal_task *st = container_of(t, struct signal_task, task);
        if (getppid() == 1) {
@@ -805,14 +804,7 @@ static void register_signal_task(void)
 {
        struct signal_task *st = &signal_task_struct;
 
-       if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
-               PARA_EMERG_LOG("failed to ignore SIGPIPE\n");
-               exit(EXIT_FAILURE);
-       }
-       if (signal(SIGUSR1, SIG_IGN) == SIG_ERR) {
-               PARA_EMERG_LOG("failed to ignore SIGUSR1\n");
-               exit(EXIT_FAILURE);
-       }
+       para_sigaction(SIGPIPE, SIG_IGN);
        st->fd = para_signal_init();
        PARA_INFO_LOG("signal pipe: fd %d\n", st->fd);
        para_install_sighandler(SIGINT);
@@ -820,7 +812,7 @@ static void register_signal_task(void)
        para_install_sighandler(SIGHUP);
 
        st->task.pre_select = signal_pre_select;
-       st->task.post_select = signal_post_select;
+       st->task.post_select = afs_signal_post_select;
        sprintf(st->task.status, "signal task");
        register_task(&st->task);
 }