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