Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/etk_server/src/bin


Modified Files:
        etk_server.c 


Log Message:
- remove useless file
- add ruby example
- fix \0 cruft

===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk_server/src/bin/etk_server.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- etk_server.c        19 Mar 2006 15:39:45 -0000      1.1
+++ etk_server.c        19 Mar 2006 18:21:27 -0000      1.2
@@ -61,23 +61,29 @@
             char *end;
             char *args[64];
             void *(*func)(void *, ...);
-                            
-            if(input[len -1] == '\n')
-              input[len - 1] = '\0';        
+                                            
+            //if(input[len - 1] == '\n')
+            //  input[len - 1] = '\0';
             
-            for(i = 0; i < strlen(input); i++)
-              if(input[i] == ' ')
-                ++spaces;
+            for(i = 0; i < len; i++)
+              {
+                 if(input[i] == ' ')
+                   ++spaces;
+                 if(input[i] == '\n')
+                   input[i] = '\0';
+                 if(input[i] == '\0' && i < len - 1)
+                   input[i] = ' ';
+              }
             
             if(spaces == 0)
               {
                  if((func = etk_server_function_exists(input)) != NULL)
                    {
                       void *ret = NULL;
-                      char varname[32];
-
+                      char varname[32];                       
+                      
                       ret = func(NULL);
-
+                      
                       if(ret != NULL && strncmp(input, "etk_server", 10))
                         {
                            snprintf(varname, sizeof(varname), "var%d", 
_etk_server_var_num);
@@ -98,9 +104,9 @@
                         }
 
                       if(ret != NULL)
-                        fwrite(varname, sizeof(char), strlen(varname) + 1, 
fifo);
+                        fwrite(varname, sizeof(char), strlen(varname), fifo);
                       else
-                        fwrite("\0", sizeof(char), strlen("\0") + 1, fifo);
+                        fwrite("\0", sizeof(char), strlen("\0"), fifo);
 
                       fclose(fifo);
                    }
@@ -121,7 +127,7 @@
             state = laststate = out;
             start = end = &input[0];
 
-            for(i = 0; i <= strlen(input); i++)
+            for(i = 0; i <= len; i++)
               {
                  if(input[i] == '\0')
                    {
@@ -230,15 +236,17 @@
                    }
 
                  if(ret != NULL)
-                   fwrite(varname, sizeof(char), strlen(varname) + 1, fifo);
+                   fwrite(varname, sizeof(char), strlen(varname), fifo);
                  else
-                   fwrite("\0", sizeof(char), strlen("\0") + 1, fifo);
+                   fwrite("\0", sizeof(char), strlen("\0"), fifo);
 
                  fclose(fifo);
               }
             else              
               fclose(fifo);           
          }
+       else
+         fprintf(stderr, "etk_server error: cant read from fifo!\n");
      }
 
    return 0;
@@ -311,8 +319,8 @@
        func = dlsym(handle_self, func_name);
        if(!func)
          return NULL;
-     }
-
+     }   
+   
    return func;
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to