diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2009-11-29 13:31:03 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2009-11-29 13:31:03 +0100 |
| commit | 9883e3b4eec8e457b49cb70ca006f5f7601332da (patch) | |
| tree | bb9c8fdb6e6a2a1b57458b2d036ee76040977265 | |
| parent | fa0bc075f4f3cfc841f4003914ce729820b09d22 (diff) | |
| download | tuxcmd-9883e3b4eec8e457b49cb70ca006f5f7601332da.tar.xz | |
Introduce inode_no property
| -rw-r--r-- | UCore.pas | 2 | ||||
| -rw-r--r-- | UCoreWorkers.pas | 2 | ||||
| -rw-r--r-- | UEngines.pas | 2 | ||||
| -rw-r--r-- | vfs/UVFSCore.pas | 1 | ||||
| -rw-r--r-- | vfs/uVFSprototypes.pas | 5 |
5 files changed, 8 insertions, 4 deletions
@@ -449,7 +449,7 @@ begin try WriteLn('**** List Item idx ', i, '; base @ ', integer(List[i]), '; sizeof = ', SizeOf(List[i])); Item := List[i]; - WriteLn(' Stage1: ', Item^.Stage1, ', Level: ', Item^.Level, ', IsDir: ', Item^.DataItem^.IsDir, ', IsLnk: ', Item^.DataItem^.IsLnk, ', ForceMove: ', Item^.ForceMove{, ', Size: ', Item^.Size}); + WriteLn(' Stage1: ', Item^.Stage1, ', Level: ', Item^.Level, ', IsDir: ', Item^.DataItem^.IsDir, ', IsLnk: ', Item^.DataItem^.IsLnk, ', ForceMove: ', Item^.ForceMove{, ', Size: ', Item^.DataItem^.Size}, ', inode: ', Item^.DataItem^.inode_no); WriteLn(' FName: ', Item^.DataItem^.FName); WriteLn(' LnkPointTo: ', Item^.DataItem^.LnkPointTo); WriteLn(' ADestination: ', Item^.ADestination); diff --git a/UCoreWorkers.pas b/UCoreWorkers.pas index bcdd07f..b2b6479 100644 --- a/UCoreWorkers.pas +++ b/UCoreWorkers.pas @@ -1371,7 +1371,7 @@ begin { if DestEngine.ChangeDir(CurrPath) <> 0 then DebugMsg(['*** WARNING: Cannot change to the origin location, strange behaviour may occur.']); if SrcEngine.ChangeDir(CurrPath) <> 0 then DebugMsg(['*** WARNING: Cannot change to the origin location, strange behaviour may occur.']); } -// DebugWriteListSL(List); + DebugWriteListSL(List); __chdir('/'); // Compute total size of files to copy diff --git a/UEngines.pas b/UEngines.pas index cc0e1f3..a8f1923 100644 --- a/UEngines.pas +++ b/UEngines.pas @@ -47,6 +47,7 @@ type ColumnData: array[0..9] of PChar; Size: cuLongLong; PackedSize: Int64; + inode_no: cuLong; UpDir: boolean; Mode, UID, GID: cuLong; IsDir, IsLnk, IsBlk, IsChr, IsFIFO, IsSock: boolean; @@ -318,6 +319,7 @@ begin Item^.GID := StatBuf^.st_gid; Item^.Size := StatBuf^.st_size; Item^.PackedSize := -1; + Item^.inode_no := StatBuf^.st_ino; libc_free(StatBuf); if Item^.IsLnk then begin diff --git a/vfs/UVFSCore.pas b/vfs/UVFSCore.pas index 90b31b5..2bccea7 100644 --- a/vfs/UVFSCore.pas +++ b/vfs/UVFSCore.pas @@ -433,6 +433,7 @@ begin Item^.GID := P^.iGID; Item^.Size := P^.iSize; Item^.PackedSize := P^.iPackedSize; + Item^.inode_no := P^.inode_no; Result := Item; end; diff --git a/vfs/uVFSprototypes.pas b/vfs/uVFSprototypes.pas index 75c7349..bef0246 100644 --- a/vfs/uVFSprototypes.pas +++ b/vfs/uVFSprototypes.pas @@ -90,9 +90,10 @@ type PVFSItem = ^TVFSItem; TVFSItem = record FName: PChar; - FDisplayName: PChar; // FDisplayName - plugins must return valid UTF-8 string + FDisplayName: PChar; // plugins must return valid UTF-8 string iSize: guint64; - iPackedSize: gint64; // iPackedSize - set to -1 if plugin doesn't support this feature + iPackedSize: gint64; // set to -1 if plugin doesn't support this feature + inode_no: guint64; // return 0 if not supported m_time: guint32; a_time: guint32; c_time: guint32; |
