Commit 4d8f461
committed
feat(ffi): expose hexlike through the C ABI (no more bypass-only feature)
Hexlike (-X) lived only in the Zig core and was reachable solely by importing
the core directly; the FFI CLI rejected -X entirely. Add pb_hexlike_encode,
pb_hexlike_decode, and pb_detect_hexlike exports (null-guarded, FFIResult-based,
matching the existing pb_* pattern) to the Zig core + printable_binary.h, and
wire -X/--hexlike into the FFI CLI so it routes through those exports.
Verified: Zig unit test (FFI hexlike roundtrip + detect + null safety) and an
end-to-end FFI-CLI build — 'Hi\xff! World' -> 'Hi ΟχFF2120 World' -> roundtrips.1 parent 8d899bf commit 4d8f461
3 files changed
Lines changed: 86 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
247 | 275 | | |
248 | 276 | | |
249 | 277 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| 65 | + | |
64 | 66 | | |
65 | 67 | | |
66 | 68 | | |
| |||
230 | 232 | | |
231 | 233 | | |
232 | 234 | | |
| 235 | + | |
| 236 | + | |
233 | 237 | | |
234 | 238 | | |
235 | 239 | | |
| |||
319 | 323 | | |
320 | 324 | | |
321 | 325 | | |
| 326 | + | |
322 | 327 | | |
323 | 328 | | |
324 | 329 | | |
| |||
540 | 545 | | |
541 | 546 | | |
542 | 547 | | |
543 | | - | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
544 | 551 | | |
545 | 552 | | |
546 | 553 | | |
| |||
578 | 585 | | |
579 | 586 | | |
580 | 587 | | |
581 | | - | |
582 | | - | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
583 | 591 | | |
584 | 592 | | |
585 | 593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
360 | 391 | | |
361 | 392 | | |
362 | 393 | | |
| |||
1478 | 1509 | | |
1479 | 1510 | | |
1480 | 1511 | | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
0 commit comments