Page MenuHomeFreeBSD

D50883.id158118.diff
No OneTemporary

D50883.id158118.diff

diff --git a/usr.sbin/mfiutil/Makefile b/usr.sbin/mfiutil/Makefile
--- a/usr.sbin/mfiutil/Makefile
+++ b/usr.sbin/mfiutil/Makefile
@@ -9,7 +9,7 @@
CFLAGS.gcc+= -fno-builtin-strftime
-LIBADD= util
+LIBADD= sbuf util
# Here be dragons
.ifdef DEBUG
diff --git a/usr.sbin/mfiutil/mfi_drive.c b/usr.sbin/mfiutil/mfi_drive.c
--- a/usr.sbin/mfiutil/mfi_drive.c
+++ b/usr.sbin/mfiutil/mfi_drive.c
@@ -31,6 +31,7 @@
#include <sys/types.h>
#include <sys/errno.h>
+#include <sys/sbuf.h>
#include <ctype.h>
#include <err.h>
#include <fcntl.h>
@@ -56,9 +57,9 @@
mfi_drive_name(struct mfi_pd_info *pinfo, uint16_t device_id, uint32_t def)
{
struct mfi_pd_info info;
+ struct sbuf sb;
static char buf[16];
- char *p;
- int error, fd, len;
+ int fd;
if ((def & MFI_DNAME_HONOR_OPTS) != 0 &&
(mfi_opts & (MFI_DNAME_ES|MFI_DNAME_DEVICE_ID)) != 0)
@@ -89,40 +90,29 @@
pinfo = &info;
}
- p = buf;
- len = sizeof(buf);
+ sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN);
if (def & MFI_DNAME_DEVICE_ID) {
if (device_id == 0xffff)
- error = snprintf(p, len, "MISSING");
+ sbuf_printf(&sb, "MISSING");
else
- error = snprintf(p, len, "%2u", device_id);
- if (error >= 0) {
- p += error;
- len -= error;
- }
+ sbuf_printf(&sb, "%2u", device_id);
}
if ((def & (MFI_DNAME_ES|MFI_DNAME_DEVICE_ID)) ==
- (MFI_DNAME_ES|MFI_DNAME_DEVICE_ID) && len >= 2) {
- *p++ = ' ';
- len--;
- *p = '\0';
- len--;
+ (MFI_DNAME_ES|MFI_DNAME_DEVICE_ID)) {
+ sbuf_cat(&sb, " ");
}
if (def & MFI_DNAME_ES) {
if (pinfo->encl_device_id == 0xffff)
- error = snprintf(p, len, "S%u",
+ sbuf_printf(&sb, "S%u",
pinfo->slot_number);
else if (pinfo->encl_device_id == pinfo->ref.v.device_id)
- error = snprintf(p, len, "E%u",
+ sbuf_printf(&sb, "E%u",
pinfo->encl_index);
else
- error = snprintf(p, len, "E%u:S%u",
+ sbuf_printf(&sb, "E%u:S%u",
pinfo->encl_index, pinfo->slot_number);
- if (error >= 0) {
- p += error;
- len -= error;
- }
}
+ sbuf_finish(&sb);
return (buf);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 8, 4:25 PM (20 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29397546
Default Alt Text
D50883.id158118.diff (2 KB)

Event Timeline