]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - play.c
Merge topic branch t/ls-l into pu
[paraslash.git] / play.c
diff --git a/play.c b/play.c
index 4024c8ea4fa5468ff81059f89e732df29dd5fbbf..e2ee5fe3a75578a582a8ecd08baa207b1ad8131d 100644 (file)
--- a/play.c
+++ b/play.c
@@ -948,7 +948,7 @@ static int com_ff(struct lls_parse_result *lpr)
        seconds += (get_play_time() + 500) / 1000;
        seconds = PARA_MIN(seconds, (typeof(seconds))pt->seconds - 4);
        seconds = PARA_MAX(seconds, 0);
-       pt->start_chunk = pt->num_chunks * seconds / pt->seconds;
+       pt->start_chunk = (uint64_t)pt->num_chunks * seconds / pt->seconds;
        pt->start_chunk = PARA_MIN(pt->start_chunk, pt->num_chunks - 1);
        pt->start_chunk = PARA_MAX(pt->start_chunk, 0UL);
        if (!pt->playing)
@@ -1044,17 +1044,14 @@ static void session_open(void)
        if (OPT_GIVEN(HISTORY_FILE))
                history_file = para_strdup(OPT_STRING_VAL(HISTORY_FILE));
        else {
-               char *home = para_homedir();
-               char *dot_para = make_message("%s/.paraslash", home);
+               const char *confdir = get_confdir();
 
-               free(home);
-               ret = para_mkdir(dot_para, 0777);
+               ret = para_mkdir(confdir);
                /* warn, but otherwise ignore mkdir error */
-               if (ret < 0 && ret != -ERRNO_TO_PARA_ERROR(EEXIST))
-                       PARA_WARNING_LOG("Can not create %s: %s\n", dot_para,
+               if (ret < 0)
+                       PARA_WARNING_LOG("Can not create %s: %s\n", confdir,
                                para_strerror(-ret));
-               history_file = make_message("%s/play.history", dot_para);
-               free(dot_para);
+               history_file = make_message("%s/play.history", confdir);
        }
        ici.history_file = history_file;
        ici.loglevel = loglevel;