summaryrefslogtreecommitdiff
path: root/plugins/console/patches/console-0.6.0.diff
blob: dbda8271f659062ec3620605193a9bcee4fd0b35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
diff -Nur console-0.6.0/console.c console-0.6.0-n/console.c
--- console-0.6.0/console.c	2004-09-11 23:44:25.000000000 +0200
+++ console-0.6.0-n/console.c	2006-11-07 02:10:27.000000000 +0100
@@ -60,14 +60,34 @@
 
 const char *cPluginConsole::CommandLineHelp() {
 
-  return NULL;  
+  // Return a string that describes all known command line options.
+  return "  -c prog, --command=prog   specify the programm which is\n"
+         "                            called when you start the plugin\n";
 }
 
 
 
 bool cPluginConsole::ProcessArgs(int argc, char *argv[]) {
 
-  return true;
+  // Implement command line argument processing here if applicable.
+   static struct option long_options[] = {
+       { "command", required_argument, 	NULL, 'c' },
+       {  NULL,   no_argument,		NULL,  0  },
+   };
+   
+   int c;
+   while ((c = getopt_long(argc, argv, "c:", long_options, NULL)) != -1) {
+      switch (c) {
+	 case 'c':
+	    fprintf(stderr, "arg: %s\n", optarg);
+	    ConsoleCmd = strdup(optarg);
+	    break;
+	 default:
+	    fprintf(stderr, "arg char: %c\n", c);
+	    return false;
+      }
+   }
+   return true;
 }
 
 
diff -Nur console-0.6.0/Makefile console-0.6.0-n/Makefile
--- console-0.6.0/Makefile	2006-11-07 02:04:40.000000000 +0100
+++ console-0.6.0-n/Makefile	2006-11-07 02:10:27.000000000 +0100
@@ -16,7 +16,7 @@
 ### The C++ compiler and options:
 
 CXX      = g++
-CXXFLAGS = -O2 -Wall -Woverloaded-virtual
+CXXFLAGS = -fPIC -O2 -Wall -Woverloaded-virtual
 
 ### The directory environment:
 
diff -Nur console-0.6.0/menu.c console-0.6.0-n/menu.c
--- console-0.6.0/menu.c	2004-09-12 00:10:57.000000000 +0200
+++ console-0.6.0-n/menu.c	2006-11-07 02:10:27.000000000 +0100
@@ -1210,14 +1210,14 @@
     }
     case kNone:
                     // Handle blinking elements
-                    if (time_ms() >= _nextBlinkTime) {
+                    if ((int)cTimeMs::Now() >= _nextBlinkTime) {
 
-                      _nextBlinkTime = time_ms() + config.BlinkRate * 100;
+                      _nextBlinkTime = cTimeMs::Now() + config.BlinkRate * 100;
                       _blink = !_blink;
                     }
 
                     // Handle keyboard releaseing
-                    if (time_ms() >= _timeReleaseCapture) {
+                    if ((int)cTimeMs::Now() >= _timeReleaseCapture) {
                       _timeReleaseCapture = INT_MAX;
 
                       // Time elapsed -> repost ESC...
@@ -1243,10 +1243,10 @@
                       _pConsole->getScreen().BellSeen();
 
                       if (config.BellTimeout) {
-                        _toRing = time_ms() + config.BellTimeout * 1000;
+                        _toRing = cTimeMs::Now() + config.BellTimeout * 1000;
                         state = osUser1;
                       }
-                    } else if (_toRing && time_ms() > _toRing) {
+                    } else if (_toRing && (int)cTimeMs::Now() > _toRing) {
                       _toRing = 0;
                       state = osUser1;
                     }
@@ -1441,7 +1441,7 @@
           // esc detected. Ask for exit
           if (data[i] == ESC) {
 
-            _timeReleaseCapture = time_ms() + 1000;
+            _timeReleaseCapture = cTimeMs::Now() + 1000;
             _inputState = 1;
 
           } else
diff -Nur console-0.6.0/virtualconsoles.c console-0.6.0-n/virtualconsoles.c
--- console-0.6.0/virtualconsoles.c	2004-09-11 23:40:18.000000000 +0200
+++ console-0.6.0-n/virtualconsoles.c	2006-11-07 02:10:27.000000000 +0100
@@ -20,6 +20,17 @@
 #include "i18n.h"
 
 
+// This program will be used to realize a console.
+// Be carefull! If your VDR runs as root, then every
+// user can kill your machine if you don't protect
+// the cnsoles.
+// So the default is "/bin/login".
+
+#ifdef CONSOLE_USE_SHELL_INSTEAD_LOGIN
+const char *ConsoleCmd="/bin/sh";
+#else
+const char *ConsoleCmd="/bin/login";
+#endif
 
 
 cConsConsoles::cConsConsoles()
@@ -128,9 +139,9 @@
 
 int cConsConsoles::CreateConsole() {
 
-  char* const args[] = {PROG_FOR_CONSOLE, NULL};
+  char* const args[] = { (char*)ConsoleCmd, NULL };
 
-  cConsVirtualConsole* p = new cConsVirtualConsole(tr("Console"), PROG_FOR_CONSOLE, args);
+  cConsVirtualConsole* p = new cConsVirtualConsole( tr("Console"), ConsoleCmd, args );
 
   if (p) {
 
diff -Nur console-0.6.0/virtualconsoles.h console-0.6.0-n/virtualconsoles.h
--- console-0.6.0/virtualconsoles.h	2004-09-11 23:40:18.000000000 +0200
+++ console-0.6.0-n/virtualconsoles.h	2006-11-07 02:10:27.000000000 +0100
@@ -21,19 +21,7 @@
 
 
 
-// This program will be used to realize a console.
-// Be carefull! If your VDR runs as root, then every
-// user can kill your machine if you don't protect
-// the cnsoles.
-// So the default is "/bin/login".
-
-#ifdef CONSOLE_USE_SHELL_INSTEAD_LOGIN
-#define PROG_FOR_CONSOLE "/bin/sh"
-#else
-#define PROG_FOR_CONSOLE "/bin/login"
-#endif
-
-
+extern const char *ConsoleCmd;
 
 
 class cConsVirtualConsole;