mirror of
https://github.com/NikitaIvanovV/ctpv.git
synced 2025-06-20 18:08:02 +02:00
Minor
This commit is contained in:
parent
82a82e4a61
commit
6a5fb93850
5
ctpv.c
5
ctpv.c
@ -5,7 +5,6 @@
|
|||||||
#include <magic.h>
|
#include <magic.h>
|
||||||
|
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "utils.h"
|
|
||||||
#include "previews.h"
|
#include "previews.h"
|
||||||
|
|
||||||
#define ANY_TYPE "*"
|
#define ANY_TYPE "*"
|
||||||
@ -104,8 +103,8 @@ static int preview(int argc, char *argv[])
|
|||||||
|
|
||||||
init_previews_v();
|
init_previews_v();
|
||||||
|
|
||||||
const char *mimetype = get_mimetype(f);
|
const char *mimetype;
|
||||||
ERRCHK_RET(!mimetype);
|
ERRCHK_RET(!(mimetype = get_mimetype(f)));
|
||||||
|
|
||||||
PreviewArgs args = { .f = f, .w = w, .h = h, .x = x, .y = y };
|
PreviewArgs args = { .f = f, .w = w, .h = h, .x = x, .y = y };
|
||||||
|
|
||||||
|
36
preview.c
36
preview.c
@ -11,8 +11,10 @@
|
|||||||
|
|
||||||
static char shell[] = "sh";
|
static char shell[] = "sh";
|
||||||
|
|
||||||
static Preview **prevs;
|
static struct {
|
||||||
static size_t prevs_len;
|
size_t len;
|
||||||
|
Preview **list;
|
||||||
|
} previews;
|
||||||
|
|
||||||
static int cmp_previews(const void *p1, const void *p2)
|
static int cmp_previews(const void *p1, const void *p2)
|
||||||
{
|
{
|
||||||
@ -38,28 +40,28 @@ static int cmp_previews(const void *p1, const void *p2)
|
|||||||
|
|
||||||
void init_previews(Preview *ps, size_t len)
|
void init_previews(Preview *ps, size_t len)
|
||||||
{
|
{
|
||||||
prevs_len = len;
|
previews.len = len;
|
||||||
|
|
||||||
prevs = malloc(len * PREVP_SIZE);
|
previews.list = malloc(len * PREVP_SIZE);
|
||||||
if (!prevs) {
|
if (!previews.list) {
|
||||||
PRINTINTERR(FUNCFAILED("malloc"), ERRNOS);
|
PRINTINTERR(FUNCFAILED("malloc"), ERRNOS);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t i = 0; i < len; i++)
|
for (size_t i = 0; i < len; i++)
|
||||||
prevs[i] = &ps[i];
|
previews.list[i] = &ps[i];
|
||||||
|
|
||||||
qsort(prevs, len, PREVP_SIZE, cmp_previews);
|
qsort(previews.list, previews.len, PREVP_SIZE, cmp_previews);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cleanup_previews(void)
|
void cleanup_previews(void)
|
||||||
{
|
{
|
||||||
if (prevs) {
|
if (!previews.list)
|
||||||
free(prevs);
|
return;
|
||||||
prevs = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
prevs_len = 0;
|
free(previews.list);
|
||||||
|
previews.list = NULL;
|
||||||
|
previews.len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void break_mimetype(char *mimetype, char **type, char **subtype)
|
static void break_mimetype(char *mimetype, char **type, char **subtype)
|
||||||
@ -87,8 +89,8 @@ static Preview *find_preview(char const *mimetype, char const *ext, size_t *i)
|
|||||||
strncpy(mimetype_c, mimetype, MIMETYPE_MAX - 1);
|
strncpy(mimetype_c, mimetype, MIMETYPE_MAX - 1);
|
||||||
break_mimetype(mimetype_c, &t, &s);
|
break_mimetype(mimetype_c, &t, &s);
|
||||||
|
|
||||||
for (; *i < prevs_len; (*i)++) {
|
for (; *i < previews.len; (*i)++) {
|
||||||
p = prevs[*i];
|
p = previews.list[*i];
|
||||||
|
|
||||||
if (p->ext && strcmpnull(p->ext, ext) != 0)
|
if (p->ext && strcmpnull(p->ext, ext) != 0)
|
||||||
continue;
|
continue;
|
||||||
@ -107,7 +109,7 @@ static Preview *find_preview(char const *mimetype, char const *ext, size_t *i)
|
|||||||
|
|
||||||
static void check_init_previews(void)
|
static void check_init_previews(void)
|
||||||
{
|
{
|
||||||
if (!prevs) {
|
if (!previews.list) {
|
||||||
PRINTINTERR("init_previews() not called");
|
PRINTINTERR("init_previews() not called");
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
@ -189,6 +191,6 @@ run:
|
|||||||
Preview **get_previews_list(size_t *len)
|
Preview **get_previews_list(size_t *len)
|
||||||
{
|
{
|
||||||
check_init_previews();
|
check_init_previews();
|
||||||
*len = prevs_len;
|
*len = previews.len;
|
||||||
return prevs;
|
return previews.list;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user