内核printf格式中的%r是什么意思?

5
在内核源代码的几个地方,我能找到这样的用法:
其中一个例子是:
if (console_sc != NULL && console_sc->vtermid == sc->vtermid) {
        sc->outseqno = console_sc->outseqno;
        console_sc = sc;
        sprintf(uart_phyp_consdev.cn_name, "ttyu%r", unit);
        tty_init_console(sc->tp, 0);
}

另一个例子是:
        if (!(vw->vw_flags & VWF_READY)) {
                callout_init(&vw->vw_proc_dead_timer, 0);
                terminal_maketty(vw->vw_terminal, "v%r", VT_UNIT(vw));
                vw->vw_flags |= VWF_READY;
                if (vw->vw_flags & VWF_CONSOLE) {
                        /* For existing console window. */
                        EVENTHANDLER_REGISTER(shutdown_pre_sync,
                            vt_window_switch, vw, SHUTDOWN_PRI_DEFAULT);
                }
        }

但是,如果我查看sprintf手册页面,我找不到任何关于'r'格式说明符的参考。

它的作用是什么,以及它在哪里记录?

1个回答

3
请查看sprintf手册页面,上面说明:

%r 使用当前的DDB基数显示整数。这种非标准的%r解释仅适用于db_printf()。

这里有更多关于DDB的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接