Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Grechuhin <i.grechuhin@gmail.com>2017-06-15 18:21:28 +0300
committerSergey Yershov <syershov@maps.me>2017-06-21 14:18:58 +0300
commitacd5a011c518adae106db49ae073a8dc6c1f4eaa (patch)
treedf6429d3768424b4d049465f4642768c2c441486
parente87cb35b081ece4aed5cdbc8bf5f6632fd139b13 (diff)
[MAPSME-4545] [ios] Added errors checks on bookmarks export.release-73
-rw-r--r--iphone/Maps/Bookmarks/BookmarksVC.mm40
1 files changed, 31 insertions, 9 deletions
diff --git a/iphone/Maps/Bookmarks/BookmarksVC.mm b/iphone/Maps/Bookmarks/BookmarksVC.mm
index da936a75d1..3d3c45aefc 100644
--- a/iphone/Maps/Bookmarks/BookmarksVC.mm
+++ b/iphone/Maps/Bookmarks/BookmarksVC.mm
@@ -415,15 +415,37 @@ extern NSString * const kBookmarkDeletedNotification = @"BookmarkDeletedNotifica
[mailVC setSubject:L(@"share_bookmarks_email_subject")];
std::ifstream ifs(filePath.UTF8String);
- ifs.seekg(0, ifs.end);
- auto const size = ifs.tellg();
- std::vector<char> data(size);
- ifs.seekg(0, ifs.beg);
- ifs.read(data.data(), size);
- ifs.close();
-
- auto myData = [[NSData alloc] initWithBytes:data.data() length:size];
- [mailVC addAttachmentData:myData mimeType:mimeType fileName:[NSString stringWithFormat:@"%@%@", catName, fileExtension]];
+ std::vector<char> data;
+ if (ifs.is_open())
+ {
+ ifs.seekg(0, ifs.end);
+ auto const size = ifs.tellg();
+ if (size == -1)
+ {
+ ASSERT(false, ("Attachment file seek error."));
+ }
+ else if (size == 0)
+ {
+ ASSERT(false, ("Attachment file is empty."));
+ }
+ else
+ {
+ data.resize(size);
+ ifs.seekg(0);
+ ifs.read(data.data(), size);
+ ifs.close();
+ }
+ }
+ else
+ {
+ ASSERT(false, ("Attachment file is missing."));
+ }
+
+ if (!data.empty())
+ {
+ auto myData = [[NSData alloc] initWithBytes:data.data() length:data.size()];
+ [mailVC addAttachmentData:myData mimeType:mimeType fileName:[NSString stringWithFormat:@"%@%@", catName, fileExtension]];
+ }
[mailVC setMessageBody:[NSString stringWithFormat:L(@"share_bookmarks_email_body"), catName] isHTML:NO];
[self presentViewController:mailVC animated:YES completion:nil];
}