> Seite 84
> 
> unsigned long
> elf_hash(const unsigned char *name)
> {
>   unsigned long h = 0, g;
>   while (*name)
>   {
>     h = (h << 4) + *name++;
>     if (g = h & 0xf0000000)
>       h ^= g >> 24;
>     h &= ~g;
>   }
>   return h;
> }
> 
> function elf_hash(const name:pchar):longint;
>   var
>     z:pchar;
>     g,h:longint;
>   begin
>     z:=name;
>     h:=0;
>     while z[0]<>#0 do
>       begin
>         h:=(h shl 4)+Ord(name[0);
>         Inc(name);
>         if ?? then
>           ??
>         ??

Ich würde sagen:

          if g = (h and $F0000000) then
            h := h xor (g shr 24);

          h := h and not g;

>       end;
>   end;
