and return later on instead of right away.
-const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.74 2008/04/26 15:50:56 fabiankeil Exp $";
+const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.75 2008/04/27 13:52:52 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
*
* Revisions :
* $Log: cgisimple.c,v $
*
* Revisions :
* $Log: cgisimple.c,v $
+ * Revision 1.75 2008/04/27 13:52:52 fabiankeil
+ * Move CGI file loading code into load_file() and
+ * add checks for unexpected errors.
+ *
* Revision 1.74 2008/04/26 15:50:56 fabiankeil
* Fix macro name in cgi_show_file() error path.
*
* Revision 1.74 2008/04/26 15:50:56 fabiankeil
* Fix macro name in cgi_show_file() error path.
*
+ jb_err err = JB_ERR_OK;
fp = fopen(filename, "rb");
if (NULL == fp)
fp = fopen(filename, "rb");
if (NULL == fp)
*buffer = (char *)zalloc(*length + 1);
if (NULL == *buffer)
{
*buffer = (char *)zalloc(*length + 1);
if (NULL == *buffer)
{
- fclose(fp);
- return JB_ERR_MEMORY;
-
- if (!fread(*buffer, *length, 1, fp))
+ else if (!fread(*buffer, *length, 1, fp))
{
/*
* May happen if the file size changes between fseek() and
{
/*
* May happen if the file size changes between fseek() and
*/
log_error(LOG_LEVEL_ERROR,
"Couldn't completely read file %s.", filename);
*/
log_error(LOG_LEVEL_ERROR,
"Couldn't completely read file %s.", filename);
- fclose(fp);
- return JB_ERR_FILE;