blob: b29e5dc7b2d06e2d9807ceafe8e3649f5c424b3e [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001From b81fb7942ab77b0bf6791e5fd98411dd68f133d9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 18 Dec 2022 15:13:00 -0800
4Subject: [PATCH] libyui-ncurses: Replace off64_t with off_t and stat64 with stat
5
6stat is same as stat64 when 64bit off_t is used.
7
8Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/88]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 CMakeLists.txt | 2 +-
12 src/NCAskForFile.cc | 6 +++---
13 src/NCFileSelection.cc | 24 ++++++++++++------------
14 src/NCFileSelection.h | 6 +++---
15 4 files changed, 19 insertions(+), 19 deletions(-)
16
17diff --git a/CMakeLists.txt b/libyui-ncurses/CMakeLists.txt
18index b10eab8e..2000bb58 100644
19--- a/CMakeLists.txt
20+++ b/CMakeLists.txt
21@@ -58,7 +58,7 @@ set( CMAKE_INSTALL_MESSAGE LAZY ) # Suppress "up-to-date" messages during "make
22 # Initialize compiler flags for all targets in all subdirectories
23 add_compile_options( "-Wall" )
24 add_compile_options( "-Os" ) # Optimize for size (overrides CMake's -O3 in RELEASE builds)
25-
26+add_compile_options( "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ) # Enable largefile support
27 if ( WERROR )
28 add_compile_options( "-Werror" )
29 endif()
30diff --git a/src/NCAskForFile.cc b/libyui-ncurses/src/NCAskForFile.cc
31index aba6e0a6..44bb81bc 100644
32--- a/src/NCAskForFile.cc
33+++ b/src/NCAskForFile.cc
34@@ -73,8 +73,8 @@ std::string NCAskForFile::checkIniDir( std::string iniDir )
35 {
36 std::string dname = "";
37
38- struct stat64 statInfo;
39- stat64( iniDir.c_str(), &statInfo );
40+ struct stat statInfo;
41+ stat( iniDir.c_str(), &statInfo );
42
43 if ( S_ISDIR( statInfo.st_mode ) )
44 {
45@@ -90,7 +90,7 @@ std::string NCAskForFile::checkIniDir( std::string iniDir )
46 && pos != 0 )
47 {
48 std::string dir = iniDir.substr( 0, pos );
49- stat64( dir.c_str(), &statInfo );
50+ stat( dir.c_str(), &statInfo );
51
52 if ( S_ISDIR( statInfo.st_mode ) )
53 {
54diff --git a/src/NCFileSelection.cc b/libyui-ncurses/src/NCFileSelection.cc
55index 3eb9c908..8894dc72 100644
56--- a/src/NCFileSelection.cc
57+++ b/src/NCFileSelection.cc
58@@ -46,7 +46,7 @@ using std::list;
59
60
61 NCFileInfo::NCFileInfo( string fileName,
62- struct stat64 * statInfo,
63+ struct stat * statInfo,
64 bool link )
65 {
66 _name = fileName;
67@@ -146,7 +146,7 @@ NCFileInfo::NCFileInfo()
68 _mode = ( mode_t )0;
69 _device = ( dev_t )0;
70 _links = ( nlink_t )0;
71- _size = ( off64_t )0;
72+ _size = ( off_t )0;
73 _mtime = ( time_t )0;
74 }
75
76@@ -177,11 +177,11 @@ NCFileSelection::NCFileSelection( YWidget * parent,
77 {
78 SetSepChar( ' ' );
79
80- struct stat64 statInfo;
81+ struct stat statInfo;
82
83 if ( !iniDir.empty() )
84 {
85- stat64( iniDir.c_str(), &statInfo );
86+ stat( iniDir.c_str(), &statInfo );
87 }
88
89 if ( iniDir.empty()
90@@ -559,8 +559,8 @@ NCursesEvent NCFileTable::wHandleInput( wint_t key )
91 bool NCFileTable::fillList()
92 {
93
94- struct stat64 statInfo;
95- struct stat64 linkInfo;
96+ struct stat statInfo;
97+ struct stat linkInfo;
98 struct dirent * entry;
99 list<string> tmpList;
100 list<string>::iterator it;
101@@ -592,7 +592,7 @@ bool NCFileTable::fillList()
102 {
103 string fullName = currentDir + "/" + ( *it );
104
105- if ( lstat64( fullName.c_str(), &statInfo ) == 0 )
106+ if ( lstat( fullName.c_str(), &statInfo ) == 0 )
107 {
108 if ( S_ISREG( statInfo.st_mode ) || S_ISBLK( statInfo.st_mode ) )
109 {
110@@ -604,7 +604,7 @@ bool NCFileTable::fillList()
111 }
112 else if ( S_ISLNK( statInfo.st_mode ) )
113 {
114- if ( stat64( fullName.c_str(), &linkInfo ) == 0 )
115+ if ( stat( fullName.c_str(), &linkInfo ) == 0 )
116 {
117 if ( S_ISREG( linkInfo.st_mode ) || S_ISBLK( linkInfo.st_mode ) )
118 {
119@@ -701,8 +701,8 @@ void NCDirectoryTable::fillHeader()
120
121 bool NCDirectoryTable::fillList()
122 {
123- struct stat64 statInfo;
124- struct stat64 linkInfo;
125+ struct stat statInfo;
126+ struct stat linkInfo;
127 struct dirent * entry;
128 list<string> tmpList;
129 list<string>::iterator it;
130@@ -734,7 +734,7 @@ bool NCDirectoryTable::fillList()
131 {
132 string fullName = currentDir + "/" + ( *it );
133
134- if ( lstat64( fullName.c_str(), &statInfo ) == 0 )
135+ if ( lstat( fullName.c_str(), &statInfo ) == 0 )
136 {
137 if ( S_ISDIR( statInfo.st_mode ) )
138 {
139@@ -746,7 +746,7 @@ bool NCDirectoryTable::fillList()
140 }
141 else if ( S_ISLNK( statInfo.st_mode ) )
142 {
143- if ( stat64( fullName.c_str(), &linkInfo ) == 0 )
144+ if ( stat( fullName.c_str(), &linkInfo ) == 0 )
145 {
146 if ( S_ISDIR( linkInfo.st_mode ) )
147 {
148diff --git a/src/NCFileSelection.h b/libyui-ncurses/src/NCFileSelection.h
149index 0569215d..5c459d62 100644
150--- a/src/NCFileSelection.h
151+++ b/src/NCFileSelection.h
152@@ -44,10 +44,10 @@
153 struct NCFileInfo
154 {
155 /**
156- * Constructor from a stat buffer (i.e. based on an lstat64() call).
157+ * Constructor from a stat buffer (i.e. based on an lstat() call).
158 **/
159 NCFileInfo( std::string fileName,
160- struct stat64 * statInfo,
161+ struct stat * statInfo,
162 bool link = false );
163
164 NCFileInfo();
165@@ -65,7 +65,7 @@ struct NCFileInfo
166 dev_t _device; // device this object resides on
167 mode_t _mode; // file permissions + object type
168 nlink_t _links; // number of links
169- off64_t _size; // size in bytes
170+ off_t _size; // size in bytes
171 time_t _mtime; // modification time
172
173 bool isDir() { return (( S_ISDIR( _mode ) ) ? true : false ); }
174--
1752.39.0
176