This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1014 B
42 lines
1014 B
/** |
|
* Copyright (c) 2015-present, Facebook, Inc. |
|
* |
|
* This source code is licensed under the MIT license found in the |
|
* LICENSE file in the root directory of this source tree. |
|
*/ |
|
|
|
#import "NSDataBigString.h" |
|
|
|
namespace facebook { |
|
namespace react { |
|
|
|
static NSData *ensureNullTerminated(NSData *source) |
|
{ |
|
if (!source || source.length == 0) { |
|
return nil; |
|
} |
|
|
|
NSUInteger sourceLength = source.length; |
|
unsigned char lastByte; |
|
[source getBytes:&lastByte range:NSMakeRange(sourceLength - 1, 1)]; |
|
|
|
// TODO: bundles from the packager should always include a NULL byte |
|
// or we should we relax this requirement and only read as much from the |
|
// buffer as length indicates |
|
if (lastByte == '\0') { |
|
return source; |
|
} else { |
|
NSMutableData *data = [source mutableCopy]; |
|
unsigned char nullByte = '\0'; |
|
[data appendBytes:&nullByte length:1]; |
|
return data; |
|
} |
|
} |
|
|
|
NSDataBigString::NSDataBigString(NSData *data) |
|
{ |
|
m_length = [data length]; |
|
m_data = ensureNullTerminated(data); |
|
} |
|
|
|
} }
|
|
|