aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1997-12-28 05:20:59 +0000
committerBruce Evans <bde@FreeBSD.org>1997-12-28 05:20:59 +0000
commita4c0a67553faf3e8dddc90711773f2d51045af15 (patch)
tree4e71ad700ba481b10a62636ddf2d08f68cdd3ab6
parentf82057be9e948704052132816745ea598ade0434 (diff)
downloadsrc-a4c0a67553faf3e8dddc90711773f2d51045af15.tar.gz
src-a4c0a67553faf3e8dddc90711773f2d51045af15.zip
Removed stale comment about printf's deficiencies and rewrote the code
that worked around them for the CLI devtab listing. Print the `conflicts' flag in the CLI devtab listing.
Notes
Notes: svn path=/head/; revision=32042
-rw-r--r--sys/i386/i386/userconfig.c42
1 files changed, 13 insertions, 29 deletions
diff --git a/sys/i386/i386/userconfig.c b/sys/i386/i386/userconfig.c
index c45793a87d18..39e4e9fc456d 100644
--- a/sys/i386/i386/userconfig.c
+++ b/sys/i386/i386/userconfig.c
@@ -46,7 +46,7 @@
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
- ** $Id: userconfig.c,v 1.97 1997/11/25 19:30:36 markm Exp $
+ ** $Id: userconfig.c,v 1.98 1997/12/06 08:20:00 ache Exp $
**/
/**
@@ -2371,7 +2371,7 @@ visuserconfig(void)
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: userconfig.c,v 1.97 1997/11/25 19:30:36 markm Exp $
+ * $Id: userconfig.c,v 1.98 1997/12/06 08:20:00 ache Exp $
*/
#include "scbus.h"
@@ -3086,8 +3086,7 @@ static int
lsdevtab(struct isa_device *dt)
{
for (; dt->id_id != 0; dt++) {
- int i;
- char line[80];
+ char dname[80];
if (lineno >= 23) {
printf("<More> ");
@@ -3100,33 +3099,18 @@ lsdevtab(struct isa_device *dt)
}
if (lineno == 0) {
printf(
-"Device port irq drq iomem iosize unit flags enabled\n");
+"Device port irq drq iomem iosize unit flags enab confl\n"
+ );
++lineno;
}
- /*
- * printf() doesn't support %#, %- or even field widths for strings,
- * so formatting is not straightforward.
- */
- bzero(line, sizeof line);
- sprintf(line, "%s%d", dt->id_driver->name, dt->id_unit);
- /* Missing: id_id (don't need it). */
- /* Missing: id_driver (useful if we could show it by name). */
- sprintf(line + 9, "0x%x", dt->id_iobase);
- sprintf(line + 20, "%d", ffs(dt->id_irq) - 1);
- sprintf(line + 26, "%d", dt->id_drq);
- sprintf(line + 32, "%p", dt->id_maddr);
- sprintf(line + 40, "%d", dt->id_msize);
- /* Missing: id_msize (0 at start, useful if we can get here later). */
- /* Missing: id_intr (useful if we could show it by name). */
- /* Display only: id_unit. */
- sprintf(line + 49, "%d", dt->id_unit);
- sprintf(line + 55, "0x%x", dt->id_flags);
- /* Missing: id_scsiid, id_alive, id_ri_flags, id_reconfig (0 now...) */
- sprintf(line + 66, "%s", dt->id_enabled ? "Yes" : "No");
- for (i = 0; i < 66; ++i)
- if (line[i] == '\0')
- line[i] = ' ';
- printf("%s\n", line);
+ sprintf(dname, "%s%d", dt->id_driver->name, dt->id_unit);
+ printf("%-9.9s%-#11x%-6d%-6d%-8p%-9d%-6d%-#11x%-5s%-3s\n",
+ dname, /* dt->id_id, dt->id_driver(by name), */ dt->id_iobase,
+ ffs(dt->id_irq) - 1, dt->id_drq, dt->id_maddr, dt->id_msize,
+ /* dt->id_intr(by name), */ dt->id_unit, dt->id_flags,
+ /* dt->id_scsiid, dt->id_alive, dt->id_ri_flags, */
+ /* dt->id_reconfig, */ dt->id_enabled ? "Yes" : "No",
+ dt->id_conflicts ? "Yes" : "No");
++lineno;
}
return(0);