*
*/
#ifndef lint
-static const char rcsid[] = "$Id: fcgiapp.c,v 1.14 2000/08/02 13:07:40 robs Exp $";
+static const char rcsid[] = "$Id: fcgiapp.c,v 1.16 2000/11/05 17:09:35 robs Exp $";
#endif /* not lint */
#include "fcgi_config.h"
buffCount = strlen(buffPtr);
break;
case 'h':
- shortArg = va_arg(arg, short);
- sprintf(buffPtr, fmtBuff, shortArg);
+ shortArg = (short) va_arg(arg, int);
+ sprintf(buffPtr, fmtBuff, shortArg);
buffCount = strlen(buffPtr);
break;
default:
buffCount = strlen(buffPtr);
break;
case 'h':
- uShortArg = va_arg(arg, unsigned short);
- sprintf(buffPtr, fmtBuff, uShortArg);
+ uShortArg = (unsigned short) va_arg(arg, int);
+ sprintf(buffPtr, fmtBuff, uShortArg);
buffCount = strlen(buffPtr);
break;
default:
int errStatus = FCGX_FClose(reqDataPtr->err);
int outStatus = FCGX_FClose(reqDataPtr->out);
- if (errStatus || outStatus
- || FCGX_GetError(reqDataPtr->in)
- || !reqDataPtr->keepConnection)
+ if (errStatus || outStatus || FCGX_GetError(reqDataPtr->in))
{
OS_IpcClose(reqDataPtr->ipcFd);
}
+ }
- ASSERT(reqDataPtr->nWriters == 0);
-
- FreeStream(&reqDataPtr->in);
- reqDataPtr->in = NULL;
-
- FreeStream(&reqDataPtr->out);
- reqDataPtr->out = NULL;
+ FCGX_Free(reqDataPtr);
+}
- FreeStream(&reqDataPtr->err);
- reqDataPtr->err = NULL;
+void FCGX_Free(FCGX_Request * request)
+{
+ if (request == NULL)
+ return;
- FreeParams(&reqDataPtr->paramsPtr);
- reqDataPtr->paramsPtr = NULL;
- }
+ FreeStream(&request->in);
+ FreeStream(&request->out);
+ FreeStream(&request->err);
+ FreeParams(&request->paramsPtr);
- if (!reqDataPtr->keepConnection) {
- reqDataPtr->ipcFd = -1;
+ if (!request->keepConnection)
+ {
+ OS_IpcClose(request->ipcFd);
+ request->ipcFd = -1;
}
}
* Close the connection and try again.
*/
TryAgain:
- FreeParams(&reqDataPtr->paramsPtr);
- reqDataPtr->paramsPtr = NULL;
-
- FreeStream(&reqDataPtr->in);
- reqDataPtr->in = NULL;
+ FCGX_Free(reqDataPtr);
- OS_Close(reqDataPtr->ipcFd);
- reqDataPtr->ipcFd = -1;
} /* for (;;) */
/*
* Build the remaining data structures representing the new