}
}
+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];
+}