From 456ff7d5a31f3cbef7ae1db53d5c59f2cde54a96 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 11 Feb 2016 15:04:44 -0500 Subject: [PATCH] (fix) avoid EAS bday offset (fixes #3518) + small fix in previous commit --- ActiveSync/NGVCard+ActiveSync.m | 16 +++++++++++++++- ActiveSync/SOGoActiveSyncDispatcher.m | 6 +++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ActiveSync/NGVCard+ActiveSync.m b/ActiveSync/NGVCard+ActiveSync.m index 45fb93142..80e186e2d 100644 --- a/ActiveSync/NGVCard+ActiveSync.m +++ b/ActiveSync/NGVCard+ActiveSync.m @@ -46,6 +46,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "NSDate+ActiveSync.h" #include "NSString+ActiveSync.h" +#import + +#import +#import + @implementation NGVCard (ActiveSync) // @@ -233,7 +238,16 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Other, less important fields if ((o = [self birthday])) - [s appendFormat: @"%@", [o activeSyncRepresentationInContext: context]]; + { + NSTimeZone *userTimeZone; + userTimeZone = [[[context activeUser] userDefaults] timeZone]; + + [s appendFormat: @"%@", + [[o dateByAddingYears: 0 months: 0 days: 0 + hours: 0 minutes: 0 + seconds: ([userTimeZone secondsFromGMTForDate: o])*-1] + activeSyncRepresentationInContext: context]]; + } if ((o = [self note])) { diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m index 8e7c0ee1d..af109375f 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher.m +++ b/ActiveSync/SOGoActiveSyncDispatcher.m @@ -1153,7 +1153,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. a = [[realCollectionId componentsSeparatedByString: @"/"] mutableCopy]; - [a autorelease] + [a autorelease]; pathToPart = [a lastObject]; [a removeLastObject]; messageName = [a lastObject]; @@ -1364,8 +1364,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. int p; a = [[realCollectionId componentsSeparatedByString: @"/"] mutableCopy]; - [a autorelease] - pathToPart = [a lastObject]; + [a autorelease]; + pathToPart = [a lastObject]; [a removeLastObject]; messageName = [a lastObject]; [a removeLastObject];