#include <lclib.h> void quiet(int flag);
quiet
suppresses library diagnostics or allows them to be produced.
A nonzero argument requests message suppression, and a 0 argument allows
diagnostics to be printed (if they have not been suppressed by other active
functions).
quiet
operates on a function-by-function basis. If any active
function calls quiet(1)
and does not reset it by calling
quiet(0)
, diagnostics are suppressed. (Thus, a function cannot
countermand a quiet(1)
issued by its caller. Also note that
quiet(1)
has no effect after the function that calls it has
terminated.)
You can suppress diagnostics for the entire execution of a program if
main
issues quiet(1)
during start-up. If you want to suppress
messages in coprocesses, be sure that the initial main
function within each
coprocess contains a call to quiet
. Calling the quiet
function
within the main
function of a program that subsequently creates
coprocesses does not suppress messages within the new coprocess.
See Chapter 9, "Coprocessing Functions" in the SAS/C Library Reference, Volume 2 for more information on
coprocesses.
If the library option =warning
is specified at run time, calls to
quiet
have no effect. (See Chapter 9, "Run-Time Argument Processing,"
in the SAS/C Compiler and Library User's Guide, Fourth Edition for more information about =warning
.)
quiet
has no return value.
quiet
only when a message would be issued by
the library for a harmless condition, or in which the caller can generate a more
informative message for all possible warning conditions.
#include <lclib.h> #include <stdio.h> main() { FILE *f; quiet(1); /* Suppress library messages. */ f = fopen("ddn:SYSLIN", "r"); /* Try to open SYSLIN. */ quiet(0); /* Allow messages again, */ if (!f){ /* or use SYSIN as a backup. */ puts("Unable to open SYSLIN, using SYSIN instead."); f = fopen("ddn:SYSIN", "r"); } }
perror
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.