Martin Vogel
359f37cd71
Escape control bytes in properties-JSON array items (raw newlines from multi-line C params)
...
The array appenders (param_types/param_names/decorators/base_classes) in both props-builder twins escaped only quote and backslash, so items sliced from multi-line C parameter declarations carried raw newline/tab bytes — invalid inside JSON strings (the remaining 118 malformed kernel rows after the truncation fix; e.g. param_types:["struct\n\t\t..."]). Array items now go through the full escape function, and both escapers degrade any other raw control byte (e.g. form feed) to a space. Reproduced via the prod CLI on a multi-line-param fixture (nl_fn json_valid=0 pre-fix); the sweep regression test gained that fixture (61st case).
2026-06-09 23:54:25 +02:00
..
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-03-22 18:33:10 -05:00
2026-03-15 22:37:34 +01:00
2026-05-30 18:26:44 +02:00
2026-04-15 23:56:03 +02:00
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-04-01 23:22:44 +02:00
2026-06-07 18:29:05 +02:00
2026-06-06 22:16:04 +02:00
2026-06-05 21:53:25 +02:00
2026-05-19 22:47:53 +02:00
2026-06-02 18:50:55 +02:00
2026-06-05 21:53:25 +02:00
2026-03-25 09:28:11 +01:00
2026-06-07 13:00:55 +02:00
2026-06-07 13:00:55 +02:00
2026-06-07 14:16:36 +02:00
2026-06-07 12:35:53 +02:00
2026-06-08 22:55:23 +02:00
2026-06-09 14:32:26 +02:00
2026-05-31 17:22:02 +02:00
2026-06-05 21:53:25 +02:00
2026-03-19 02:58:03 +01:00
2026-03-15 22:37:34 +01:00
2026-06-05 21:53:25 +02:00
2026-06-08 22:55:23 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-06-08 22:55:23 +02:00
2026-06-05 21:53:25 +02:00
2026-03-24 23:48:23 +01:00
2026-05-21 22:52:16 +02:00
2026-03-31 20:04:11 +02:00
2026-06-05 21:53:25 +02:00
2026-03-15 19:26:12 +01:00
2026-06-06 22:16:04 +02:00
2026-06-02 18:52:37 +02:00
2026-06-02 18:52:37 +02:00
2026-06-03 01:33:25 +02:00
2026-06-06 22:16:05 +02:00
2026-06-01 18:41:49 +02:00
2026-06-06 22:30:38 +02:00
2026-06-07 14:16:36 +02:00
2026-03-15 22:37:34 +01:00
2026-06-07 20:05:24 +02:00
2026-06-08 22:55:23 +02:00
2026-06-07 18:29:05 +02:00
2026-06-01 22:53:17 +02:00
2026-06-05 21:53:25 +02:00
2026-06-07 14:16:36 +02:00
2026-06-05 21:53:25 +02:00
2026-06-06 22:30:38 +02:00
2026-05-29 04:20:20 +02:00
2026-05-09 16:05:45 +02:00
2026-06-09 23:54:25 +02:00
2026-05-30 20:15:30 +02:00
2026-06-05 21:53:25 +02:00
2026-05-09 15:44:09 +02:00
2026-05-09 14:16:15 +02:00
2026-05-31 03:14:17 +02:00
2026-06-09 21:53:26 +02:00
2026-06-03 02:13:30 +02:00
2026-05-08 22:26:56 +02:00
2026-05-10 20:43:45 +02:00
2026-06-05 21:53:25 +02:00
2026-04-15 23:56:03 +02:00
2026-06-09 09:20:15 +02:00
2026-06-09 23:07:47 +02:00
2026-03-20 20:32:38 +01:00
2026-05-29 03:37:56 +02:00
2026-03-24 23:48:23 +01:00
2026-05-31 12:50:19 +02:00
2026-05-29 03:37:56 +02:00
2026-05-31 11:48:25 +02:00
2026-03-24 23:48:23 +01:00
2026-03-25 09:47:59 +01:00
2026-03-24 23:48:23 +01:00
2026-05-31 00:34:29 +02:00
2026-06-09 14:32:26 +02:00
2026-04-01 23:22:44 +02:00
2026-04-06 14:34:07 +02:00
2026-06-05 21:53:25 +02:00
2026-06-06 18:36:28 +02:00
2026-06-06 19:48:48 +02:00
2026-03-24 23:48:23 +01:00
2026-04-15 23:56:03 +02:00