XIFF and MTASC compatibility changes

I’m trying to use the MTASC for testing my code from the Eclipse platform and everything works fine for my application once I made these two minor changes. I thought that you should make them as well so that the next release works with MTASC. These changes still compile fine with the Macromedia Flash IDE as well.

With this said, I did not check out all of the classes in the XIFF library yet, just the ones that I use at the moment. I will be sure to let you know about the other ones when I get a bit more time to spend doing that sort of thing.

I hope things are going well and thanks again for working on this project.

-Chris

MTASC compiler errors for the XIFF project:

/org/jivesoftware/xiff/im/Roster.as:504: characters 7-19 : type error Local variable redefinition : eventObj

var eventObj:Object = ;

Becomes:

eventObj = ;

/org/jivesoftware/xiff/data/auth/SHA1.as:112: characters 7-8 : type error Unknown variable i

/*        * Convert a string to a sequence of 16-word blocks, stored as an array.        * Append padding bits and the length, as described in the SHA1 standard.        */       private static function str2blks(str:String):Array       {             var nblk = ((str.length + 8) >> 6) + 1;             var blks = new Array(nblk * 16);             for (var i = 0; i < nblk * 16; i++)             {                   blks+ = 0;             }             for (var i = 0; i < str.length; i++)             {                   blks[i >> 2] |= str.charCodeAt(i) << (24 - (i % 4) * 8);             }             blks[i >> 2] |= 0x80 << (24 - (i % 4) * 8);             blks[nblk * 16 - 1] = str.length * 8;             return blks;       }

Becomes:

/*        * Convert a string to a sequence of 16-word blocks, stored as an array.        * Append padding bits and the length, as described in the SHA1 standard.        */       private static function str2blks(str:String):Array       {             var nblk = ((str.length + 8) >> 6) + 1;             var blks = new Array(nblk * 16);             var i;             for (i = 0; i < nblk * 16; i++)             {                   blks+ = 0;             }             for (i = 0; i < str.length; i++)             {                   blks[i >> 2] |= str.charCodeAt(i) << (24 - (i % 4) * 8);             }             blks[i >> 2] |= 0x80 << (24 - (i % 4) * 8);             blks[nblk * 16 - 1] = str.length * 8;             return blks;       }

AFAK there is no more such kind of changes. But you should care about the staticConstructor as well as the Extension(they are “decorated” to IQ packet). I think they are not working properly.