Fix delete_module decoding

* xlat/delete_module_flags.in: New file.
* file.c (sys_delete_module): Move ...
* bjm.c (sys_delete_module): ... to here.
Decode 1st argument using printstr instead of printpath.
* NEWS: Mention it.
diff --git a/NEWS b/NEWS
index 2e05dd2..3347236 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,8 @@
   * Enhanced tracing of ARM personality processes on AArch64.
   * Enhanced 32/64bit personality detection on PowerPC.
   * Robustified decoding of select, pselect, and io_submit syscalls.
-  * Enhanced decoding of fcntl, setns, and sync_file_range syscalls.
+  * Enhanced decoding of delete_module, fcntl, setdomainname, sethostname,
+    setns, and sync_file_range syscalls.
   * Enhanced decoding of signal bitmasks.
   * Enhanced decoding of file descriptors.
   * Enhanced siginfo_t decoding.
diff --git a/bjm.c b/bjm.c
index 9e4d0fe..b34c6ed 100644
--- a/bjm.c
+++ b/bjm.c
@@ -71,6 +71,7 @@
 
 #include "xlat/qm_which.h"
 #include "xlat/modflags.h"
+#include "xlat/delete_module_flags.h"
 
 int
 sys_query_module(struct tcb *tcp)
@@ -174,6 +175,17 @@
 }
 
 int
+sys_delete_module(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printstr(tcp, tcp->u_arg[0], -1);
+		tprints(", ");
+		printflags(delete_module_flags, tcp->u_arg[1], "O_???");
+	}
+	return 0;
+}
+
+int
 sys_init_module(struct tcb *tcp)
 {
 	if (entering(tcp)) {
diff --git a/file.c b/file.c
index f817182..a92a7dc 100644
--- a/file.c
+++ b/file.c
@@ -312,12 +312,6 @@
 	return decode_open(tcp, 0);
 }
 
-int sys_delete_module(struct tcb *tcp)
-{
-	decode_open(tcp, 0);
-	return RVAL_DECIMAL;
-}
-
 int
 sys_openat(struct tcb *tcp)
 {
diff --git a/xlat/delete_module_flags.in b/xlat/delete_module_flags.in
new file mode 100644
index 0000000..8f02711
--- /dev/null
+++ b/xlat/delete_module_flags.in
@@ -0,0 +1,2 @@
+O_NONBLOCK
+O_TRUNC