From: Alex M. <ale...@us...> - 2005-01-05 23:30:11
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27134/src Modified Files: imagehds.f imageman.f Log Message: arm: add export dictionary table (EDT) structure; simplify error handling Index: imagehds.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/imagehds.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** imagehds.f 21 Dec 2004 00:19:09 -0000 1.1 --- imagehds.f 5 Jan 2005 23:30:00 -0000 1.2 *************** *** 142,145 **** --- 142,158 ---- \ VALUE LEN-HINT DROP \ modifiable + FLDBASE BASE-EDT \ export dictionary table + 4 FLD EDT-FLAGS \ EXPORT FLAGS + 4 FLD EDT-TIMEDATE \ time date of binding + 4 FLD EDT-VERSION \ VERSION + 4 FLD EDT-DLLNAME \ NAME RVA + 4 FLD EDT-ORDBASE \ ORDINAL BASE + 4 FLD EDT-#EAT \ # EAT ENTRIES + 4 FLD EDT-#NAMES \ # NAME POINTERS + 4 FLD EDT-RVA-ADDR \ ADDRESS TABLE RVA + 4 FLD EDT-RVA-NAME \ NAME POINTER TABLE RVA + 4 FLD EDT-RVA-ORD \ ORDINAL TABLE RVA + CONSTANT LEN-EDT DROP + FLDBASE BASE-RELOC \ relocation 4 FLD RELOC-RVA-PAGE \ rva of page for relocation table Index: imageman.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/imageman.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** imageman.f 21 Dec 2004 00:19:09 -0000 1.1 --- imageman.f 5 Jan 2005 23:30:00 -0000 1.2 *************** *** 157,185 **** -1 VALUE PEIMG-HNDL ! : PEIMG-FERROR ( -- ) cr ." File '" PEIMG-NAME count type ." ' : " ! WinErrMsg ON GetLastWinErr ; : PEIMG-FCREATE ( -- ) ! PEIMG-NAME COUNT r/w create-file if PEIMG-FERROR then to PEIMG-HNDL ; : PEIMG-FOPEN ( -- ) ! PEIMG-NAME COUNT r/w open-file if PEIMG-FERROR then to PEIMG-HNDL ; : PEIMG-FCLOSE ( -- ) ! PEIMG-HNDL CLOSE-FILE if PEIMG-FERROR then -1 to PEIMG-HNDL ; : PEIMG-FWRITE ( addr len -- ) ! PEIMG-HNDL WRITE-FILE if PEIMG-FERROR then ; : PEIMG-FREPOS ( n -- ) \ reposition file ! s>d PEIMG-HNDL REPOSITION-FILE if PEIMG-FERROR then ; : PEIMG-FPOS ( -- n ) \ file position ! PEIMG-HNDL FILE-POSITION if PEIMG-FERROR then d>s ; --- 157,187 ---- -1 VALUE PEIMG-HNDL ! : ?PEIMG-FERROR ( flag -- ) ! if cr ." File '" PEIMG-NAME count type ." ' : " ! WinErrMsg ON GetLastWinErr ! then ; : PEIMG-FCREATE ( -- ) ! PEIMG-NAME COUNT r/w create-file ?PEIMG-FERROR to PEIMG-HNDL ; : PEIMG-FOPEN ( -- ) ! PEIMG-NAME COUNT r/w open-file ?PEIMG-FERROR to PEIMG-HNDL ; : PEIMG-FCLOSE ( -- ) ! PEIMG-HNDL CLOSE-FILE ?PEIMG-FERROR -1 to PEIMG-HNDL ; : PEIMG-FWRITE ( addr len -- ) ! PEIMG-HNDL WRITE-FILE ?PEIMG-FERROR ; : PEIMG-FREPOS ( n -- ) \ reposition file ! s>d PEIMG-HNDL REPOSITION-FILE ?PEIMG-FERROR ; : PEIMG-FPOS ( -- n ) \ file position ! PEIMG-HNDL FILE-POSITION ?PEIMG-FERROR d>s ; *************** *** 228,236 **** : RES-FOPEN ( -- ) ! RES-NAME COUNT r/w open-file if PEIMG-FERROR then to RES-HNDL ; : RES-FSIZE ( -- n ) ! RES-HNDL file-size if PEIMG-FERROR then abort" File too large to process" ; --- 230,238 ---- : RES-FOPEN ( -- ) ! RES-NAME COUNT r/w open-file ?PEIMG-FERROR to RES-HNDL ; : RES-FSIZE ( -- n ) ! RES-HNDL file-size ?PEIMG-FERROR abort" File too large to process" ; |