[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: some unsigned/NSInteger to NSUInteger changes in -gui
From: |
Eric Wasylishen |
Subject: |
Re: some unsigned/NSInteger to NSUInteger changes in -gui |
Date: |
Mon, 9 Apr 2012 13:14:34 -0600 |
Hi,
What's safe is encoding with any supported integer type and decoding with
another integer type, so you can write a keyed archive with @encode(long) and
decode it as @encode(int), even if long is 64-bits and int is 32-bits.
In other words it's safe to use @encode(NS[U]Integer). However, if the ivar is
changed to NSUInteger, I think these:
>> - [aCoder encodeValueOfObjCType: "i" at: &_selected_item];
>> + [aCoder encodeValueOfObjCType: "I" at: &_selected_item];
>> - [aDecoder decodeValueOfObjCType: "i" at: &_selected_item];
>> + [aDecoder decodeValueOfObjCType: "I" at: &_selected_item];
should actually use @encode(NSUInteger), not "l". Otherwise the patch looks
good :-).
Eric
On 2012-04-09, at 11:08 AM, Fred Kiefer wrote:
> Most of the patch is ok, but we have too ake a careful look at the coding
> change. This may break backwards and forewards compatibility. Maybe Richard
> is able to explain if this change is save or not.
>
> Fred
>
> On the road
>
> Am 09.04.2012 um 18:02 schrieb "Sebastian Reitenbach" <address@hidden>:
>
>> Hi,
>>
>> while looking at compilation warnings from the latest releases, I found in
>> -gui (svn) some parts in NSTableView that would need to be changed. First is
>> easy, declare i as NSUInteger (was unsigned before). Further I think
>> _selected_item declared in the header as NSInteger also should be a
>> NSUInteger.
>>
>> is it OK when I commit the patch?
>>
>> Sebastian
>>
>> Index: Source/NSTabView.m
>> ===================================================================
>> --- Source/NSTabView.m (revision 35049)
>> +++ Source/NSTabView.m (working copy)
>> @@ -123,7 +123,7 @@
>>
>> - (void) removeTabViewItem: (NSTabViewItem*)tabViewItem
>> {
>> - unsigned i = [_items indexOfObject: tabViewItem];
>> + NSUInteger i = [_items indexOfObject: tabViewItem];
>>
>> if (i == NSNotFound)
>> return;
>> @@ -202,7 +202,7 @@
>>
>> - (void) selectNextTabViewItem: (id)sender
>> {
>> - if ((_selected_item != NSNotFound) && ((unsigned)(_selected_item + 1) <
>> [_items count]))
>> + if ((_selected_item != NSNotFound) && ((_selected_item + 1) < [_items
>> count]))
>> {
>> [self selectTabViewItemAtIndex: _selected_item + 1];
>> }
>> @@ -550,7 +550,7 @@
>> [aCoder encodeValueOfObjCType: @encode(BOOL) at: &_draws_background];
>> [aCoder encodeValueOfObjCType: @encode(BOOL) at: &_truncated_label];
>> [aCoder encodeConditionalObject: _delegate];
>> - [aCoder encodeValueOfObjCType: "i" at: &_selected_item];
>> + [aCoder encodeValueOfObjCType: "I" at: &_selected_item];
>> }
>> }
>>
>> @@ -631,7 +631,7 @@
>> [aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_draws_background];
>> [aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_truncated_label];
>> _delegate = [aDecoder decodeObject];
>> - [aDecoder decodeValueOfObjCType: "i" at: &_selected_item];
>> + [aDecoder decodeValueOfObjCType: "I" at: &_selected_item];
>> _selected = [_items objectAtIndex: _selected_item];
>> }
>> return self;
>> Index: Headers/AppKit/NSTabView.h
>> ===================================================================
>> --- Headers/AppKit/NSTabView.h (revision 35049)
>> +++ Headers/AppKit/NSTabView.h (working copy)
>> @@ -54,7 +54,7 @@
>> BOOL _draws_background;
>> BOOL _truncated_label;
>> id _delegate;
>> - NSInteger _selected_item;
>> + NSUInteger _selected_item;
>> }
>> - (void)addTabViewItem:(NSTabViewItem *)tabViewItem;
>> - (void)insertTabViewItem:(NSTabViewItem *)tabViewItem
>>
>> _______________________________________________
>> Gnustep-dev mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev
- some unsigned/NSInteger to NSUInteger changes in -gui, Sebastian Reitenbach, 2012/04/09
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Fred Kiefer, 2012/04/09
- Re: some unsigned/NSInteger to NSUInteger changes in -gui,
Eric Wasylishen <=
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Fred Kiefer, 2012/04/09
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Sebastian Reitenbach, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Wolfgang Lux, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Sebastian Reitenbach, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, David Chisnall, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Sebastian Reitenbach, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, David Chisnall, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Sebastian Reitenbach, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, Fred Kiefer, 2012/04/10
- Re: some unsigned/NSInteger to NSUInteger changes in -gui, David Chisnall, 2012/04/10