Cleanup related to avifDiagnosticsClearError() 1. Have avifCropRectConvertCleanApertureBox() and avifCleanApertureBoxConvertCropRect() call avifDiagnosticsClearError() on entry. 2. avifDiagnosticsClearError() just needs to set the first character of the diag->error buffer to '\0' rather than memset the entire buffer.
diff --git a/src/avif.c b/src/avif.c index bc238f2..0fa17aa 100644 --- a/src/avif.c +++ b/src/avif.c
@@ -543,6 +543,8 @@ avifPixelFormat yuvFormat, avifDiagnostics * diag) { + avifDiagnosticsClearError(diag); + // ISO/IEC 14496-12:2020, Section 12.1.4.1: // For horizOff and vertOff, D shall be strictly positive and N may be // positive or negative. For cleanApertureWidth and cleanApertureHeight, @@ -646,6 +648,8 @@ avifPixelFormat yuvFormat, avifDiagnostics * diag) { + avifDiagnosticsClearError(diag); + if (!avifCropRectIsValid(cropRect, imageW, imageH, yuvFormat, diag)) { return AVIF_FALSE; }
diff --git a/src/diag.c b/src/diag.c index 49c1ac8..d97be9b 100644 --- a/src/diag.c +++ b/src/diag.c
@@ -9,7 +9,7 @@ void avifDiagnosticsClearError(avifDiagnostics * diag) { - memset(diag->error, 0, AVIF_DIAGNOSTICS_ERROR_BUFFER_SIZE); + *diag->error = '\0'; } #ifdef __clang__