summaryrefslogtreecommitdiff
path: root/community/xdiskusage/stdin-is-null.patch
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
committerroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
commit8fbc0076a4827ddc6af92e0b9daa4c4c31450808 (patch)
tree03fd0e2921ebd53228d9a93e32ed3976b636cbea /community/xdiskusage/stdin-is-null.patch
parente445a313723389ba9ee1fded025c567dae5b21ea (diff)
Fri Jul 19 01:09:18 PDT 2013
Diffstat (limited to 'community/xdiskusage/stdin-is-null.patch')
-rw-r--r--community/xdiskusage/stdin-is-null.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/community/xdiskusage/stdin-is-null.patch b/community/xdiskusage/stdin-is-null.patch
new file mode 100644
index 000000000..e70789c13
--- /dev/null
+++ b/community/xdiskusage/stdin-is-null.patch
@@ -0,0 +1,31 @@
+--- xdiskusage-1.48/xdiskusage.C 2004-09-21 07:23:14.000000000 +0200
++++ xdiskusage-1.48.carles/xdiskusage.C 2007-07-30 23:42:05.000000000 +0200
+@@ -223,6 +223,19 @@
+ return 1;
+ }
+
++// returns true if stdin is /dev/null
++// To fix Debian bug #276193
++// Technically could be possible that returns "true" and is not "true",
++// because same device ID is used across file systems. But is the best
++// solutions that I have
++int isstdinnull() {
++ struct stat ststdin,stnull;
++ stat("/dev/null",&stnull);
++ fstat(0,&ststdin);
++
++ return (ststdin.st_rdev==stnull.st_rdev);
++}
++
+ int main(int argc, char**argv) {
+ #if FL_MAJOR_VERSION < 2
+ // Make fltk look more like KDE/Windoze:
+@@ -253,7 +266,7 @@
+ OutputWindow* d = OutputWindow::make(argv[n++]);
+ if (d) d->show(argc,argv);
+ }
+- } else if (!isatty(0)) {
++ } else if (!isatty(0) && !isstdinnull()) {
+ // test for pipe, if so read stdin:
+ OutputWindow* d = OutputWindow::make(0);
+ if (d) d->show(argc,argv);