Author: kalim Date: 2005-08-26 21:18:39 +0000 (Fri, 26 Aug 2005) New Revision: 9667
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9667 Log: Changed the way cmd_mput checks if a directory exists. (Thanks to derrell for catching that). -Kalim Modified: branches/SOC/SAMBA_3_0/source/client/client.c Changeset: Modified: branches/SOC/SAMBA_3_0/source/client/client.c =================================================================== --- branches/SOC/SAMBA_3_0/source/client/client.c 2005-08-26 20:29:01 UTC (rev 9666) +++ branches/SOC/SAMBA_3_0/source/client/client.c 2005-08-26 21:18:39 UTC (rev 9667) @@ -1663,25 +1663,25 @@ if (!seek_list(temp_list, lname)) break; } else { /* Yes */ - int dh; SAFE_FREE(rname); if(asprintf(&rname, "smb:%s%s%s", service, cur_dir, lname) < 0) break; /*dos_format(rname);*/ /* test if the directory exists by opening it */ - if (!((dh=smbc_opendir(rname)) < 0)) { + /*if (!((dh=smbc_opendir(rname)) < 0)) { smbc_closedir(dh); continue; + }*/ + /* test if the directory exists by making it */ + ret = smbc_mkdir(rname, 755); + if ((ret != 0) && (errno != EEXIST)) + { + d_printf("Error: %s. Unable to open or create dir %s, skipping...\n", strerror(errno), rname); + /* Skip the directory */ + lname[strlen(lname)-1] = '/'; + if (!seek_list(temp_list, lname)) + break; } - /* directory does not exist, try making it */ - if (!(smbc_mkdir(rname, 755) < 0)) - continue; - - d_printf("Unable to open or create dir, skipping...\n"); - /* Skip the directory */ - lname[strlen(lname)-1] = '/'; - if (!seek_list(temp_list, lname)) - break; } continue; } else {