]> git.pld-linux.org Git - packages/blackbox.git/commitdiff
ab9453cd92263dcca5e154ad67c13591
authorjuandon <witekfl@pld-linux.org>
Sun, 3 Mar 2002 20:06:52 +0000 (20:06 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    blackbox-pipe.patch -> 1.1

blackbox-pipe.patch [new file with mode: 0644]

diff --git a/blackbox-pipe.patch b/blackbox-pipe.patch
new file mode 100644 (file)
index 0000000..f941639
--- /dev/null
@@ -0,0 +1,60 @@
+--- blackbox-0.62.1/src/Screen.cc      Sat Jan 12 12:13:09 2002
++++ blackbox-0.62.1.with_pipe/src/Screen.cc    Sun Mar  3 20:32:30 2002
+@@ -1710,7 +1710,13 @@
+   Bool defaultMenu = True;
+   if (blackbox->getMenuFilename()) {
+-    FILE *menu_file = fopen(blackbox->getMenuFilename(), "r");
++    int pipe_menu = 0;
++      FILE *menu_file;
++      if (*(blackbox->getMenuFilename()) == '|') {
++              pipe_menu = 1;
++              menu_file = popen((blackbox->getMenuFilename()) + 1, "r");
++      } 
++    else menu_file = fopen(blackbox->getMenuFilename(), "r");
+     if (!menu_file) {
+       perror(blackbox->getMenuFilename());
+@@ -1758,7 +1764,8 @@
+         }
+       }
+       }
+-      fclose(menu_file);
++        if (pipe_menu) pclose(menu_file);
++      else fclose(menu_file);
+     }
+   }
+@@ -1958,12 +1965,18 @@
+           }
+           if (newfile) {
+-            FILE *submenufile = fopen(newfile, "r");
++                int pipe_submenu = 0;
++                FILE *submenufile;
++                if (*newfile == '|') {
++                  pipe_submenu = 1;
++                      submenufile = popen(newfile + 1, "r");
++                }
++            else submenufile = fopen(newfile, "r");
+             if (submenufile) {
+                 struct stat buf;
+-                if (fstat(fileno(submenufile), &buf) ||
+-                    (! S_ISREG(buf.st_mode))) {
++                if (!pipe_submenu && (fstat(fileno(submenufile), &buf) ||
++                    (! S_ISREG(buf.st_mode)))) {
+                   fprintf(stderr,
+                         i18n->getMessage(ScreenSet, ScreenINCLUDEErrorReg,
+                            "BScreen::parseMenuFile: [include] error: "
+@@ -1974,8 +1987,8 @@
+               if (! feof(submenufile)) {
+                 if (! parseMenuFile(submenufile, menu))
+                   blackbox->saveMenuFilename(newfile);
+-
+-                fclose(submenufile);
++          if (pipe_submenu) pclose(submenufile);
++                else fclose(submenufile);
+               }
+             } else
+               perror(newfile);
This page took 0.0891 seconds and 4 git commands to generate.