@@ -2041,6 +2041,7 @@ make_percent_swname(char_u *dir, char_u *name)
20412041static int process_still_running ;
20422042#endif
20432043
2044+ #if defined(FEAT_EVAL ) || defined(PROTO )
20442045/*
20452046 * Return information found in swapfile "fname" in dictionary "d".
20462047 * This is used by the swapinfo() function.
@@ -2055,11 +2056,12 @@ get_b0_dict(char_u *fname, dict_T *d)
20552056 {
20562057 if (read_eintr (fd , & b0 , sizeof (b0 )) == sizeof (b0 ))
20572058 {
2058- if (b0_magic_wrong (& b0 ))
2059- {
2059+ if (ml_check_b0_id (& b0 ) == FAIL )
20602060 dict_add_string (d , "error" ,
2061- vim_strsave ((char_u * )"magic number mismatch" ));
2062- }
2061+ vim_strsave ((char_u * )"Not a swap file" ));
2062+ else if (b0_magic_wrong (& b0 ))
2063+ dict_add_string (d , "error" ,
2064+ vim_strsave ((char_u * )"Magic number mismatch" ));
20632065 else
20642066 {
20652067 /* we have swap information */
@@ -2070,9 +2072,10 @@ get_b0_dict(char_u *fname, dict_T *d)
20702072
20712073 dict_add_number (d , "pid" , char_to_long (b0 .b0_pid ));
20722074 dict_add_number (d , "mtime" , char_to_long (b0 .b0_mtime ));
2073- #ifdef CHECK_INODE
2075+ dict_add_number (d , "dirty" , b0 .b0_dirty ? 1 : 0 );
2076+ # ifdef CHECK_INODE
20742077 dict_add_number (d , "inode" , char_to_long (b0 .b0_ino ));
2075- #endif
2078+ # endif
20762079 }
20772080 }
20782081 else
@@ -2083,6 +2086,7 @@ get_b0_dict(char_u *fname, dict_T *d)
20832086 else
20842087 dict_add_string (d , "error" , vim_strsave ((char_u * )"Cannot open file" ));
20852088}
2089+ #endif
20862090
20872091/*
20882092 * Give information about an existing swap file.
0 commit comments