summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOneric <oneric@oneric.stub>2023-07-26 13:01:45 +0200
committerOneric <oneric@oneric.stub>2023-10-08 13:54:42 +0200
commit60130c60030e4199c97da4076734b12f9ed8b833 (patch)
treeab540c19f3b4186a4d27129f92a39d8c309b8b5f
parent5c15c883a4783641f7e71a6a1f440209965eb64f (diff)
downloadlibass-60130c60030e4199c97da4076734b12f9ed8b833.tar.bz2
libass-60130c60030e4199c97da4076734b12f9ed8b833.tar.xz
fuzz: add quiet flag for standalone mode
-rw-r--r--fuzz/fuzz.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/fuzz/fuzz.c b/fuzz/fuzz.c
index a6f7323..e2b54b0 100644
--- a/fuzz/fuzz.c
+++ b/fuzz/fuzz.c
@@ -41,6 +41,7 @@
ASS_Library *ass_library = NULL;
ASS_Renderer *ass_renderer = NULL;
+bool quiet = false;
uint8_t hval = 0;
@@ -60,7 +61,7 @@ static inline void hash(const void *buf, size_t len)
void msg_callback(int level, const char *fmt, va_list va, void *data)
{
#if ASS_FUZZMODE == FUZZMODE_STANDALONE
- if (level > 6) return;
+ if (level > 6 || quiet) return;
printf("libass: ");
vprintf(fmt, va);
printf("\n");
@@ -205,19 +206,26 @@ int main(int argc, char *argv[])
ASS_Track *track = NULL;
int retval = FUZZ_OK;
- if (argc != 2) {
- printf("usage: %s <subtitle file>\n", argc ? argv[0] : "fuzz");
+ if (argc < 2 || argc > 3 ||
+ (argc == 3 && strcmp(argv[1], "-q")) ) {
+ printf("usage: %s [-q] <subtitle file>\n", argc ? argv[0] : "fuzz");
return FUZZ_BAD_USAGE;
}
+ size_t fileidx = 1;
+ if (argc == 3) {
+ quiet = true;
+ fileidx = 2;
+ }
+
if (!init()) {
printf("library init failed!\n");
retval = FUZZ_INIT_ERR;
goto cleanup;
}
- if (strcmp(argv[1], "-"))
- track = ass_read_file(ass_library, argv[1], NULL);
+ if (strcmp(argv[fileidx], "-"))
+ track = ass_read_file(ass_library, argv[fileidx], NULL);
else
track = read_track_from_stdin();