From 232dbc756390d30a86ae6de0cc84600eddb1c0b2 Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Wed, 6 Jul 2005 15:42:04 +0000 Subject: Recode FS Fixes --- src/opt.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'src/opt.c') diff --git a/src/opt.c b/src/opt.c index 82e1be1..040bea4 100644 --- a/src/opt.c +++ b/src/opt.c @@ -4,19 +4,31 @@ #include "opt.h" rcc_option_value rccGetOption(rcc_context ctx, rcc_option option) { - if ((!ctx)||(option<0)||(option>=RCC_MAX_OPTIONS)) return -1; + if (!ctx) { + if (rcc_default_ctx) ctx = rcc_default_ctx; + else return (rcc_option_value)0; + } + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return 0; return ctx->options[option]; } int rccOptionIsDefault(rcc_context ctx, rcc_option option) { - if ((!ctx)||(option<0)||(option>=RCC_MAX_OPTIONS)) return -1; + if (!ctx) { + if (rcc_default_ctx) ctx = rcc_default_ctx; + else return -1; + } + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return -1; return ctx->default_options[option]; } int rccSetOption(rcc_context ctx, rcc_option option, rcc_option_value value) { - if ((!ctx)||(option>=RCC_MAX_OPTIONS)) return -1; + if (!ctx) { + if (rcc_default_ctx) ctx = rcc_default_ctx; + else return -1; + } + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return -1; ctx->default_options[option] = 0; @@ -30,7 +42,12 @@ int rccSetOption(rcc_context ctx, rcc_option option, rcc_option_value value) { int rccOptionSetDefault(rcc_context ctx, rcc_option option) { rcc_option_value value; - if ((!ctx)||(option>=RCC_MAX_OPTIONS)) return -1; + + if (!ctx) { + if (rcc_default_ctx) ctx = rcc_default_ctx; + else return -1; + } + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return -1; ctx->default_options[option] = 1; value = rccGetOptionDefaultValue(option); -- cgit v1.2.3