From 93fe6db37638d63124435936cb81b9093d838daa Mon Sep 17 00:00:00 2001 From: nick black Date: Sat, 24 Jul 2021 21:31:15 -0400 Subject: [PATCH] check for support in ncdirect_on_styles() --- src/lib/direct.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/lib/direct.c b/src/lib/direct.c index 486e8cd38..d29dfcafc 100644 --- a/src/lib/direct.c +++ b/src/lib/direct.c @@ -959,11 +959,14 @@ int ncdirect_styles_on(ncdirect* n, unsigned stylebits){ } int ncdirect_on_styles(ncdirect* n, unsigned stylebits){ + if((stylebits & n->tcache.supported_styles) < stylebits){ // unsupported styles + return -1; + } uint32_t stylemask = n->stylemask | stylebits; - if(ncdirect_style_emit(n, stylemask, n->ttyfp) == 0){ - return 0; + if(ncdirect_style_emit(n, stylemask, n->ttyfp)){ + return -1; } - return -1; + return 0; } int ncdirect_styles_off(ncdirect* n, unsigned stylebits){ @@ -977,10 +980,10 @@ unsigned ncdirect_styles(ncdirect* n){ // turn off any specified stylebits int ncdirect_off_styles(ncdirect* n, unsigned stylebits){ uint32_t stylemask = n->stylemask & ~stylebits; - if(ncdirect_style_emit(n, stylemask, n->ttyfp) == 0){ - return 0; + if(ncdirect_style_emit(n, stylemask, n->ttyfp)){ + return -1; } - return -1; + return 0; } int ncdirect_styles_set(ncdirect* n, unsigned stylebits){