Overview
Comment: | OFDataArray+MessagePackValue: Use memcpy() |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
fe4ee8b45883715105d71e9c42f2ad83 |
User & Date: | js on 2017-05-14 23:37:31 |
Other Links: | manifest | tags |
Context
2017-05-15
| ||
21:35 | OFHTTPCookie: Make domain and path mandatory check-in: f36f9bed02 user: js tags: trunk | |
2017-05-14
| ||
23:37 | OFDataArray+MessagePackValue: Use memcpy() check-in: fe4ee8b458 user: js tags: trunk | |
23:33 | OFNumber: Handle int endianess != float endianess check-in: e29e71523e user: js tags: trunk | |
Changes
Modified src/OFDataArray+MessagePackValue.m from [c085900a12] to [955a1ea2ce].
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFDataArray+MessagePackValue.h" #import "OFNumber.h" #import "OFNull.h" #import "OFDataArray.h" #import "OFString.h" #import "OFArray.h" | > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> #import "OFDataArray+MessagePackValue.h" #import "OFNumber.h" #import "OFNull.h" #import "OFDataArray.h" #import "OFString.h" #import "OFArray.h" |
︙ | ︙ | |||
194 195 196 197 198 199 200 | /* fixmap */ if ((buffer[0] & 0xF0) == 0x80) return parseTable(buffer + 1, length - 1, object, buffer[0] & 0xF, depthLimit) + 1; /* Prefix byte */ | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | /* fixmap */ if ((buffer[0] & 0xF0) == 0x80) return parseTable(buffer + 1, length - 1, object, buffer[0] & 0xF, depthLimit) + 1; /* Prefix byte */ switch (buffer[0]) { /* Unsigned integers */ case 0xCC: /* uint8 */ if (length < 2) goto error; *object = [OFNumber numberWithUInt8: buffer[1]]; return 2; |
︙ | ︙ | |||
255 256 257 258 259 260 261 | uint8_t u8[4]; float f; } f; if (length < 5) goto error; | < | < | | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | uint8_t u8[4]; float f; } f; if (length < 5) goto error; memcpy(&f.u8, buffer + 1, 4); *object = [OFNumber numberWithFloat: OF_BSWAP_FLOAT_IF_LE(f.f)]; return 5; case 0xCB:; /* float 64 */ union { uint8_t u8[8]; double d; } d; if (length < 9) goto error; memcpy(&d.u8, buffer + 1, 8); *object = [OFNumber numberWithDouble: OF_BSWAP_DOUBLE_IF_LE(d.d)]; return 9; /* nil */ case 0xC0: *object = [OFNull null]; |
︙ | ︙ |