}\r
endcase;\r
\r
+ case ID_FILE_DELETE: /* ( c-addr u -- ior ) */\r
+/* Build NUL terminated name string. */\r
+ Temp = M_POP; /* caddr */\r
+ if( TOS < TIB_SIZE-2 )\r
+ {\r
+ pfCopyMemory( gScratch, (char *) Temp, (ucell_t) TOS );\r
+ gScratch[TOS] = '\0';\r
+ DBUG(("Delete file = %s\n", gScratch ));\r
+ TOS = sdDeleteFile( gScratch );\r
+ }\r
+ else\r
+ {\r
+ ERR("Filename too large for name buffer.\n");\r
+ TOS = -2;\r
+ }\r
+ endcase;\r
+\r
case ID_FILE_OPEN: /* ( c-addr u fam -- fid ior ) */\r
/* Build NUL terminated name string. */\r
Scratch = M_POP; /* u */\r
#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
if( IN_DICS( TOS ) )\r
{\r
- WRITE_CELL_DIC(TOS,M_POP);\r
+ WRITE_CELL_DIC((cell_t *)TOS,M_POP);\r
}\r
else\r
{\r
case ID_VAR_ECHO: DO_VAR(gVarEcho); endcase;\r
case ID_VAR_HEADERS_BASE: DO_VAR(gCurrentDictionary->dic_HeaderBase); endcase;\r
case ID_VAR_HEADERS_LIMIT: DO_VAR(gCurrentDictionary->dic_HeaderLimit); endcase;\r
- case ID_VAR_HEADERS_PTR: DO_VAR(gCurrentDictionary->dic_HeaderPtr.Cell); endcase;\r
+ case ID_VAR_HEADERS_PTR: DO_VAR(gCurrentDictionary->dic_HeaderPtr); endcase;\r
case ID_VAR_NUM_TIB: DO_VAR(gCurrentTask->td_SourceNum); endcase;\r
case ID_VAR_OUT: DO_VAR(gCurrentTask->td_OUT); endcase;\r
case ID_VAR_STATE: DO_VAR(gVarState); endcase;\r
#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
if( IN_DICS( TOS ) )\r
{\r
- TOS = (uint16_t) READ_SHORT_DIC((uint8_t *)TOS);\r
+ TOS = (uint16_t) READ_SHORT_DIC((uint16_t *)TOS);\r
}\r
else\r
{\r
#if (defined(PF_BIG_ENDIAN_DIC) || defined(PF_LITTLE_ENDIAN_DIC))\r
if( IN_DICS( TOS ) )\r
{\r
- WRITE_SHORT_DIC(TOS,M_POP);\r
+ WRITE_SHORT_DIC((uint16_t *)TOS,(uint16_t)M_POP);\r
}\r
else\r
{\r