katie/tests/auto/qfile/stdinprocess/main.cpp
Ivailo Monev b4bee2b752 add QFile test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-10 22:36:58 +03:00

52 lines
1.5 KiB
C++

/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2016 Ivailo Monev
**
** This file is part of the test suite of the Katie Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
**
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtCore>
int main(int argc, char *argv[])
{
if (argc < 2) {
printf("usage: stdinprocess <all|line <0|1>>\n");
printf("echos all its input to its output.\n");
return 1;
}
QFile file;
if (strcmp(argv[1], "all") == 0) {
file.open(stdin, QFile::ReadWrite);
printf("%s", file.readAll().constData());
} else if (strcmp(argv[1], "line") == 0) {
if (strcmp(argv[2], "0") == 0) {
file.open(stdin, QFile::ReadWrite);
} else {
file.open(0, QFile::ReadWrite);
}
char line[1024];
while (file.readLine(line, sizeof(line)) > 0) {
printf("%s", line);
fflush(stdout);
}
}
return 0;
}