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)
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;