0
0
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:
Witold Filipczyk 2025-01-29 11:44:55 +01:00
parent 1562a1393f
commit c98f6c3033
3 changed files with 6 additions and 7 deletions

View File

@ -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;
}
}

View File

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

View File

@ -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