AskaEth
0d6c56100f
fix(m52): r1 评审 P2-1 class 缺失 WARN 去刷屏 + 两个 nit(snprintf clamp / 恒真断言)
P2-1(必修):`multi_font: class %s font %s missing, fallback global` 与上一轮修掉的
enabled 行同在 meow_font_reload_multifont() 里、被 main_menu.c:1385 每 2s 调一次;
命中「某个 font.class_* 非空但文件缺失/不可读」时最多 6 行/2s(3 行/s),比 enabled
行凶 6 倍,会让「空转 60s 日志不增长」在 class 缺失形态下失效。
改法:循环内只记「本轮缺失类别位图」,循环外经新纯函数 mf_missing_warn_mask() 做跃迁
判定(缺失集合不变 → 静默;新类别缺失 → 1 条;恢复后再缺失 → 再 1 条)。回退行为不变
(缺失类别照旧回退全局),日志文本/参数不变。另加 _Static_assert 钉住类别数 ≤32(位图宽度)。
nit:wd_log() 的 snprintf 返回值显式 clamp(原「buf≤511+前缀≤23<544」是隐式不变量);
test_wd_fw 的 "scan finds self" 原断言带 `|| np > 0` 恒真、等于没测 → 改为真查表断言
getpid() 在 wd_rg_pid[] 中且 comm 非空、并与 /proc/self/stat 的 pid/ppid 交叉核对。
验证:test_wd_fw 128 pass/0 fail(原 124,+4 来自强化后的自扫断言);
test_mf_logsig 21 pass/0 fail(原 13,+8 为 P2-1 验收:单类缺失 60s@2s 只 1 条、
缺失集合变化再 1 条、恢复后再缺失再 1 条);launcher 宿主测试 ALL PASS;
三处交叉编译 0 warning(watchdog 100,116 B/25f76950、launcherd 902,044 B/75629078、
audiod 68,732 B/ebb9a7ac 未变=bind hunk 未动)。
2026-11-12 08:02:22 +08:00
..
2026-08-30 21:38:30 +08:00
2026-11-11 16:37:00 +08:00
2026-09-01 16:08:01 +08:00
2026-09-01 04:28:10 +08:00
2026-11-04 21:00:40 +08:00
2026-11-11 17:59:13 +08:00
2026-11-12 08:02:22 +08:00
2026-08-30 01:12:34 +08:00
2026-08-31 19:12:51 +08:00
2026-09-03 12:16:01 +08:00
2026-08-31 03:41:51 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-11-12 08:02:22 +08:00
2026-08-30 01:12:34 +08:00
2026-11-04 20:02:28 +08:00
2026-11-04 20:02:28 +08:00
2026-09-04 18:13:18 +08:00
2026-11-10 22:51:00 +08:00
2026-09-02 00:57:17 +08:00
2026-09-02 03:41:39 +08:00
2026-09-04 02:21:45 +08:00
2026-11-11 16:37:00 +08:00
2026-09-01 19:40:29 +08:00
2026-09-01 19:40:29 +08:00
2026-11-04 21:00:40 +08:00
2026-11-04 21:00:40 +08:00
2026-11-04 21:00:40 +08:00
2026-11-04 21:00:40 +08:00
2026-08-30 21:38:30 +08:00
2026-09-01 18:28:07 +08:00
2026-08-30 14:14:30 +08:00
2026-08-31 07:53:57 +08:00
2026-08-31 07:53:57 +08:00
2026-11-04 21:00:40 +08:00
2026-11-11 16:37:00 +08:00
2026-11-11 20:29:21 +08:00
2026-09-04 00:39:29 +08:00
2026-09-04 00:39:29 +08:00
2026-08-30 21:38:30 +08:00
2026-08-31 05:46:46 +08:00
2026-08-31 05:46:46 +08:00
2026-09-03 20:01:13 +08:00
2026-09-01 14:44:55 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-09-02 08:13:55 +08:00
2026-11-12 08:02:22 +08:00
2026-11-11 17:16:28 +08:00
2026-11-11 17:59:13 +08:00
2026-11-04 20:02:28 +08:00
2026-11-04 20:02:28 +08:00
2026-09-04 13:09:03 +08:00
2026-11-10 22:51:00 +08:00
2026-11-11 16:37:00 +08:00
2026-09-02 00:48:23 +08:00
2026-11-10 22:51:00 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-08-30 01:12:34 +08:00
2026-11-04 20:02:28 +08:00
2026-08-30 21:38:30 +08:00
2026-11-11 17:59:13 +08:00
2026-09-01 19:40:29 +08:00
2026-09-04 00:39:29 +08:00
2026-09-04 11:27:07 +08:00
2026-11-04 21:00:40 +08:00
2026-11-04 21:00:40 +08:00
2026-11-04 21:00:40 +08:00
2026-11-11 17:59:13 +08:00
2026-09-01 18:28:07 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-08-31 05:09:42 +08:00
2026-08-30 13:42:41 +08:00
2026-08-31 14:34:28 +08:00
2026-08-31 19:12:51 +08:00
2026-08-31 06:51:04 +08:00
2026-11-04 20:02:28 +08:00
2026-09-03 12:16:01 +08:00
2026-09-02 11:49:37 +08:00
2026-09-03 12:16:01 +08:00
2026-09-02 03:41:39 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 19:49:28 +08:00
2026-09-04 00:39:29 +08:00
2026-09-04 03:53:09 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-11-12 08:02:22 +08:00
2026-11-11 17:16:28 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-09-01 15:23:32 +08:00
2026-08-31 19:12:51 +08:00
2026-08-30 13:02:17 +08:00
2026-09-03 12:16:01 +08:00
2026-09-04 13:09:03 +08:00
2026-09-04 13:09:03 +08:00
2026-11-04 20:02:28 +08:00
2026-09-03 12:16:01 +08:00
2026-11-10 22:51:00 +08:00
2026-11-11 16:37:00 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-09-01 18:12:46 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-09-03 12:16:01 +08:00
2026-11-04 20:02:28 +08:00
2026-09-03 12:16:01 +08:00
2026-11-04 20:02:28 +08:00
2026-09-02 08:13:55 +08:00
2026-09-03 12:16:01 +08:00
2026-09-01 04:28:10 +08:00
2026-11-04 21:00:40 +08:00
2026-11-11 17:59:13 +08:00