Exemplo n.º 1
0
void
vFSLog(const char *format, va_list args)
{
    time_t currenttime;
    char *timeStamp;
    char tbuffer[1024];
    char *info;
    size_t len;
    int num;

    currenttime = time(0);
    timeStamp = afs_ctime(&currenttime, tbuffer, sizeof(tbuffer));
    timeStamp[24] = ' ';	/* ts[24] is the newline, 25 is the null */
    info = &timeStamp[25];

    if (mrafsStyleLogs || threadIdLogs) {
	num = (*threadNumProgram) ();
        if (num > -1) {
	(void)afs_snprintf(info, (sizeof tbuffer) - strlen(tbuffer), "[%d] ",
			   num);
	info += strlen(info);
    }
    }

    (void)afs_vsnprintf(info, (sizeof tbuffer) - strlen(tbuffer), format,
			args);

    len = strlen(tbuffer);
    LOCK_SERVERLOG();
#ifndef AFS_NT40_ENV
    if (serverLogSyslog) {
	syslog(LOG_INFO, "%s", info);
    } else
#endif
    if (serverLogFD > 0)
	(void)write(serverLogFD, tbuffer, len);
    UNLOCK_SERVERLOG();

#if !defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
    if (!serverLogSyslog) {
	fflush(stdout);
	fflush(stderr);		/* in case they're sharing the same FD */
    }
#endif
}				/*vFSLog */
Exemplo n.º 2
0
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */

#include <afs/stds.h>
#include <afs/afsutil.h>
#include <limits.h>

static int
try (const char *format, ...)
{
    int ret;
    va_list ap;
    char buf1[256], buf2[256];

    va_start (ap, format);
    ret = afs_vsnprintf (buf1, sizeof(buf1), format, ap);
    if (ret >= sizeof(buf1)) {
	fprintf(stderr, "increase buf and try again\n");
        exit(1);
    }
    va_end (ap);
    va_start (ap, format);
    vsprintf (buf2, format, ap);
    ret = strcmp (buf1, buf2);
    if (ret)
	printf ("failed: format = \"%s\", \"%s\" != \"%s\"\n",
		format, buf1, buf2);
    va_end (ap);
    return ret;
}