if ( !_strnicmp("all", p, 3) )
p += 4;
- for (i = 0; *p != '\\'; i++,p++ ) {
+ for (i = 0; *p && *p != '\\'; i++,p++ ) {
shareName[i] = *p;
}
p++; /* skip past trailing slash */
p += 4;
shareName[0] = '/';
- for (i = 1; *p != '\\'; i++,p++ ) {
+ for (i = 1; *p && *p != '\\'; i++,p++ ) {
shareName[i] = *p;
}
p++; /* skip past trailing slash */
tbuffer[0] = *(drivep - 1);
tbuffer[1] = ':';
strcpy(tbuffer + 2, SMB_IOCTL_FILENAME);
+ } else if (fileNamep[0] == fileNamep[1] &&
+ fileNamep[0] == '\\')
+ {
+ int count = 0, i = 0;
+
+ while (count < 4 && fileNamep[i]) {
+ tbuffer[i] = fileNamep[i];
+ if ( tbuffer[i++] == '\\' )
+ count++;
+ }
+ if (tbuffer[i] == 0)
+ tbuffer[i++] = '\\';
+ tbuffer[i] = 0;
+ strcat(tbuffer, SMB_IOCTL_FILENAME);
} else {
char curdir[256]="";
tbuffer[0] = curdir[0];
tbuffer[1] = ':';
strcpy(tbuffer + 2, SMB_IOCTL_FILENAME);
+ } else if (curdir[0] == curdir[1] &&
+ curdir[0] == '\\')
+ {
+ int count = 0, i = 0;
+
+ while (count < 4 && curdir[i]) {
+ tbuffer[i] = curdir[i];
+ if ( tbuffer[i++] == '\\' )
+ count++;
+ }
+ if (tbuffer[i] == 0)
+ tbuffer[i++] = '\\';
+ tbuffer[i] = 0;
+ strcat(tbuffer, SMB_IOCTL_FILENAME);
}
}
}