static Standard_Integer RemoveExtraSeparator(TCollection_AsciiString& aString) {
- Standard_Integer i, j, len ;
+ Standard_Integer i, j, len,start = 1 ;
len = aString.Length() ;
- for (i = j = 1 ; j <= len ; i++,j++) {
+#ifdef _WIN32
+ if (len > 1 && aString.Value(1) == '/' && aString.Value(2) == '/')
+ start = 2;
+#endif
+ for (i = j = start ; j <= len ; i++,j++) {
Standard_Character c = aString.Value(j) ;
aString.SetValue(i,c) ;
if (c == '/')
--- /dev/null
+puts "============"
+puts "OCC23852"
+puts "============"
+puts ""
+#######################################################################
+# OSD_Path interprets unc paths incorrectly
+#######################################################################
+
+pload DCAF
+
+set BugNumber OCC23852
+
+set OS_platform $tcl_platform(platform)
+puts "OS = ${OS_platform}"
+
+if { [string compare ${OS_platform} "windows"] == 0 } {
+
+ # Windows, #1
+ set OSD_Path "\\\\Server\\Shared\\Folder\\File.Extension"
+ puts "OSD_Path = ${OSD_Path}"
+
+ set Log [OSDPath ${OSD_Path}]
+ #
+ if { [regexp "Trek +: +\\|\\|Server\\|Shared\\|Folder" ${Log}] != 1 } {
+ puts "${BugNumber}, Trek, #1: Error"
+ }
+ #
+ if { [regexp "Name +: +File" ${Log}] != 1 } {
+ puts "${BugNumber}, Name, #1: Error"
+ }
+ #
+ if { [regexp "Extension +: +.Extension" ${Log}] != 1 } {
+ puts "${BugNumber}, Extension, #1: Error"
+ }
+
+ # Windows, #2
+ set OSD_Path "//Server/Shared/Folder/File.Extension"
+ puts "OSD_Path = ${OSD_Path}"
+
+ set Log [OSDPath ${OSD_Path}]
+ #
+ if { [regexp "Trek +: +||Server|Shared|Folder" ${Log}] != 1 } {
+ puts "${BugNumber}, Trek, #2: Error"
+ }
+ #
+ if { [regexp "Name +: +File" ${Log}] != 1 } {
+ puts "${BugNumber}, Name, #2: Error"
+ }
+ #
+ if { [regexp "Extension +: +.Extension" ${Log}] != 1 } {
+ puts "${BugNumber}, Extension, #2: Error"
+ }
+
+}
+
+if { [string compare ${OS_platform} "unix"] == 0 } {
+ # Linux
+ set OSD_Path "//Server/Shared/Folder/File.Extension"
+ puts "OSD_Path = ${OSD_Path}"
+
+ set Log [OSDPath ${OSD_Path}]
+ #
+ if { [regexp "Trek +: +||Server|Shared|Folder" ${Log}] != 1 } {
+ puts "${BugNumber}, Trek: Error"
+ }
+ #
+ if { [regexp "Name +: +File" ${Log}] != 1 } {
+ puts "${BugNumber}, Name: Error"
+ }
+ #
+ if { [regexp "Extension +: +.Extension" ${Log}] != 1 } {
+ puts "${BugNumber}, Extension: Error"
+ }
+}