Skip to content

Commit ba20582

Browse files
committed
fix(apple-network): use Objective-C Automatic Reference Counting (ARC) for NSData
1 parent a31b013 commit ba20582

File tree

2 files changed

+4
-9
lines changed

2 files changed

+4
-9
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ ifdef NATIVE_NETWORK
143143
CFLAGS += -DCLOUDSYNC_OMIT_CURL
144144

145145
$(BUILD_RELEASE)/%_m.o: %.m
146-
$(CC) $(CFLAGS) -O3 -fPIC -c $< -o $@
146+
$(CC) $(CFLAGS) -fobjc-arc -O3 -fPIC -c $< -o $@
147147
endif
148148

149149
# Windows .def file generation

src/network.m

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,7 @@ NETWORK_RESULT network_receive_buffer(network_data *data, const char *endpoint,
155155

156156
NSURLSession *session = [NSURLSession sharedSession];
157157
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
158-
// Retain data to not get it deallocated, release it before returning
159-
responseData = [data retain];
158+
responseData = data;
160159
if (error) {
161160
responseError = [error localizedDescription];
162161
errorCode = [error code];
@@ -171,10 +170,8 @@ NETWORK_RESULT network_receive_buffer(network_data *data, const char *endpoint,
171170
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
172171

173172
if (!responseError && (statusCode >= 200 && statusCode < 300)) {
174-
size_t len = [responseData length];
175173
// check if OK should be returned
176-
if (len == 0) {
177-
[responseData release];
174+
if (responseData == nil || [responseData length] == 0) {
178175
return (NETWORK_RESULT){CLOUDSYNC_NETWORK_OK, NULL, 0, NULL, NULL};
179176
}
180177

@@ -189,10 +186,9 @@ NETWORK_RESULT network_receive_buffer(network_data *data, const char *endpoint,
189186
result.buffer = (char *)responseData.bytes;
190187
result.xdata = (void *)CFBridgingRetain(responseData);
191188
}
192-
result.blen = len;
189+
result.blen = [responseData length];
193190
result.xfree = network_buffer_cleanup;
194191

195-
[responseData release];
196192
return result;
197193
}
198194

@@ -216,6 +212,5 @@ NETWORK_RESULT network_receive_buffer(network_data *data, const char *endpoint,
216212
result.xfree = network_buffer_cleanup;
217213
result.blen = responseError ? (size_t)errorCode : (size_t)statusCode;
218214

219-
[responseData release];
220215
return result;
221216
}

0 commit comments

Comments
 (0)