diff --git a/src/libCom/errSymLib.c b/src/libCom/errSymLib.c index 3f7d24849..24bd4469c 100644 --- a/src/libCom/errSymLib.c +++ b/src/libCom/errSymLib.c @@ -139,10 +139,14 @@ int errSymBld() if(initialized) return(0); hashtable = (ERRNUMNODE**)calloc(NHASH, sizeof(ERRNUMNODE*)); - if (!hashtable) { - return -1; + if(!hashtable) { + printf("errSymBld: Can't allocate storage\n"); +#ifdef vxWorks + taskSuspend(0); +#else + abort(); +#endif } - for (i = 0; i < errSymTbl->nsymbols; i++, errArray++) { modnum = errArray->errNum >> 16; if (modnum < 501) { @@ -212,8 +216,13 @@ char *name; ERRNUMNODE *pNew; pNew = (ERRNUMNODE*)calloc(1, sizeof(ERRNUMNODE)); - if (!pNew) { - return -1; + if(!pNew) { + printf("errSymbolAdd: Can't allocate storage\n"); +#ifdef vxWorks + taskSuspend(0); +#else + abort(); +#endif } pNew->errNum = errNum; pNew->message = name; diff --git a/src/libCom/error/errSymLib.c b/src/libCom/error/errSymLib.c index 3f7d24849..24bd4469c 100644 --- a/src/libCom/error/errSymLib.c +++ b/src/libCom/error/errSymLib.c @@ -139,10 +139,14 @@ int errSymBld() if(initialized) return(0); hashtable = (ERRNUMNODE**)calloc(NHASH, sizeof(ERRNUMNODE*)); - if (!hashtable) { - return -1; + if(!hashtable) { + printf("errSymBld: Can't allocate storage\n"); +#ifdef vxWorks + taskSuspend(0); +#else + abort(); +#endif } - for (i = 0; i < errSymTbl->nsymbols; i++, errArray++) { modnum = errArray->errNum >> 16; if (modnum < 501) { @@ -212,8 +216,13 @@ char *name; ERRNUMNODE *pNew; pNew = (ERRNUMNODE*)calloc(1, sizeof(ERRNUMNODE)); - if (!pNew) { - return -1; + if(!pNew) { + printf("errSymbolAdd: Can't allocate storage\n"); +#ifdef vxWorks + taskSuspend(0); +#else + abort(); +#endif } pNew->errNum = errNum; pNew->message = name;