40 lines
928 B
C
40 lines
928 B
C
|
/*
|
||
|
* Copyright (c) 1992 by the University of Southern California
|
||
|
*
|
||
|
* For copying and distribution information, please see the file
|
||
|
* <usc-copyr.h>
|
||
|
*/
|
||
|
|
||
|
#include <ardp.h>
|
||
|
#include <psrv.h>
|
||
|
#include <plog.h>
|
||
|
#include <pprot.h>
|
||
|
#include <perrno.h>
|
||
|
|
||
|
/* This function will execute both a vplog() and an vsendmqf() in order to
|
||
|
report on an erroneous condition.
|
||
|
It makes error returns easier. It returns PFAILURE, since it should only be
|
||
|
used if an error has occurred.
|
||
|
It also automatically prefixes the word ERROR to the error reply packets.
|
||
|
It appends the appropriate newlines, so you don't have to.
|
||
|
*/
|
||
|
|
||
|
int
|
||
|
error_reply(RREQ req, char *format, ...)
|
||
|
{
|
||
|
va_list ap;
|
||
|
char *bufp;
|
||
|
|
||
|
va_start(ap, format);
|
||
|
|
||
|
|
||
|
bufp = vplog(L_DIR_PERR, req, format, ap); /* return formatted string */
|
||
|
|
||
|
reply(req, "ERROR ");
|
||
|
reply(req, bufp);
|
||
|
creply(req, "\n");
|
||
|
va_end(ap);
|
||
|
RETURNPFAILURE;
|
||
|
}
|
||
|
|