Wow, that Hungarian notation is totally incomprehesible. Why would someone spend so much time to come up with a system of naming identifiers if that system would yield such undecipherable identifiers as these:
That code just makes me want to cry except for 'bltbyte' which makes me want a BLT.Code:1 #include "sy.h" 2 extern int *rgwDic; 3 extern int bsyMac; 4 struct SY *PsySz(char sz[]) 6 { 7 char *pch; 8 int cch; 9 struct SY *psy, *PsyCreate(); 10 int *pbsy; 11 int cwSz; 12 unsigned wHash=0; 13 pch=sz; 14 while (*pch!=0 15 wHash=(wHash<>11+*pch++; 16 cch=pch-sz; 17 pbsy=&rgbsyHash[(wHash&077777)%cwHash]; 18 for (; *pbsy!=0; pbsy = &psy->bsyNext) 19 { 20 char *szSy; 21 szSy= (psy=(struct SY*)&rgwDic[*pbsy])->sz; 22 pch=sz; 23 while (*pch==*szSy++) 24 { 25 if (*pch++==0) 26 return (psy); 27 } 28 } 29 cwSz=0; 30 if (cch>=2) 31 cwSz=(cch-2/sizeof(int)+1; 32 *pbsy=(int *)(psy=PsyCreate(cwSY+cwSz))-rgwDic; 33 Zero((int *)psy,cwSY); 34 bltbyte(sz, psy->sz, cch+1); 35 return(psy); 36 }