Changeset 15195


Ignore:
Timestamp:
Feb 6, 2012, 10:12:51 PM (8 years ago)
Author:
gb
Message:

Teach SKIP-EMBEDDED-IMAGE about these newfangled 64-bit images that we've
had for 6 or 7 years now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/dumplisp.lisp

    r14849 r15195  
    204204              len
    205205              (if (not (dotimes (i 12 t)
    206                          (unless (eql (char-code (schar "OpenMCLImage" i))
     206                         (unless (eql (char-code (schar #+big-endian-target "OpenMCLImage"
     207                                                        #+little-endian-target "nepOILCMegam" i))
    207208                                      (%get-unsigned-byte trailer i))
    208209                           (return nil))))
     
    215216                  (if (< header-pos 0)
    216217                    len
    217                     header-pos))))))))))
     218                    #+32-bit-target
     219                    header-pos
     220                    #-32-bit-target
     221                    (%stack-block ((header 64))
     222                      (if (or (/= (fd-read in-fd header 64) 64)
     223                              (not (dotimes (i 12 t)
     224                                     (unless (eql (%get-unsigned-byte trailer i)
     225                                                  (%get-unsigned-byte header i))
     226                                       (return)))))
     227                        len
     228                        (+ header-pos
     229                           (logior (ash (%get-signed-long header 36) 32)
     230                                   (%get-unsigned-long header 40)))))))))))))))
     231                       
     232
    218233                 
    219234;;; Note that Windows executable files are in what they call "PE"
Note: See TracChangeset for help on using the changeset viewer.