From 8906e89999ba8bdb006964c16e1df6d22bc1c296 Mon Sep 17 00:00:00 2001 From: C Robert Date: Thu, 24 Sep 2009 15:43:35 +0000 Subject: [PATCH] Monotone-Parent: ccfc7eec4cbaf67a75a6234a98ca6d0b154ca196 Monotone-Revision: 5ec95086791268665860b1d3426a6dac9b220e92 Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-09-24T15:43:35 Monotone-Branch: ca.inverse.sogo --- SOPE/NGCards/ChangeLog | 5 +++++ SOPE/NGCards/NSArray+NGCards.m | 25 +++++++++++++++++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/SOPE/NGCards/ChangeLog b/SOPE/NGCards/ChangeLog index 4021b5f32..ac5cc2344 100644 --- a/SOPE/NGCards/ChangeLog +++ b/SOPE/NGCards/ChangeLog @@ -1,3 +1,8 @@ +2009-09-24 Wolfgang Sourdeau + + * NSArray+NGCards.m (-renderedForCards): insert the non-blank + values at their correct positions by inserting empty strings. + 2009-09-10 Francis Lachapelle * iCalPerson.m ([iCalPerson -_valueOfMailtoAttribute:]): fixed the diff --git a/SOPE/NGCards/NSArray+NGCards.m b/SOPE/NGCards/NSArray+NGCards.m index 96241f8cb..ffbb9b92d 100644 --- a/SOPE/NGCards/NSArray+NGCards.m +++ b/SOPE/NGCards/NSArray+NGCards.m @@ -110,13 +110,26 @@ { NSMutableArray *purified; NSString *string; - NSEnumerator *strings; + int count, max, lastInsert; - purified = [NSMutableArray arrayWithCapacity: [self count]]; - strings = [self objectEnumerator]; - while ((string = [strings nextObject])) - if ([string length] > 0) - [purified addObject: [string escapedForCards]]; + max = [self count]; + purified = [NSMutableArray arrayWithCapacity: max]; + + lastInsert = -1; + for (count = 0; count < max; count++) + { + string = [self objectAtIndex: count]; + if ([string length] > 0) + { + while (lastInsert < (count - 1)) + { + [purified addObject: @""]; + lastInsert++; + } + [purified addObject: [string escapedForCards]]; + lastInsert = count; + } + } return purified; }