+void join_paths(char *path1,char *path2,char *new_path ){
+
+/* printf("strlen path1:%d\n",strlen(path1));
+ printf("strlen path2:%d\n",strlen(path2));
+ printf("path1; %s\n",path1);
+*/
+ add_to_buffer(&message_buffer, "joining paths:",MESSAGE_LEVEL_BASIC_TASKS,NPRINT);
+ append_to_buffer(&message_buffer,path1,MESSAGE_LEVEL_BASIC_TASKS,NPRINT);
+ append_to_buffer(&message_buffer, " and ",MESSAGE_LEVEL_BASIC_TASKS,NPRINT);
+ append_to_buffer(&message_buffer, path2,MESSAGE_LEVEL_BASIC_TASKS,PRINT);
+ if ( (path1[(sizeof(path1)/sizeof(char))-2]=='/') && path2[0]!='/') {
+ /*paths are compatiable. concatanate them. note -2 is because of \0*/
+ strcat(new_path,path1);
+ strcat(new_path,path2);
+ //char new_path[(sizeof(path1)/sizeof(char))+(sizeof(path2)/sizeof(char))];
+ //strcpy(new_path,strcat(path1,path2));
+ //return new_path;
+ }
+ else if ((path1[(sizeof(path1)/sizeof(char))-2]!='/') && path2[0]=='/') {
+ /*paths are compatiable. concatanate them*/
+ strcat(new_path,path1);
+ strcat(new_path,path2);
+ //char new_path[(sizeof(path1)/sizeof(char))+(sizeof(path2)/sizeof(char))];
+ //strcpy(new_path,strcat(path1,path2));
+ //return new_path;
+ }
+ else if ((path1[(sizeof(path1)/sizeof(char))-2]!='/') && path2[0]!='/') {
+ /*need to add a "/". */
+ strcat(new_path,path1);
+ strcat(new_path,"/");
+ strcat(new_path,path2);
+ //strcpy(new_path,strcat(path1,strcat("/\0",path2)));
+
+#if 0
+ copy_array(path1,new_path,0,0);
+ copy_array('\0',new_path,0,(sizeof(path1)/sizeof(char)));
+ copy_array(path2,new_path,0,(sizeof(path1)/sizeof(char))+1);
+ old method now trying to use copy_array
+ //char new_path[(sizeof(path1)/sizeof(char))+(sizeof(path2)/sizeof(char))+1];
+ for (x=0;x<=(sizeof(path1)/sizeof(char))-1;x++){
+ new_path[x]=path1[x];
+ }
+ new_path[x+1]='/';
+ for (x=(sizeof(path1)/sizeof(char)) ,i=0 ;i<=(sizeof(path2)/sizeof(char));x++,i++){
+ new_path[x]=path2[i];
+ }
+#endif