mirror of
https://github.com/rkd77/elinks.git
synced 2025-06-30 22:19:29 -04:00
[sixel] Length is known. strlen not needed
This commit is contained in:
parent
1562a1393f
commit
c98f6c3033
@ -258,7 +258,7 @@ html_img_sixel(struct html_context *html_context, char *a,
|
||||
struct fragment *fragment = get_cache_fragment(cached);
|
||||
|
||||
if (fragment) {
|
||||
data = el_sixel_get_image(fragment->data, fragment->length);
|
||||
data = el_sixel_get_image(fragment->data, fragment->length, &datalen);
|
||||
}
|
||||
}
|
||||
if (!data) {
|
||||
@ -269,9 +269,7 @@ html_img_sixel(struct html_context *html_context, char *a,
|
||||
mem_free(url2);
|
||||
}
|
||||
mem_free(url);
|
||||
if (data) {
|
||||
datalen = strlen(data);
|
||||
} else {
|
||||
if (!data) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1042,11 +1042,12 @@ end:
|
||||
}
|
||||
|
||||
unsigned char *
|
||||
el_sixel_get_image(char *data, int length)
|
||||
el_sixel_get_image(char *data, int length, int *outlen)
|
||||
{
|
||||
SIXELSTATUS status = SIXEL_FALSE;
|
||||
sixel_encoder_t *encoder = NULL;
|
||||
unsigned char *ret = NULL;
|
||||
*outlen = 0;
|
||||
|
||||
#ifdef HAVE_MEMFD_CREATE
|
||||
status = sixel_encoder_new(&encoder, NULL);
|
||||
@ -1091,7 +1092,7 @@ el_sixel_get_image(char *data, int length)
|
||||
FILE *f2 = fdopen(fdout, "rb");
|
||||
if (f2) {
|
||||
rewind(f2);
|
||||
fread(ret, 1, (size_t)sb.st_size, f2);
|
||||
*outlen = (int)fread(ret, 1, (size_t)sb.st_size, f2);
|
||||
fclose(f2);
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ int add_image_to_document(struct document *doc, struct string *pixels, int linen
|
||||
|
||||
struct image *copy_frame(struct image *src, struct el_box *box, int cell_width, int cell_height, int dx, int dy);
|
||||
|
||||
unsigned char *el_sixel_get_image(char *data, int len);
|
||||
unsigned char *el_sixel_get_image(char *data, int len, int *outlen);
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user