--- rc_proc.c 2002/07/01 15:03:33 1.10
+++ rc_proc.c 2002/07/02 18:03:17 1.11
@@ -77,6 +77,8 @@
int nFdfunc = 0;
int nRet = 0;
int nIter = 0;
+ ex_t Except;
+
char *sBuf = NULL;
char *szSec = NULL;
char *szLocex = NULL;
@@ -126,20 +128,26 @@
if (nRet == -1) /* Handle read errors */
RC_THROW(RC_ERR_IO);
- for (i = 0; pRc->m_pAnal->m_pszSecs[i]; i++) { /* Iterate over secvec */
- /* Extract a section from the temp script, and append it */
- szSec = scriptSection(pTempscript, pRc->m_pAnal->m_pszSecs[i]);
-
- if (szSec) /* Only call append if the section lookup succeeded */
- scriptAppend(pRc->m_pScript, szSec, strlen(szSec));
- else if (configGetval(RC_DBG_VAL)) /* Only show when debug is set */
- fprintf(stderr, "#Warning: Missing section '%s' in %s!\n", pRc->m_pAnal->m_pszSecs[i], pRc->m_pAnal->m_szRcs[nIter]);
-
- if (szSec) { /* Cleanup section string */
- free(szSec);
- szSec = NULL;
+ try {
+ for (i = 0; pRc->m_pAnal->m_pszSecs[i]; i++) { /* Iterate over */
+ /* Extract a section from the temp script, and append it */
+ szSec = scriptSection(pTempscript, pRc->m_pAnal->m_pszSecs[i]);
+
+ if (szSec) /* Only call append if the section lookup succeeds */
+ scriptAppend(pRc->m_pScript, szSec, strlen(szSec));
+ else if (configGetval(RC_DBG_VAL)) /* Only show if debug set */
+ fprintf(stderr, "#Warning: Missing section '%s' in %s!\n",\
+ pRc->m_pAnal->m_pszSecs[i],\
+ pRc->m_pAnal->m_szRcs[nIter]);
+
+ if (szSec) { /* Cleanup section string */
+ free(szSec);
+ szSec = NULL;
+ }
}
}
+ catch(Except)
+ rethrow;
/* Clean up our crap */
scriptDelete(pTempscript); /* Temp script */
|