Ignore files according to ignore set on whatsnew --look-for-adds
[vng.git] / Vng.cpp
blobde99ee3e36252f8508ec68ecba0155ab62f52109
1 /*
2 * This file is part of the vng project
3 * Copyright (C) 2008 Thomas Zander <tzander@trolltech.com>
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #include "Vng.h"
20 #include <QProcess>
21 #include <QDebug>
23 using namespace Vng;
25 qint64 Vng::readLine(QIODevice *device, char *buffer, int maxLength)
27 device->waitForReadyRead(-1);
28 return device->readLine(buffer, maxLength);
31 bool Vng::copyFile(QIODevice &from, QIODevice &to) {
32 to.open(QIODevice::WriteOnly);
33 char buf[4096];
34 while (true) {
35 from.waitForReadyRead(-1);
36 qint64 len = from.read(buf, sizeof(buf));
37 if (len <= 0) { // done!
38 to.close();
39 break;
41 while(len > 0) {
42 qint64 written = to.write(buf, len);
43 if (written == -1) // write error!
44 return false;
45 len -= written;
48 return true;