.free = NULL,
};
-/* #define UNIX_LINE_LEN 54 + 21 + UNIX_LINE_LEN + 1 */
+/* #define UNIX_LINE_LEN 54 + 21 + UNIX_LINE_LEN + 1
+ *
+ * An actual number must be used in this definition
+ * since UNIX_LINE_LEN is specified as an argument for
+ * stringify_value().
+ */
#define UNIX_LINE_LEN 256
static void load_xinfo_from_proc_unix(ino_t netns_inode)
{
unsigned int st;
unsigned long inode;
struct unix_xinfo *ux;
- char path[UNIX_LINE_LEN] = { 0 };
+ char path[UNIX_LINE_LEN + 1] = { 0 };
- if (sscanf(line, "%*x: %*x %*x %" SCNx64 " %x %x %lu %s",
+ if (sscanf(line, "%*x: %*x %*x %" SCNx64 " %x %x %lu %"
+ stringify_value(UNIX_LINE_LEN) "[^\n]",
&flags, &type, &st, &inode, path) < 4)
continue;
4 SOCK state=connected connected stream 0
5 SOCK state=connected path=test_mkfds-unix-stream-shutdown connected stream 0 test_mkfds-unix-stream-shutdown
(shutdown) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
+ 3 SOCK state=listen path=test_mkfds-unix with spaces stream listen stream 1 test_mkfds-unix with spaces stream
+ 4 SOCK state=connected connected stream 0
+ 5 SOCK state=connected path=test_mkfds-unix with spaces stream connected stream 0 test_mkfds-unix with spaces stream
+ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
3 SOCK state=listen path=test_mkfds-unix-seqpacket type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket
4 SOCK state=connected type=seqpacket connected seqpacket 0
5 SOCK state=connected path=test_mkfds-unix-seqpacket type=seqpacket connected seqpacket 0 test_mkfds-unix-seqpacket
4 SOCK state=connected type=seqpacket connected seqpacket 0
5 SOCK state=connected path=test_mkfds-unix-seqpacket-shutdown type=seqpacket connected seqpacket 0 test_mkfds-unix-seqpacket-shutdown
(shutdown) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
+ 3 SOCK state=listen path=test_mkfds-unix with spaces seqpacket type=seqpacket listen seqpacket 1 test_mkfds-unix with spaces seqpacket
+ 4 SOCK state=connected type=seqpacket connected seqpacket 0
+ 5 SOCK state=connected path=test_mkfds-unix with spaces seqpacket type=seqpacket connected seqpacket 0 test_mkfds-unix with spaces seqpacket
+ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
kill -CONT "${PID}"
wait "${MKFDS_PID}"
fi
+
+ coproc MKFDS { "$TS_HELPER_MKFDS" unix-stream $FDS $FDC $FDA \
+ path="test_mkfds-unix with spaces ${t}" \
+ type=$t ; }
+ if read -r -u "${MKFDS[0]}" PID; then
+ ${TS_CMD_LSFD} -n \
+ -o ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH \
+ -p "${PID}" -Q "${EXPR}"
+ echo 'ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH': $?
+
+ kill -CONT "${PID}"
+ wait "${MKFDS_PID}"
+ fi
+
done
} > "$TS_OUTPUT" 2>&1