Index: contrib/ntp/sntp/libopts/autoopts.c =================================================================== --- contrib/ntp/sntp/libopts/autoopts.c +++ contrib/ntp/sntp/libopts/autoopts.c @@ -387,6 +387,28 @@ return (int)opts->curOptIdx; } +/* what: function to suppress warning for certain print statements at build + * time for various applications in the libopts + * + * arg: the const char* input for the function to return the data from + * return: the const char* data extcacted from the const char* input + * + * doc: this function is created with a purpose to fix or suppress warnings + * at buildtime for the following applications in the libopts folder: + * enum.c ; find.c ; makeshell.c ; nested.c ; pgusage.c ; putshell.c + * save.c ; usage.c + * The specific warning was consistent throughout the applications: + * "warning: format string contains '\0' within the string body [-Wformat]" + * This warning is caused by the design of the message system for the + * libopts applications when printing using a certain format string that + * utilizes one char array separating each format with the null character + * '\0'. However when building, the compiler throws a warning. So in order + * to suppress the warning, the function takes the long string of formats + * at a certain offset, then returns the same input thereby interpreting + * the string up to the null character, and normalizing the format string. + */ +static const char* getWformatFree(const char* in) {return in;} + /** @} * * Local Variables: Index: contrib/ntp/sntp/libopts/enum.c =================================================================== --- contrib/ntp/sntp/libopts/enum.c +++ contrib/ntp/sntp/libopts/enum.c @@ -109,7 +109,7 @@ */ if (max_len > 35) { do { - fprintf(option_usage_fp, ENUM_ERR_LINE, *(paz_names++)); + fprintf(option_usage_fp, getWformatFree(ENUM_ERR_LINE), *(paz_names++)); } while (--ct_down > 0); } @@ -132,7 +132,7 @@ unsigned int ent_no = 0; char zFmt[16]; /* format for all-but-last entries on a line */ - sprintf(zFmt, ENUM_ERR_WIDTH, (int)max_len); + sprintf(zFmt, getWformatFree(ENUM_ERR_WIDTH), (int)max_len); max_len = 78 / max_len; /* max_len is now max entries on a line */ fputs(TWO_SPACES_STR, option_usage_fp); @@ -145,14 +145,14 @@ /* * Last entry on a line. Start next line, too. */ - fprintf(option_usage_fp, NLSTR_SPACE_FMT, *(paz_names++)); + fprintf(option_usage_fp, getWformatFree(NLSTR_SPACE_FMT), *(paz_names++)); ent_no = 0; } else fprintf(option_usage_fp, zFmt, *(paz_names++) ); } - fprintf(option_usage_fp, NLSTR_FMT, *paz_names); + fprintf(option_usage_fp, getWformatFree(NLSTR_FMT), *paz_names); } if (pOpts > OPTPROC_EMIT_LIMIT) { @@ -304,7 +304,7 @@ * print the name string. */ if (ix >= name_ct) - printf(INVALID_FMT, ix); + printf(getWformatFree(INVALID_FMT), ix); else fputs(paz_names[ ix ], stdout); Index: contrib/ntp/sntp/libopts/find.c =================================================================== --- contrib/ntp/sntp/libopts/find.c +++ contrib/ntp/sntp/libopts/find.c @@ -111,12 +111,12 @@ continue; /* doc option */ if (strneqvcmp(name, pOD->pz_Name, nm_len) == 0) - fprintf(stderr, zambig_file, hyph, pOD->pz_Name); + fprintf(stderr, getWformatFree(zambig_file), hyph, pOD->pz_Name); else if ( (pOD->pz_DisableName != NULL) && (strneqvcmp(name, pOD->pz_DisableName, nm_len) == 0) ) - fprintf(stderr, zambig_file, hyph, pOD->pz_DisableName); + fprintf(stderr, getWformatFree(zambig_file), hyph, pOD->pz_DisableName); } while (pOD++, (++idx < opts->optCt)); } @@ -216,7 +216,7 @@ fprintf(stderr, zDisabledErr, opts->pzProgName, pOD->pz_Name); if (pOD->pzText != NULL) - fprintf(stderr, SET_OFF_FMT, pOD->pzText); + fprintf(stderr, getWformatFree(SET_OFF_FMT), pOD->pzText); fputc(NL, stderr); (*opts->pUsageProc)(opts, EXIT_FAILURE); /* NOTREACHED */ @@ -429,7 +429,7 @@ fprintf(stderr, zDisabledErr, pOpts->pzProgPath, pRes->pz_Name); if (pRes->pzText != NULL) - fprintf(stderr, SET_OFF_FMT, pRes->pzText); + fprintf(stderr, getWformatFree(SET_OFF_FMT), pRes->pzText); fputc(NL, stderr); (*pOpts->pUsageProc)(pOpts, EXIT_FAILURE); /* NOTREACHED */ Index: contrib/ntp/sntp/libopts/makeshell.c =================================================================== --- contrib/ntp/sntp/libopts/makeshell.c +++ contrib/ntp/sntp/libopts/makeshell.c @@ -149,7 +149,7 @@ fputs(LONG_OPT_MARK, stdout); fputs(INIT_LOPT_STR, stdout); emit_long(opts); - printf(LOPT_ARG_FMT, opts->pzPROGNAME); + printf(getWformatFree(LOPT_ARG_FMT), opts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(NOT_FOUND_STR, stdout); @@ -159,7 +159,7 @@ fputs(ONLY_OPTS_LOOP, stdout); fputs(INIT_LOPT_STR, stdout); emit_long(opts); - printf(LOPT_ARG_FMT, opts->pzPROGNAME); + printf(getWformatFree(LOPT_ARG_FMT), opts->pzPROGNAME); break; case OPTPROC_SHORTOPT: @@ -168,7 +168,7 @@ fputs(FLAG_OPT_MARK, stdout); fputs(INIT_OPT_STR, stdout); emit_flag(opts); - printf(OPT_ARG_FMT, opts->pzPROGNAME); + printf(getWformatFree(OPT_ARG_FMT), opts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(NOT_FOUND_STR, stdout); @@ -180,13 +180,13 @@ fputs(LONG_OPT_MARK, stdout); fputs(INIT_LOPT_STR, stdout); emit_long(opts); - printf(LOPT_ARG_FMT, opts->pzPROGNAME); + printf(getWformatFree(LOPT_ARG_FMT), opts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(FLAG_OPT_MARK, stdout); fputs(INIT_OPT_STR, stdout); emit_flag(opts); - printf(OPT_ARG_FMT, opts->pzPROGNAME); + printf(getWformatFree(OPT_ARG_FMT), opts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(NOT_FOUND_STR, stdout); @@ -197,7 +197,7 @@ if ((script_trailer != NULL) && (*script_trailer != NUL)) fputs(script_trailer, stdout); else if (ENABLED_GENSHELL_OPT(SHELL)) - printf(SHOW_PROG_ENV, opts->pzPROGNAME); + printf(getWformatFree(SHOW_PROG_ENV), opts->pzPROGNAME); #ifdef HAVE_FCHMOD fchmod(STDOUT_FILENO, 0755); @@ -232,7 +232,7 @@ FILE * fp = fdopen(fdin, "r" FOPEN_BINARY_FLAG); int nlct = 0; /* defer newlines and skip trailing ones */ - printf(SET_TEXT_FMT, prog, var); + printf(getWformatFree(SET_TEXT_FMT), prog, var); if (fp == NULL) goto skip_text; @@ -383,12 +383,12 @@ else out_nm = STDOUT; if ((script_leader == NULL) && (shell_prog != NULL)) - printf(SHELL_MAGIC, shell_prog); + printf(getWformatFree(SHELL_MAGIC), shell_prog); - printf(PREAMBLE_FMT, START_MARK, out_nm, tm_nm_buf); + printf(getWformatFree(PREAMBLE_FMT), START_MARK, out_nm, tm_nm_buf); } - printf(END_PRE_FMT, opts->pzPROGNAME); + printf(getWformatFree(END_PRE_FMT), opts->pzPROGNAME); /* * Get a copy of the original program name in lower case and @@ -438,7 +438,7 @@ int opt_ct = opts->presetOptCt; char const * fmt; - printf(FINISH_LOOP, opts->pzPROGNAME); + printf(getWformatFree(FINISH_LOOP), opts->pzPROGNAME); for (;opt_ct > 0; od++, --opt_ct) { /* * Options that are either usage documentation or are compiled out @@ -534,47 +534,47 @@ emit_action(tOptions * opts, tOptDesc * od) { if (od->pOptProc == optionPrintVersion) - printf(ECHO_N_EXIT, opts->pzPROGNAME, VER_STR); + printf(getWformatFree(ECHO_N_EXIT), opts->pzPROGNAME, VER_STR); else if (od->pOptProc == optionPagedUsage) - printf(PAGE_USAGE_TEXT, opts->pzPROGNAME); + printf(getWformatFree(PAGE_USAGE_TEXT), opts->pzPROGNAME); else if (od->pOptProc == optionLoadOpt) { - printf(LVL3_CMD, NO_LOAD_WARN); - printf(LVL3_CMD, YES_NEED_OPT_ARG); + printf(getWformatFree(LVL3_CMD), NO_LOAD_WARN); + printf(getWformatFree(LVL3_CMD), YES_NEED_OPT_ARG); } else if (od->pz_NAME == NULL) { if (od->pOptProc == NULL) { - printf(LVL3_CMD, NO_SAVE_OPTS); - printf(LVL3_CMD, OK_NEED_OPT_ARG); + printf(getWformatFree(LVL3_CMD), NO_SAVE_OPTS); + printf(getWformatFree(LVL3_CMD), OK_NEED_OPT_ARG); } else - printf(ECHO_N_EXIT, opts->pzPROGNAME, LONG_USE_STR); + printf(getWformatFree(ECHO_N_EXIT), opts->pzPROGNAME, LONG_USE_STR); } else { if (od->optMaxCt == 1) - printf(SGL_ARG_FMT, opts->pzPROGNAME, od->pz_NAME); + printf(getWformatFree(SGL_ARG_FMT), opts->pzPROGNAME, od->pz_NAME); else { if ((unsigned)od->optMaxCt < NOLIMIT) - printf(CHK_MAX_COUNT, opts->pzPROGNAME, + printf(getWformatFree(CHK_MAX_COUNT), opts->pzPROGNAME, od->pz_NAME, od->optMaxCt); - printf(MULTI_ARG_FMT, opts->pzPROGNAME, od->pz_NAME); + printf(getWformatFree(MULTI_ARG_FMT), opts->pzPROGNAME, od->pz_NAME); } /* * Fix up the args. */ if (OPTST_GET_ARGTYPE(od->fOptState) == OPARG_TYPE_NONE) { - printf(SET_MULTI_ARG, opts->pzPROGNAME, od->pz_NAME); - printf(LVL3_CMD, NO_ARG_NEEDED); + printf(getWformatFree(SET_MULTI_ARG), opts->pzPROGNAME, od->pz_NAME); + printf(getWformatFree(LVL3_CMD), NO_ARG_NEEDED); } else if (od->fOptState & OPTST_ARG_OPTIONAL) { - printf(SET_MULTI_ARG, opts->pzPROGNAME, od->pz_NAME); - printf(LVL3_CMD, OK_NEED_OPT_ARG); + printf(getWformatFree(SET_MULTI_ARG), opts->pzPROGNAME, od->pz_NAME); + printf(getWformatFree(LVL3_CMD), OK_NEED_OPT_ARG); } else { - printf(LVL3_CMD, YES_NEED_OPT_ARG); + printf(getWformatFree(LVL3_CMD), YES_NEED_OPT_ARG); } } fputs(zOptionEndSelect, stdout); @@ -584,16 +584,16 @@ emit_inaction(tOptions * opts, tOptDesc * od) { if (od->pOptProc == optionLoadOpt) { - printf(LVL3_CMD, NO_SUPPRESS_LOAD); + printf(getWformatFree(LVL3_CMD), NO_SUPPRESS_LOAD); } else if (od->optMaxCt == 1) - printf(NO_SGL_ARG_FMT, opts->pzPROGNAME, + printf(getWformatFree(NO_SGL_ARG_FMT), opts->pzPROGNAME, od->pz_NAME, od->pz_DisablePfx); else - printf(NO_MULTI_ARG_FMT, opts->pzPROGNAME, + printf(getWformatFree(NO_MULTI_ARG_FMT), opts->pzPROGNAME, od->pz_NAME, od->pz_DisablePfx); - printf(LVL3_CMD, NO_ARG_NEEDED); + printf(getWformatFree(LVL3_CMD), NO_ARG_NEEDED); fputs(zOptionEndSelect, stdout); } @@ -616,7 +616,7 @@ if (SKIP_OPT(od) || ! IS_GRAPHIC_CHAR(od->optValue)) continue; - printf(zOptionFlag, od->optValue); + printf(getWformatFree(zOptionFlag), od->optValue); emit_action(opts, od); } printf(UNK_OPT_FMT, FLAG_STR, opts->pzPROGNAME); @@ -691,7 +691,7 @@ for (;;) { *pz = NUL; - printf(zOptionPartName, name_bf); + printf(getWformatFree(zOptionPartName), name_bf); *pz++ = name[nm_ix++]; if (name[nm_ix] == NUL) { *pz = NUL; @@ -701,7 +701,7 @@ } leave: - printf(zOptionFullName, name); + printf(getWformatFree(zOptionFullName), name); } /** Index: contrib/ntp/sntp/libopts/nested.c =================================================================== --- contrib/ntp/sntp/libopts/nested.c +++ contrib/ntp/sntp/libopts/nested.c @@ -925,7 +925,7 @@ break; xlatp++; } - fprintf(fp, XML_HEX_BYTE_FMT, (ch & 0xFF)); + fprintf(fp, getWformatFree(XML_HEX_BYTE_FMT), (ch & 0xFF)); } /** @} Index: contrib/ntp/sntp/libopts/pgusage.c =================================================================== --- contrib/ntp/sntp/libopts/pgusage.c +++ contrib/ntp/sntp/libopts/pgusage.c @@ -46,7 +46,7 @@ tmpdir = tmp_dir; bfsz = TMP_FILE_FMT_LEN + strlen(tmpdir) + 10; bf = AGALOC(bfsz, "tmp fil"); - snprintf(bf, bfsz, TMP_FILE_FMT, tmpdir, my_pid); + snprintf(bf, bfsz, getWformatFree(TMP_FILE_FMT), tmpdir, my_pid); } { @@ -87,7 +87,7 @@ bfsz = 2 * strlen(fname) + strlen(pager) + PAGE_USAGE_FMT_LEN; res = AGALOC(bfsz, "more cmd"); - snprintf(res, bfsz, PAGE_USAGE_FMT, pager, fname); + snprintf(res, bfsz, getWformatFree(PAGE_USAGE_FMT), pager, fname); AGFREE(fname); return res; } Index: contrib/ntp/sntp/libopts/putshell.c =================================================================== --- contrib/ntp/sntp/libopts/putshell.c +++ contrib/ntp/sntp/libopts/putshell.c @@ -187,7 +187,7 @@ * sprintf is safe here, because we already computed * the amount of space we will be using. */ - sprintf(out, MK_STR_OCT_FMT, ch); + sprintf(out, getWformatFree(MK_STR_OCT_FMT), ch); out += 4; } @@ -274,18 +274,18 @@ print_enumeration(tOptions * pOpts, tOptDesc * pOD) { uintptr_t e_val = pOD->optArg.argEnum; - printf(OPT_VAL_FMT, pOpts->pzPROGNAME, pOD->pz_NAME); + printf(getWformatFree(OPT_VAL_FMT), pOpts->pzPROGNAME, pOD->pz_NAME); /* * Convert value to string, print that and restore numeric value. */ (*(pOD->pOptProc))(OPTPROC_RETURN_VALNAME, pOD); - printf(QUOT_ARG_FMT, pOD->optArg.argString); + printf(getWformatFree(QUOT_ARG_FMT), pOD->optArg.argString); if (pOD->fOptState & OPTST_ALLOC_ARG) AGFREE(pOD->optArg.argString); pOD->optArg.argEnum = e_val; - printf(OPT_END_FMT, pOpts->pzPROGNAME, pOD->pz_NAME); + printf(getWformatFree(OPT_END_FMT), pOpts->pzPROGNAME, pOD->pz_NAME); } static void @@ -294,7 +294,7 @@ char const * svstr = pOD->optArg.argString; char const * pz; uintptr_t val = 1; - printf(zOptNumFmt, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(zOptNumFmt), pOpts->pzPROGNAME, pOD->pz_NAME, (int)(uintptr_t)(pOD->optCookie)); pOD->optCookie = VOIDP(~0UL); (*(pOD->pOptProc))(OPTPROC_RETURN_VALNAME, pOD); @@ -312,7 +312,7 @@ else if (ch == NUL) { pz--; goto name_done; } else fputc('_', stdout); } name_done:; - printf(SHOW_VAL_FMT, (unsigned long)val); + printf(getWformatFree(SHOW_VAL_FMT), (unsigned long)val); val <<= 1; } @@ -327,13 +327,13 @@ char const ** ppz = pAL->apzArgs; int ct = pAL->useCt; - printf(zOptCookieCt, pOpts->pzPROGNAME, pOD->pz_NAME, ct); + printf(getWformatFree(zOptCookieCt), pOpts->pzPROGNAME, pOD->pz_NAME, ct); while (--ct >= 0) { - printf(ARG_BY_NUM_FMT, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(ARG_BY_NUM_FMT), pOpts->pzPROGNAME, pOD->pz_NAME, pAL->useCt - ct); print_quot_str(*(ppz++)); - printf(EXPORT_ARG_FMT, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(EXPORT_ARG_FMT), pOpts->pzPROGNAME, pOD->pz_NAME, pAL->useCt - ct); } } @@ -372,7 +372,7 @@ { int optIx = 0; - printf(zOptCtFmt, pOpts->curOptIdx-1); + printf(getWformatFree(zOptCtFmt), pOpts->curOptIdx-1); do { tOptDesc * pOD = pOpts->pOptDesc + optIx; @@ -400,7 +400,7 @@ p->optArg = pOD->optArg; p->fOptState &= OPTST_PERSISTENT_MASK; p->fOptState |= pOD->fOptState & ~OPTST_PERSISTENT_MASK; - printf(zEquivMode, pOpts->pzPROGNAME, pOD->pz_NAME, p->pz_NAME); + printf(getWformatFree(zEquivMode), pOpts->pzPROGNAME, pOD->pz_NAME, p->pz_NAME); pOD = p; } @@ -437,7 +437,7 @@ * Then set its value to the disablement string */ if ((pOD->fOptState & OPTST_DISABLED) != 0) { - printf(zOptDisabl, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(zOptDisabl), pOpts->pzPROGNAME, pOD->pz_NAME, (pOD->pz_DisablePfx != NULL) ? pOD->pz_DisablePfx : "false"); continue; @@ -448,7 +448,7 @@ * is really the VALUE of the string that was pointed to. */ if (OPTST_GET_ARGTYPE(pOD->fOptState) == OPARG_TYPE_NUMERIC) { - printf(zOptNumFmt, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(zOptNumFmt), pOpts->pzPROGNAME, pOD->pz_NAME, (int)pOD->optArg.argInt); continue; } @@ -468,7 +468,7 @@ * is really the VALUE of the string that was pointed to. */ if (OPTST_GET_ARGTYPE(pOD->fOptState) == OPARG_TYPE_BOOLEAN) { - printf(zFullOptFmt, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(zFullOptFmt), pOpts->pzPROGNAME, pOD->pz_NAME, (pOD->optArg.argBool == 0) ? "false" : "true"); continue; } @@ -480,7 +480,7 @@ if ( (pOD->optArg.argString == NULL) || (pOD->optArg.argString[0] == NUL) ) { - printf(zOptNumFmt, pOpts->pzPROGNAME, pOD->pz_NAME, + printf(getWformatFree(zOptNumFmt), pOpts->pzPROGNAME, pOD->pz_NAME, pOD->optOccCt); continue; } @@ -488,9 +488,9 @@ /* * This option has a text value */ - printf(OPT_VAL_FMT, pOpts->pzPROGNAME, pOD->pz_NAME); + printf(getWformatFree(OPT_VAL_FMT), pOpts->pzPROGNAME, pOD->pz_NAME); print_quot_str(pOD->optArg.argString); - printf(OPT_END_FMT, pOpts->pzPROGNAME, pOD->pz_NAME); + printf(getWformatFree(OPT_END_FMT), pOpts->pzPROGNAME, pOD->pz_NAME); } while (++optIx < pOpts->presetOptCt ); Index: contrib/ntp/sntp/libopts/save.c =================================================================== --- contrib/ntp/sntp/libopts/save.c +++ contrib/ntp/sntp/libopts/save.c @@ -348,7 +348,7 @@ switch (ovp->valType) { default: case OPARG_TYPE_NONE: - fprintf(fp, NULL_ATR_FMT, ovp->pzName); + fprintf(fp, getWformatFree(NULL_ATR_FMT), ovp->pzName); break; case OPARG_TYPE_STRING: @@ -363,7 +363,7 @@ char const * typ = (ovp->valType == OPARG_TYPE_ENUMERATION) ? "keyword" : "set-membership"; - fprintf(fp, TYPE_ATR_FMT, ovp->pzName, typ); + fprintf(fp, getWformatFree(TYPE_ATR_FMT), ovp->pzName, typ); /* * This is a magic incantation that will convert the @@ -383,17 +383,17 @@ pOD->optArg.argEnum = val; pOD->fOptState = opt_state; - fprintf(fp, END_XML_FMT, ovp->pzName); + fprintf(fp, getWformatFree(END_XML_FMT), ovp->pzName); break; } /* FALLTHROUGH */ case OPARG_TYPE_NUMERIC: - fprintf(fp, NUMB_ATR_FMT, ovp->pzName, ovp->v.longVal); + fprintf(fp, getWformatFree(NUMB_ATR_FMT), ovp->pzName, ovp->v.longVal); break; case OPARG_TYPE_BOOLEAN: - fprintf(fp, BOOL_ATR_FMT, ovp->pzName, + fprintf(fp, getWformatFree(BOOL_ATR_FMT), ovp->pzName, ovp->v.boolVal ? "true" : "false"); break; @@ -408,7 +408,7 @@ static void prt_string(FILE * fp, char const * name, char const * pz) { - fprintf(fp, OPEN_XML_FMT, name); + fprintf(fp, getWformatFree(OPEN_XML_FMT), name); for (;;) { int ch = ((int)*(pz++)) & 0xFF; @@ -436,7 +436,7 @@ putc(ch, fp); } } string_done:; - fprintf(fp, END_XML_FMT, name); + fprintf(fp, getWformatFree(END_XML_FMT), name); } /** @@ -456,11 +456,11 @@ opt_list = VOIDP(al->apzArgs); if (opt_ct <= 0) { - fprintf(fp, OPEN_CLOSE_FMT, name); + fprintf(fp, getWformatFree(OPEN_CLOSE_FMT), name); return; } - fprintf(fp, NESTED_OPT_FMT, name); + fprintf(fp, getWformatFree(NESTED_OPT_FMT), name); depth++; while (--opt_ct >= 0) { @@ -500,7 +500,7 @@ if (ovp == NULL) continue; - fprintf(fp, NESTED_OPT_FMT, p->pz_Name); + fprintf(fp, getWformatFree(NESTED_OPT_FMT), p->pz_Name); do { prt_value(fp, 1, p, ovp); @@ -553,7 +553,7 @@ time_t cur_time = time(NULL); char * time_str = ctime(&cur_time); - fprintf(fp, zPresetFile, time_str); + fprintf(fp, getWformatFree(zPresetFile), time_str); #ifdef HAVE_ALLOCATED_CTIME /* * The return values for ctime(), localtime(), and gmtime() Index: contrib/ntp/sntp/libopts/usage.c =================================================================== --- contrib/ntp/sntp/libopts/usage.c +++ contrib/ntp/sntp/libopts/usage.c @@ -349,12 +349,12 @@ */ if (do_gnu_usage(opts)) { flen = setGnuOptFmts(opts, &pOptTitle); - sprintf(line_fmt_buf, zFmtFmt, flen); + sprintf(line_fmt_buf, getWformatFree(zFmtFmt), flen); fputc(NL, option_usage_fp); } else { flen = setStdOptFmts(opts, &pOptTitle); - sprintf(line_fmt_buf, zFmtFmt, flen); + sprintf(line_fmt_buf, getWformatFree(zFmtFmt), flen); /* * When we exit with EXIT_SUCCESS and the first option is a doc @@ -434,7 +434,7 @@ else { char const * t = optionQuoteString(text, LINE_SPLICE); - fprintf(fp, PUTS_FMT, t); + fprintf(fp, getWformatFree(PUTS_FMT), t); AGFREE(t); } }