home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vp21beta.zip / LRTLSRC.RAR / PE2ELF / PE2ELF5.PAS < prev    next >
Pascal/Delphi Source File  |  2000-08-15  |  704b  |  41 lines

  1. > Seite 84
  2. > unsigned long
  3. > elf_hash(const unsigned char *name)
  4. > {
  5. >   unsigned long h = 0, g;
  6. >   while (*name)
  7. >   {
  8. >     h = (h << 4) + *name++;
  9. >     if (g = h & 0xf0000000)
  10. >       h ^= g >> 24;
  11. >     h &= ~g;
  12. >   }
  13. >   return h;
  14. > }
  15. > function elf_hash(const name:pchar):longint;
  16. >   var
  17. >     z:pchar;
  18. >     g,h:longint;
  19. >   begin
  20. >     z:=name;
  21. >     h:=0;
  22. >     while z[0]<>#0 do
  23. >       begin
  24. >         h:=(h shl 4)+Ord(name[0);
  25. >         Inc(name);
  26. >         if ?? then
  27. >           ??
  28. >         ??
  29.  
  30. Ich wⁿrde sagen:
  31.  
  32.           if g = (h and $F0000000) then
  33.             h := h xor (g shr 24);
  34.  
  35.           h := h and not g;
  36.  
  37. >       end;
  38. >   end;
  39.