From fff85d22b6c276244b4db88cc8b06611a66ff5ca Mon Sep 17 00:00:00 2001 From: Frank Li Date: Mon, 18 Jan 2010 12:26:37 +0800 Subject: [PATCH] Fix string to hash problem Signed-off-by: Frank Li --- src/Git/GitHash.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Git/GitHash.h b/src/Git/GitHash.h index ed94274ec..f61e3a874 100644 --- a/src/Git/GitHash.h +++ b/src/Git/GitHash.h @@ -29,17 +29,18 @@ public: { unsigned char a; a=0; - for(int j=2*i;j<2*i+1;j++) + for(int j=2*i;j<=2*i+1;j++) { + a =a<<4; + TCHAR ch = str[j]; if(ch >= _T('0') && ch <= _T('9')) a |= (ch - _T('0'))&0xF; else if(ch >=_T('A') && ch <= _T('F')) - a |= (ch - _T('A'))&0xF; + a |= ((ch - _T('A'))&0xF) + 10 ; else if(ch >=_T('a') && ch <= _T('f')) - a |= (ch - _T('a'))&0xF; + a |= ((ch - _T('a'))&0xF) + 10; - a =a<<4; } m_hash[i]=a; } -- 2.11.4.GIT