Skip to content

Commit f9703a3

Browse files
committed
Use uint64_t for file size
1 parent a8f6c3c commit f9703a3

23 files changed

+93
-93
lines changed

src/gui/folderstatusmodel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ namespace {
8080
// item if no items are in progress.
8181
SyncFileItem curItem = progress._lastCompletedItem;
8282
qint64 curItemProgress = -1; // -1 means finished
83-
qint64 biggerItemSize = 0;
83+
uint64_t biggerItemSize = 0;
8484
quint64 estimatedUpBw = 0;
8585
quint64 estimatedDownBw = 0;
8686
QStringList allFilenames;

src/libsync/common/syncjournaldb.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,13 @@ static bool deleteBatch(SqlQuery &query, const QStringList &entries, const QStri
11701170
return true;
11711171
}
11721172

1173+
bool SyncJournalDb::UploadInfo::validate(uint64_t size, qint64 modtime, const QByteArray &checksum) const
1174+
{
1175+
Q_ASSERT(!checksum.isEmpty());
1176+
Q_ASSERT(!_valid || !_contentChecksum.isEmpty());
1177+
return _valid && _size == size && _modtime == modtime && _contentChecksum == checksum;
1178+
}
1179+
11731180
SyncJournalDb::DownloadInfo SyncJournalDb::getDownloadInfo(const QString &file)
11741181
{
11751182
QMutexLocker locker(&_mutex);

src/libsync/common/syncjournaldb.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,13 @@ class OPENCLOUD_SYNC_EXPORT SyncJournalDb : public QObject
106106
{
107107
bool _valid = false;
108108

109-
qint64 _size = 0;
109+
uint64_t _size = 0;
110110
qint64 _modtime = 0;
111111
QByteArray _contentChecksum;
112112
QUrl _url; // upload url (tus)
113113
QString _path; // stored as utf16, used in local discovery
114114

115-
bool validate(qint64 size, qint64 modtime, const QByteArray &checksum) const
116-
{
117-
Q_ASSERT(!checksum.isEmpty());
118-
Q_ASSERT(!_valid || !_contentChecksum.isEmpty());
119-
return _valid && _size == size && _modtime == modtime && _contentChecksum == checksum;
120-
}
115+
bool validate(uint64_t size, qint64 modtime, const QByteArray &checksum) const;
121116
};
122117

123118
DownloadInfo getDownloadInfo(const QString &file);

src/libsync/common/syncjournalfilerecord.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class OCC::SyncJournalFileRecordData : public QSharedData
4040
ItemType _type = ItemTypeUnsupported;
4141
QString _etag;
4242
QByteArray _fileId;
43-
qint64 _fileSize = 0;
43+
uint64_t _fileSize = 0;
4444
RemotePermissions _remotePerm;
4545
bool _serverHasIgnoredFiles = false;
4646
bool _hasDirtyPlaceholder = false;
@@ -195,7 +195,7 @@ time_t SyncJournalFileRecord::modtime() const
195195
return d->_modtime.value_or(0);
196196
}
197197

198-
int64_t SyncJournalFileRecord::size() const
198+
uint64_t SyncJournalFileRecord::size() const
199199
{
200200
return d->_fileSize;
201201
}

src/libsync/common/syncjournalfilerecord.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class OPENCLOUD_SYNC_EXPORT SyncJournalFileRecord
6363
RemotePermissions remotePerm() const;
6464
QByteArray checksumHeader() const;
6565
time_t modtime() const;
66-
int64_t size() const;
66+
uint64_t size() const;
6767
uint64_t inode() const;
6868
ItemType type() const;
6969

src/libsync/common/utility.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,16 @@ namespace OCC {
6565

6666
Q_LOGGING_CATEGORY(lcUtility, "sync.utility", QtMsgType::QtInfoMsg)
6767

68-
QString Utility::octetsToString(qint64 octets)
68+
QString Utility::octetsToString(uint64_t octets)
6969
{
70-
OC_ASSERT(octets >= 0)
71-
7270
using namespace FileSystem::SizeLiterals;
7371

7472
// We do what macOS 10.8 and above do: 0 fraction digits for bytes and KB; 1 fraction digits for MB; 2 for GB and above.
7573
// See also https://developer.apple.com/documentation/foundation/nsbytecountformatter/1417887-adaptive
7674
int precision = 0;
77-
if (quint64(octets) >= 1_GiB) {
75+
if (octets >= 1_GiB) {
7876
precision = 2;
79-
} else if (quint64(octets) >= 1_MiB) {
77+
} else if (octets >= 1_MiB) {
8078
precision = 1;
8179
}
8280

src/libsync/common/utility.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
#include <QMap>
2929
#include <QMetaEnum>
3030
#include <QString>
31-
#include <QUrl>
3231
#include <QUrlQuery>
3332

3433
#include <functional>
@@ -50,7 +49,7 @@ OPENCLOUD_SYNC_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcUtility)
5049
namespace Utility
5150
{
5251
OPENCLOUD_SYNC_EXPORT void setupFavLink(const QString &folder);
53-
OPENCLOUD_SYNC_EXPORT QString octetsToString(qint64 octets);
52+
OPENCLOUD_SYNC_EXPORT QString octetsToString(uint64_t octets);
5453
OPENCLOUD_SYNC_EXPORT QByteArray userAgentString();
5554

5655
/**

src/libsync/discoveryinfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ class OCC::LocalInfoData : public QSharedData
5454
return;
5555
}
5656
_inode = sb.st_ino;
57+
Q_ASSERT(sb.st_size >= 0);
5758
_size = sb.st_size;
5859
_modtime = sb.st_mtime;
5960
#ifdef Q_OS_MAC
@@ -65,7 +66,7 @@ class OCC::LocalInfoData : public QSharedData
6566
QString _name;
6667
ItemType _type = ItemTypeUnsupported;
6768
time_t _modtime = 0;
68-
int64_t _size = 0;
69+
uint64_t _size = 0;
6970
uint64_t _inode = 0;
7071
bool _isHidden = false;
7172
};
@@ -129,7 +130,7 @@ time_t LocalInfo::modtime() const
129130
return d->_modtime;
130131
}
131132

132-
int64_t LocalInfo::size() const
133+
uint64_t LocalInfo::size() const
133134
{
134135
return d->_size;
135136
}

src/libsync/discoveryinfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class OPENCLOUD_SYNC_EXPORT LocalInfo
3636
/** FileName of the entry (this does not contain any directory or path, just the plain name */
3737
QString name() const;
3838
time_t modtime() const;
39-
int64_t size() const;
39+
uint64_t size() const;
4040
uint64_t inode() const;
4141
ItemType type() const;
4242
bool isDirectory() const;

src/libsync/discoveryremoteinfo.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ class OCC::RemoteInfoData : public QSharedData
3131
_size = 0;
3232
} else {
3333
if (auto it = Utility::optionalFind(map, "getcontentlength"_L1)) {
34-
// See #4573, sometimes negative size values are returned
35-
_size = std::max<int64_t>(0, it->value().toLongLong());
34+
_size = it->value().toULongLong();
3635
} else {
3736
errors.append(u"size"_s);
3837
}
@@ -74,7 +73,7 @@ class OCC::RemoteInfoData : public QSharedData
7473
QByteArray _checksumHeader;
7574
RemotePermissions _remotePerm;
7675
time_t _modtime = 0;
77-
int64_t _size = 0;
76+
uint64_t _size = 0;
7877
bool _isDirectory = false;
7978

8079
QString _error;
@@ -134,7 +133,7 @@ time_t RemoteInfo::modtime() const
134133
return d->_modtime;
135134
}
136135

137-
int64_t RemoteInfo::size() const
136+
uint64_t RemoteInfo::size() const
138137
{
139138
return d->_size;
140139
}

0 commit comments

Comments
 (0)