- {
- const unsigned char *data=data_;
- register HASH_LONG * p;
- register HASH_LONG l;
- size_t sw,sc,ew,ec;
-
- if (len==0) return 1;
-
- l=(c->Nl+(((HASH_LONG)len)<<3))&0xffffffffUL;
- /* 95-05-24 eay Fixed a bug with the overflow handling, thanks to
- * Wei Dai <weidai@eskimo.com> for pointing it out. */
- if (l < c->Nl) /* overflow */
- c->Nh++;
- c->Nh+=(len>>29); /* might cause compiler warning on 16-bit */
- c->Nl=l;
-
- if (c->num != 0)
- {
- p=c->data;
- sw=c->num>>2;
- sc=c->num&0x03;
-
- if ((c->num+len) >= HASH_CBLOCK)
- {
- l=p[sw]; HOST_p_c2l(data,l,sc); p[sw++]=l;
- for (; sw<HASH_LBLOCK; sw++)
- {
- HOST_c2l(data,l); p[sw]=l;
- }
- HASH_BLOCK_HOST_ORDER (c,p,1);
- len-=(HASH_CBLOCK-c->num);
- c->num=0;
- /* drop through and do the rest */
- }
- else
- {
- c->num+=(unsigned int)len;
- if ((sc+len) < 4) /* ugly, add char's to a word */
- {
- l=p[sw]; HOST_p_c2l_p(data,l,sc,len); p[sw]=l;
- }
- else
- {
- ew=(c->num>>2);
- ec=(c->num&0x03);
- if (sc)
- l=p[sw];
- HOST_p_c2l(data,l,sc);
- p[sw++]=l;
- for (; sw < ew; sw++)
- {
- HOST_c2l(data,l); p[sw]=l;
- }
- if (ec)
- {
- HOST_c2l_p(data,l,ec); p[sw]=l;
- }
- }
- return 1;
- }
- }
-
- sw=len/HASH_CBLOCK;
- if (sw > 0)
- {
+{
+ const unsigned char *data = (const unsigned char *)data_;
+ register HASH_LONG *p;
+ register HASH_LONG l;
+ size_t sw, sc, ew, ec;
+
+ if (len == 0) {
+ return 1;
+ }
+
+ l = (c->Nl + (((HASH_LONG)len) << 3)) & 0xffffffffUL;
+ /* 95-05-24 eay Fixed a bug with the overflow handling, thanks to
+ * Wei Dai <weidai@eskimo.com> for pointing it out. */
+ if (l < c->Nl) { /* overflow */
+ c->Nh++;
+ }
+ c->Nh += (len >> 29); /* might cause compiler warning on 16-bit */
+ c->Nl = l;
+
+ if (c->num != 0) {
+ p = c->data;
+ sw = c->num >> 2;
+ sc = c->num & 0x03;
+
+ if ((c->num + len) >= HASH_CBLOCK) {
+ l = p[sw];
+ HOST_p_c2l(data, l, sc);
+ p[sw++] = l;
+ for (; sw < HASH_LBLOCK; sw++) {
+ HOST_c2l(data, l);
+ p[sw] = l;
+ }
+ HASH_BLOCK_HOST_ORDER (c, p, 1);
+ len -= (HASH_CBLOCK - c->num);
+ c->num = 0;
+ /* drop through and do the rest */
+ } else {
+ c->num += (unsigned int)len;
+ if ((sc + len) < 4) { /* ugly, add char's to a word */
+ l = p[sw];
+ HOST_p_c2l_p(data, l, sc, len);
+ p[sw] = l;
+ } else {
+ ew = (c->num >> 2);
+ ec = (c->num & 0x03);
+ if (sc) {
+ l = p[sw];
+ }
+ HOST_p_c2l(data, l, sc);
+ p[sw++] = l;
+ for (; sw < ew; sw++) {
+ HOST_c2l(data, l);
+ p[sw] = l;
+ }
+ if (ec) {
+ HOST_c2l_p(data, l, ec);
+ p[sw] = l;
+ }
+ }
+ return 1;
+ }
+ }
+
+ sw = len / HASH_CBLOCK;
+ if (sw > 0) {