+ nt i,m=t->len>10?10:t->len;
+ for(i=0;i<m;i++) {
+ fprintf(stderr, "%02x ", t->data[i]);
+ }
+ fprintf(stderr, "\n");
+ s|=(b&127)<<shift;
+ shift+=7;
+ if(!(b&128) || shift>=32) {
+ if(b&64) {
+ if(shift<32)
+ s|=0xffffffff<<shift;
+ }
+ break;
+ }
+ }
+ /* It's not uncommon for other applications (Flex for all negative numbers, and
+ Flash for -1) to generate a lot more bytes than would be necessary.
+ int nr2= swf_SetS30(0, s);
+ if(nr!=nr2) {
+ printf("Signed value %d stored in %d bytes, I'd store it in %d bytes\n", s, nr, nr2);
+ }*/
+ return s;