MCPcopy Create free account
hub / github.com/AOMediaCodec/libavif / avifReadEntireFile

Function avifReadEntireFile

apps/shared/avifutil.c:360–388  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

358}
359
360avifBool avifReadEntireFile(const char * filename, avifRWData * raw)
361{
362 FILE * f = fopen(filename, "rb");
363 if (!f) {
364 return AVIF_FALSE;
365 }
366
367 fseek(f, 0, SEEK_END);
368 long pos = ftell(f);
369 if (pos <= 0) {
370 fclose(f);
371 return AVIF_FALSE;
372 }
373 size_t fileSize = (size_t)pos;
374 fseek(f, 0, SEEK_SET);
375
376 if (avifRWDataRealloc(raw, fileSize) != AVIF_RESULT_OK) {
377 fclose(f);
378 return AVIF_FALSE;
379 }
380 size_t bytesRead = fread(raw->data, 1, fileSize, f);
381 fclose(f);
382
383 if (bytesRead != fileSize) {
384 avifRWDataFree(raw);
385 return AVIF_FALSE;
386 }
387 return AVIF_TRUE;
388}
389
390void avifImageFixXMP(avifImage * image)
391{

Callers 2

mainFunction · 0.85
mainFunction · 0.85

Calls 2

avifRWDataReallocFunction · 0.85
avifRWDataFreeFunction · 0.85

Tested by

no test coverage detected