changeset 4763:b85890a5b0e5

Added comments support in input.conf (comments lines with #) And fixed a possible bug
author albeu
date Wed, 20 Feb 2002 14:45:18 +0000
parents 81b8518d11ed
children 9579496a91db
files input/input.c
diffstat 1 files changed, 28 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/input/input.c	Wed Feb 20 10:02:29 2002 +0000
+++ b/input/input.c	Wed Feb 20 14:45:18 2002 +0000
@@ -555,6 +555,9 @@
     n++;
   }
 
+  if(num_key_fd == 0)
+    return NULL;
+
   if(time >= 0 ) {
     tv.tv_sec=time/1000; 
     tv.tv_usec = (time%1000)*1000;
@@ -701,6 +704,9 @@
     n++;
   }
 
+  if(num_cmd_fd == 0)
+    return NULL;
+
   if(time >= 0) {
     tv.tv_sec=time/1000; 
     tv.tv_usec = (time%1000)*1000;
@@ -885,7 +891,7 @@
 static int
 mp_input_parse_config(char *file) {
   int fd;
-  int bs = 0,r,eof = 0;
+  int bs = 0,r,eof = 0,comments = 0;
   char *iter,*end;
   char buffer[BS_MAX];
   int n_binds = 0, keys[MP_MAX_KEY_DOWN+1] = { 0 };
@@ -927,6 +933,23 @@
       
     iter = buffer;
 
+    if(comments) {
+      for( ; iter[0] != '\0' && iter[0] != '\n' ; iter++)
+	/* NOTHING */;
+      if(iter[0] == '\0') { // Buffer was full of comment
+	bs = 0;
+	continue;
+      }
+      iter++;
+      r = strlen(iter);
+      if(r)
+	memmove(buffer,iter,r+1);
+      bs = r+1;
+      if(iter[0] != '#')
+	comments = 0;
+      continue;
+    }
+
     // Find the wanted key
     if(keys[0] == 0) {
       // Jump beginnig space
@@ -936,6 +959,10 @@
 	bs = 0;
 	continue;
       }
+      if(iter[0] == '#') { // Comments
+	comments = 1;
+	continue;
+      }
       // Find the end of the key code name
       for(end = iter; end[0] != '\0' && strchr(SPACE_CHAR,end[0]) == NULL ; end++)
 	/*NOTHING */;