#include <stdio.h>
#include <string.h>
#include <stdlib.h>
long strhash( char * str) {
ssize_t len
= strlen ( str
) - 1 ; ssize_t i = len;
unsigned char * p = ( unsigned char * ) str;
long x = * p << 7 ;
while ( -- i >= 0 )
x = ( 1000003 * x) ^ * p++;
x ^= ( len) ;
return ( x == - 1 ) ? - 2 : x;
}
int main( ) {
char * gameId= "SCUS94199" ;
printf ( "%ld\n " , strhash
( gameId
) ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKCmxvbmcgc3RyaGFzaChjaGFyKiBzdHIpewoJc3NpemVfdCBsZW4gPSBzdHJsZW4oc3RyKSAtIDE7Cglzc2l6ZV90IGkgPSBsZW47Cgl1bnNpZ25lZCBjaGFyKiBwID0gKHVuc2lnbmVkIGNoYXIqKSBzdHI7CgkKCWxvbmcgeCA9ICpwIDw8IDc7CgkKCXdoaWxlICgtLWkgPj0gMCkKCQl4ID0gKDEwMDAwMDMqeCkgXiAqcCsrOwoJCgl4IF49IChsZW4pOwoJCglyZXR1cm4gKHggPT0gLTEpPyAtMiA6IHg7Cn0KCmludCBtYWluKCl7CiAgICBjaGFyICpnYW1lSWQ9IlNDVVM5NDE5OSI7CiAgICBwcmludGYoIiVsZFxuIixzdHJoYXNoKGdhbWVJZCkpOwogICAgCiAgICByZXR1cm4gMDsKfQ==