]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsfd: use \n as the separator in INOTIFY.INODES and INOTIFY.INODES.RAW columns
authorMasatake YAMATO <yamato@redhat.com>
Sun, 18 Jun 2023 21:40:50 +0000 (06:40 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Thu, 22 Jun 2023 05:29:08 +0000 (14:29 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
misc-utils/lsfd-unkn.c
tests/expected/lsfd/mkfds-inotify
tests/ts/lsfd/mkfds-inotify

index d76701ed0d191ceebd2ec9f5fbb9e4886818c2a8..76292f3b8144dddf244885660b996765c1991cfe 100644 (file)
@@ -839,6 +839,7 @@ static bool anon_inotify_probe(const char *str)
 #define ANON_INOTIFY_MINOR(dev)        ((unsigned int) ((dev) &  ANON_INOTIFY_MINORMASK))
 
 static char *anon_inotify_make_inodes_string(const char *prefix,
+                                            const char *sep,
                                             enum decode_source_level decode_level,
                                             struct anon_inotify_data *data)
 {
@@ -856,7 +857,7 @@ static char *anon_inotify_make_inodes_string(const char *prefix,
                decode_source(source, sizeof(source),
                              ANON_INOTIFY_MAJOR(inode->sdev), ANON_INOTIFY_MINOR(inode->sdev),
                              decode_level);
-               snprintf(buf, sizeof(buf), "%s%llu@%s", first_element? prefix: ",",
+               snprintf(buf, sizeof(buf), "%s%llu@%s", first_element? prefix: sep,
                         (unsigned long long)inode->ino, source);
                first_element = false;
 
@@ -868,7 +869,7 @@ static char *anon_inotify_make_inodes_string(const char *prefix,
 
 static char *anon_inotify_get_name(struct unkn *unkn)
 {
-       return anon_inotify_make_inodes_string("inodes=", DECODE_SOURCE_FULL,
+       return anon_inotify_make_inodes_string("inodes=", ",", DECODE_SOURCE_FULL,
                                               (struct anon_inotify_data *)unkn->anon_data);
 }
 
@@ -926,13 +927,13 @@ static bool anon_inotify_fill_column(struct proc *proc  __attribute__((__unused_
 
        switch(column_id) {
        case COL_INOTIFY_INODES:
-               *str = anon_inotify_make_inodes_string("", DECODE_SOURCE_FULL,
+               *str = anon_inotify_make_inodes_string("", "\n", DECODE_SOURCE_FULL,
                                                       data);
                if (*str)
                        return true;
                break;
        case COL_INOTIFY_INODES_RAW:
-               *str = anon_inotify_make_inodes_string("", DECODE_SOURCE_MAJMIN,
+               *str = anon_inotify_make_inodes_string("", "\n", DECODE_SOURCE_MAJMIN,
                                                       data);
                if (*str)
                        return true;
index 85822605a713fb7fe36054793064e2617a4e4eee..f456649405f453687270e6642e7daba003b0daef 100644 (file)
@@ -1,2 +1,2 @@
 INOTIFY.INODES.RAW: 0
-INOTIFY.INODES.RAW == FSTAB,ROOT
+INOTIFY.INODES.RAW == FSTAB\x0aROOT
index f6c45185c57940b6406a4fa636ae5fb9542213d3..2097c73bb83398862fd60fe298567b9f8e425f59 100755 (executable)
@@ -38,8 +38,8 @@ FSTAB="$(stat -c %i /etc/fstab)"@"$(((FSTAB_DEV >> 8) & 255)):$((FSTAB_DEV & 255
        EXPR='(PID == '"${PID}"') and (FD == '"$FD"')'
        INODES_RAW=$(${TS_CMD_LSFD} --raw -n -o INOTIFY.INODES.RAW -Q "${EXPR}")
        echo "INOTIFY.INODES.RAW": $?
-       if [[ "$INODES_RAW" == "$FSTAB","$ROOT" ]]; then
-           echo "INOTIFY.INODES.RAW" == "FSTAB","ROOT"
+       if [[ "$INODES_RAW" ==  "${FSTAB}"'\x0a'"${ROOT}" ]]; then
+           echo "INOTIFY.INODES.RAW" == FSTAB'\x0a'ROOT
        else
            echo "INOTIFY.INODES.RAW": "$INODES_RAW"
            echo "FSTAB": "$FSTAB"