On Tue, Jul 21, 2009 at 3:38 PM, Chase Meadors<c.ed.m...@gmail.com> wrote: > I have the following code, which is a category on NSData. It is always > called on especially designated NSData objects with four bytes. > > - (NSData *)resolve { > > unsigned char *buf = [self bytes]; > > const unsigned char *newBytes[4] = { (buf[3] - 0x08), buf[2], buf[1], > buf[0] };
When I compile this line, I get all kinds of warnings. Do you? And if you do, why are you ignoring them? The warning helps point to what is wrong. You've allocated an array of four POINTERS, when what you want is an array of four UNSIGNED CHARACTERS. So it should be: const unsigned char newBytes[4] = { (buf[3] - 0x08), buf[2], buf[1], buf[0] }; > for (int i = 0; i < 4; i ++) { > NSLog(@"%02X", newBytes[i]); > } > > NSData *ret = [NSData dataWithBytes:newBytes length:4]; > return ret; > > } _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com