Appendix A: System Routines — Symbol Table Utilities
HSymDel
(continued)
Example:
/* Clear the single letter variables
return the number that could not be deleted.
*/
short clearAtoZ( void )
{
HSYM hSym;
SYM_ENTRY *pSym;
short nLeft;
BYTE symbol[] = {0, 0, 0};
for (nLeft=26, symbol[1] = 'a'; symbol[1] <= 'z'; symbol[1]++) {
if (H_NULL == (hSym = SymFind(symbol+2)))
nLeft--; /* not found if HSYM is NULL */
else {
pSym = DerefSym(hSym);
if ((pSym->Flags & (SF_LOCK|SF_INUSE)) == 0) {
TRY
HSymDel(hSym); /* delete it */
nLeft--;
ONERR
ENDTRY
}
}
}
return nLeft;
}
TI-89 / TI-92 Plus Developer Guide
(A . . . Z) in the current folder and
/* lookup var in current folder */
/* HSymDel does not check LOCKED, IN-USE flags */
Not for Distribution
1023
Beta Version January 26, 2001