BOLT #1: * * All data fields are unsigned big-endian unless otherwise specified. */
| 288 | * All data fields are unsigned big-endian unless otherwise specified. |
| 289 | */ |
| 290 | void set_feature_bit(u8 **ptr, u32 bit) |
| 291 | { |
| 292 | size_t len = tal_count(*ptr); |
| 293 | if (bit / 8 >= len) { |
| 294 | size_t newlen = (bit / 8) + 1; |
| 295 | u8 *newarr = tal_arrz(tal_parent(*ptr), u8, newlen); |
| 296 | memcpy(newarr + (newlen - len), *ptr, len); |
| 297 | tal_free(*ptr); |
| 298 | *ptr = newarr; |
| 299 | len = newlen; |
| 300 | } |
| 301 | (*ptr)[len - 1 - bit / 8] |= (1 << (bit % 8)); |
| 302 | } |
| 303 | |
| 304 | static bool test_bit(const u8 *features, size_t byte, unsigned int bit) |
| 305 | { |