X-Git-Url: http://git.pk910.de/?p=TransparentIRC.git;a=blobdiff_plain;f=src%2Ftools.c;h=8316e01303ba3d570fd50b8f2fe9ce2b59539fed;hp=5a26b192382c690d35260e723cd31839faf22c25;hb=8889b0aee1dc430e735e2a0df462fd0aeee63847;hpb=4fdc419424dd18df5807ed4218a84fa38e1dd6f6 diff --git a/src/tools.c b/src/tools.c index 5a26b19..8316e01 100644 --- a/src/tools.c +++ b/src/tools.c @@ -138,3 +138,27 @@ int run_external_process(char *command, char **parameters) { //win32 incompatibl } } +char* merge_argv(char **argv, int start, int end) { + return merge_argv_char(argv, start, end, ' '); +} + +char* merge_argv_char(char **argv, int start, int end, char seperator) { + int i; + char *p = NULL; + while(!argv[start]) start++; + if(start >= end) + return NULL; + for(i = start; i < end; i++) { + p = argv[i]; + if(!p) continue; + while(*p) p++; + if(i < end-1) { + while(p != argv[i+1]) { + *p++ = seperator; + } + } else + *p = seperator; + } + if(p) *p = '\0'; + return argv[start]; +}