/*
- Bacula® - The Network Backup Solution
-
- Copyright (C) 2007-2010 Free Software Foundation Europe e.V.
-
- The main author of Bacula is Kern Sibbald, with contributions from
- many others, a complete list can be found in the file AUTHORS.
- This program is Free Software; you can redistribute it and/or
- modify it under the terms of version three of the GNU Affero General Public
- License as published by the Free Software Foundation and included
- in the file LICENSE.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
- Bacula® is a registered trademark of Kern Sibbald.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
+ Bacula(R) - The Network Backup Solution
+
+ Copyright (C) 2000-2016 Kern Sibbald
+
+ The original author of Bacula is Kern Sibbald, with contributions
+ from many others, a complete list can be found in the file AUTHORS.
+
+ You may use this file and others of this release according to the
+ license defined in the LICENSE file, which includes the Affero General
+ Public License, v3.0 ("AGPLv3") and some additional permissions and
+ terms pursuant to its AGPLv3 Section 7.
+
+ This notice must be preserved when any source code is
+ conveyed and/or propagated.
+
+ Bacula(R) is a registered trademark of Kern Sibbald.
*/
/*
Pmsg0(000, "update done\n");
}
-extern int decode_stat(char *buf, struct stat *statp, int32_t *LinkFI);
+extern int decode_stat(char *buf, struct stat *statp, int stat_size, int32_t *LinkFI);
// refresh button with a filter or limit/offset change
void bRestore::refreshView()
int col=0;
//PathId, FilenameId, fileid, jobid, lstat, path
fieldlist = resultline.split("\t");
+ /*
+ * Note, the next line zaps variable "item", probably
+ * because the input data in fieldlist is bad.
+ */
+ decode_stat(fieldlist.at(4).toLocal8Bit().data(), &statp, sizeof(statp), &LinkFI);
TableItemFormatter item(*FileList, row++);
item.setFileType(col++, QString("folder")); // folder or file
item.setTextFld(col++, fieldlist.at(5)); // path
- decode_stat(fieldlist.at(4).toLocal8Bit().data(),
- &statp, &LinkFI);
item.setBytesFld(col++, QString().setNum(statp.st_size));
item.setDateFld(col++, statp.st_mtime); // date
fieldlist.replace(3, m_jobids); // use current jobids selection
TableItemFormatter item(*FileList, row++);
item.setTextFld(col++, fieldlist.at(5)); // name
decode_stat(fieldlist.at(4).toLocal8Bit().data(),
- &statp, &LinkFI);
+ &statp, sizeof(statp), &LinkFI);
item.setBytesFld(col++, QString().setNum(statp.st_size));
item.setDateFld(col++, statp.st_mtime);
// keep original info on the first cel that is never empty
item.setTextFld(col++, fieldlist.at(6)); // Volume
item.setNumericFld(col++, fieldlist.at(3)); // JobId
decode_stat(fieldlist.at(4).toLocal8Bit().data(),
- &statp, &LinkFI);
+ &statp, sizeof(statp), &LinkFI);
item.setBytesFld(col++, QString().setNum(statp.st_size)); // size
item.setDateFld(col++, statp.st_mtime); // date
item.setTextFld(col++, fieldlist.at(5)); // chksum
}
item.setTextFld(col++, fields.at(5)); // filename
decode_stat(fields.at(4).toLocal8Bit().data(),
- &statp, &LinkFI);
+ &statp, sizeof(statp), &LinkFI);
item.setBytesFld(col++, QString().setNum(statp.st_size)); // size
item.setDateFld(col++, statp.st_mtime); // date
item.setNumericFld(col++, fields.at(3)); // jobid
fileids << lst.at(2);
jobids << lst.at(3);
decode_stat(lst.at(4).toLocal8Bit().data(),
- &statp, &LinkFI);
+ &statp, sizeof(statp), &LinkFI);
if (LinkFI) {
findexes << lst.at(3) + "," + QString().setNum(LinkFI);
}