for (uint8_t i = 0; i < CONFIG_CPM_MAX_DRIVE; i++) {
struct cpm_drive_s * p = &drv_table[i];
if (p->img_name) {
- printf_P(PSTR(" dsk%d: %2s %3s attached to %s\n"), i,
- p->opt&DRV_OPT_RO ? "RO":"RW", p->opt&DRV_OPT_DEBUG ? "DBG":"",
+ printf_P(PSTR(" dsk%d: %2S %3S attached to %s\n"), i,
+ p->opt&DRV_OPT_RO ? PSTR("RO") : PSTR("RW"),
+ p->opt&DRV_OPT_DEBUG ? PSTR("DBG") : PSTR(""),
p->img_name);
}
}
msg_xmit(2, subf, sizeof(result_msg), result_msg);
- if (rc)
+ if (rc) {
+#if GCC_BUG_61443
+ char msg[40];
+ strncpy_P(msg, rc_messages[rc & 0x7f], sizeof msg -1);
+ drv_debug(END, PSTR(" rc: %.02x/%d, '%s'"),
+ rc, res, msg);
+#else
drv_debug(END, PSTR(" rc: %.02x/%d, '%S'"),
rc, res, rc_messages[rc & 0x7f]);
- else
+#endif
+ } else
drv_debug(END, PSTR(""));
}