This fails:
Code: Alles auswählen
cmd = new eConsoleAppContainer("/var/bin/script")Code: Alles auswählen
cmd = new eConsoleAppContainer("ls /var")The problem remains if I use eStrings instead of the quoted string.

Code: Alles auswählen
cmd = new eConsoleAppContainer("/var/bin/script")Code: Alles auswählen
cmd = new eConsoleAppContainer("ls /var")
That would be a solution, indeed.digi_casi hat geschrieben:system("/var/bin/script");
should do as well...

Code: Alles auswählen
Index: apps/tuxbox/enigma/lib/base/console.cpp
===================================================================
--- apps/tuxbox/enigma/lib/base/console.cpp     (revision 1)
+++ apps/tuxbox/enigma/lib/base/console.cpp     (working copy)
@@ -180,6 +180,8 @@
                argv[cnt] = new char[ cmds.length() ];
                strcpy( argv[cnt], cmds.c_str() );
        }
+       else
+               cnt = 0 ;
   // get one read ,one write and the err pipe to the prog..

Code: Alles auswählen
	}
	else
		cnt=0;
  // get one read ,one write and the err pipe to the prog..
//	int tmp=0;
//	while(argv[tmp])
//		eDebug("%d is %s", tmp, argv[tmp++]);
  
	pid = bidirpipe(fd, argv[0], argv);
	while ( cnt > 0 )  // release heap memory
		delete [] argv[cnt--];
	delete [] argv;
Code: Alles auswählen
   }
	else
		cnt=1;
  // get one read ,one write and the err pipe to the prog..
//	int tmp=0;
//	while(argv[tmp])
//		eDebug("%d is %s", tmp, argv[tmp++]);
  
	pid = bidirpipe(fd, argv[0], argv);
	while ( cnt >= 0 )  // release heap memory
		delete [] argv[cnt--];
	delete [] argv;