Page MenuHomeFreeBSD

D58236.id182293.diff
No OneTemporary

D58236.id182293.diff

diff --git a/lib/libc/gen/uexterr_format.c b/lib/libc/gen/uexterr_format.c
--- a/lib/libc/gen/uexterr_format.c
+++ b/lib/libc/gen/uexterr_format.c
@@ -25,10 +25,22 @@
static const char *
cat_to_filename(int category)
{
- if (category < 0 || category >= nitems(cat_to_filenames) ||
- cat_to_filenames[category] == NULL)
+ switch (EXTERR_CAT_SRC(category)) {
+ case EXTERR_CAT_SRC_KERN_STATIC:
+ if (category < 0 || category >= nitems(cat_to_filenames) ||
+ cat_to_filenames[category] == NULL)
+ return ("unknown:kern");
+ return (cat_to_filenames[category]);
+
+ case EXTERR_CAT_SRC_KERN_DYNAMIC:
+ return ("unknown:kern");
+
+ case EXTERR_CAT_SRC_USER:
+ return ("unknown:user");
+
+ default:
return ("unknown");
- return (cat_to_filenames[category]);
+ }
}
static const char exterror_verbose_name[] = "EXTERROR_VERBOSE";
diff --git a/sys/sys/exterr_cat.h b/sys/sys/exterr_cat.h
--- a/sys/sys/exterr_cat.h
+++ b/sys/sys/exterr_cat.h
@@ -22,6 +22,18 @@
#ifndef _SYS_EXTERR_CAT_H_
#define _SYS_EXTERR_CAT_H_
+#define _EXTERR_CAT_SRC_SHIFT 28
+#define EXTERR_CAT_SRC_MASK (0xf << _EXTERR_CAT_SRC_SHIFT)
+
+#define EXTERR_CAT_SRC_KERN_STATIC (0 << _EXTERR_CAT_SRC_SHIFT)
+#define EXTERR_CAT_SRC_KERN_DYNAMIC (1 << _EXTERR_CAT_SRC_SHIFT)
+#define EXTERR_CAT_SRC_USER (2 << _EXTERR_CAT_SRC_SHIFT)
+
+#define EXTERR_CAT_SRC(c) ((c) & EXTERR_CAT_SRC_MASK)
+#define EXTERR_CAT(c) ((c) & ~EXTERR_CAT_SRC_MASK)
+
+#define EXTERR_CAT_NONE 0
+
#define EXTERR_CAT_MMAP 1
#define EXTERR_CAT_FILEDESC 2
#define EXTERR_KTRACE 3 /* To allow inclusion of this

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 26, 2:32 AM (12 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35485022
Default Alt Text
D58236.id182293.diff (1 KB)

Event Timeline