cocos2d/external/android-specific/tremolo/Tremolo/bitwise.c
static void _span(oggpack_buffer *b){
  while(b->headend-(b->headbit>>3)<1){
    b->headend-=b->headbit>>3;
    b->headbit&=0x7;

    if(b->head && b->head->next){
      b->count+=b->head->length;
      b->head=b->head->next;

      if(b->headend+b->head->length>0)
	b->headptr=b->head->buffer->data+b->head->begin-b->headend;

      b->headend+=b->head->length;
    }else{
      /* we've either met the end of decode, or gone past it. halt
	 only if we're past */
      if(b->headend*8<b->headbit)
	/* read has fallen off the end */
	b->headend=-1;
        break;
    }
  }
}
/* spans forward, skipping as many bytes as headend is negative; if
   headend is zero, simply finds next byte.  If we're up to the end
   of the buffer, leaves headend at zero.  If we've read past the end,
   halt the decode process. */
spans forward, skipping as many bytes as headend is negative; if
headend is zero, simply finds next byte.  If we're up to the end
of the buffer, leaves headend at zero.  If we've read past the end,
halt the decode process.
spans forward skipping as many bytes as headend is negative ; if headend is zero simply finds next byte . If we ' re up to the end of the buffer leaves headend at zero . If we ' ve read past the end halt the decode process .
static void _span(oggpack_buffer *b){
  while(b->headend-(b->headbit>>3)<1){
    b->headend-=b->headbit>>3;
    b->headbit&=0x7;
    if(b->head && b->head->next){
      b->count+=b->head->length;
      b->head=b->head->next;
      if(b->headend+b->head->length>0)
	b->headptr=b->head->buffer->data+b->head->begin-b->headend;
      b->headend+=b->head->length;
    }else{
      if(b->headend*8<b->headbit)
	b->headend=-1;
        break;
    }
  }
}
static void _span ( oggpack_buffer * b ) { while ( b -> headend - ( b -> headbit >> 3 ) < 1 ) { b -> headend -= b -> headbit >> 3 ; b -> headbit &= 0x7 ; if ( b -> head && b -> head -> next ) { b -> count += b -> head -> length ; b -> head = b -> head -> next ; if ( b -> headend + b -> head -> length > 0 ) b -> headptr = b -> head -> buffer -> data + b -> head -> begin - b -> headend ; b -> headend += b -> head -> length ; } else { if ( b -> headend * 8 < b -> headbit ) b -> headend = -1 ; break ; } } }
spans forward, skipping as many bytes as headend is negative; if
headend is zero, simply finds next byte.
spans forward skipping as many bytes as headend is negative ; if headend is zero simply finds next byte .
/* we've either met the end of decode, or gone past it. halt
	 only if we're past */ /* read has fallen off the end */