Bug #1723
Ide::IdePaste(String& data) shall be reviewed, it stop when file size reache 5000000 B without warning
| Status: | Approved | Start date: | 05/17/2017 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | Miroslav Fidler | % Done: | 0% | |
| Category: | IDE | Spent time: | - | |
| Target version: | - |
Description
In this function I noticed two things:
- it stops at 5000000 without warning
- I do not understand the condition (if(len > 5000000 || data.GetLength() + len < 5000000))
why (len > 5000000) ? perhaps it will be (len < 5000000)
- 5000000 as limit is too small.
void Ide::IdePaste(String& data)
{
data.Clear();
if(AcceptFiles(Clipboard())) {
Vector<String> s = GetFiles(Clipboard());
for(int i = 0; i < s.GetCount(); i++)
if(FileExists(s[i]) && IsTextFile(s[i], 10000)) {
int64 len = GetFileLength(s[i]);
if(len > 5000000 || data.GetLength() + len < 5000000)
data.Cat(LoadFile(s[i]));
}
}
}
here the patched function:
void Ide::IdePaste(String& data)
{
data.Clear();
if(AcceptFiles(Clipboard())) {
Vector<String> s = GetFiles(Clipboard());
for(int i = 0; i < s.GetCount(); i++)
if(FileExists(s[i]) && IsTextFile(s[i], 10000)) {
int64 len = GetFileLength(s[i]);
if( data.GetLength() + len > 104857600) {
Exclamation("The file size reaches the limit of 100 MB.");
return;
}
data.Cat(LoadFile(s[i]));
}
}
}
History
#1 Updated by Abdelghani Omari over 8 years ago
- Status changed from New to Patch ready
#2 Updated by Abdelghani Omari over 8 years ago
- Description updated (diff)
#3 Updated by Miroslav Fidler over 8 years ago
- Status changed from Patch ready to Approved