@@ -274,7 +274,13 @@ func (l *CheckDrivesize) setDeviceInfo(drive map[string]string) {
274274 drive ["removable" ] = "1"
275275 }
276276
277- driveUTF16 , err := syscall .UTF16PtrFromString (drive ["drive_or_id" ])
277+ // drivePath needs to be in form 'X:\'
278+ drivePath , _ := drive ["drive_or_id" ]
279+ drivePath = strings .ToUpper (drivePath )
280+ if ! strings .HasSuffix (drivePath , "\\ " ) {
281+ drivePath += "\\ "
282+ }
283+ driveUTF16 , err := syscall .UTF16PtrFromString (drivePath )
278284 if err != nil {
279285 log .Warnf ("Cannot convert drive to UTF16 : %s: %s" , drive ["drive_or_id" ], err .Error ())
280286
@@ -357,10 +363,13 @@ func (l *CheckDrivesize) setDrives(requiredDrives map[string]map[string]string)
357363 if ! ok {
358364 entry = make (map [string ]string )
359365 }
360- entry ["drive" ] = strings .ToLower (logicalDrive )
361- entry ["drive_or_id" ] = strings .ToLower (logicalDrive )
362- entry ["drive_or_name" ] = strings .ToLower (logicalDrive )
363- entry ["letter" ] = fmt .Sprintf ("%c" , logicalDrive [0 ])
366+ // Need to convert 'X:\' to -> 'x:'
367+ // That is the default used output format
368+ logicalDriveConverted := strings .ToLower (logicalDrive [0 : len (logicalDrive )- 1 ])
369+ entry ["drive" ] = logicalDriveConverted
370+ entry ["drive_or_id" ] = logicalDriveConverted
371+ entry ["drive_or_name" ] = logicalDriveConverted
372+ entry ["letter" ] = fmt .Sprintf ("%c" , logicalDriveConverted [0 ])
364373 requiredDrives [logicalDrive ] = entry
365374 }
366375
@@ -436,6 +445,8 @@ func (l *CheckDrivesize) setVolume(requiredDisks map[string]map[string]string, v
436445 return
437446 }
438447 names := syscall .UTF16ToString (buffer )
448+ // The path name is given with uppercase, convert it.
449+ // names = strings.ToLower(names)
439450 driveOrID := names
440451 if driveOrID == "" {
441452 driveOrID = volumeGUIDPath
@@ -477,9 +488,9 @@ func (l *CheckDrivesize) setCustomPath(path string, requiredDisks map[string]map
477488 if hasRemoteName && strings .HasPrefix (path , remoteName ) {
478489 requiredDisks [key ] = utils .CloneStringMap (discoveredNetworkShares [key ])
479490 // drive["remote_name"] = \\SERVER\SHARENAME
480- // drive["drive"] = X:\
481- // pathExample1 = \\SERVER\SHARENAME -> X:\
482- // pathExample2 = \\SERVER\SHARENAME\FOO\BAR -> X :\FOO\BAR
491+ // drive["drive"] = x:
492+ // pathExample1 = \\SERVER\SHARENAME -> x:
493+ // pathExample2 = \\SERVER\SHARENAME\FOO\BAR -> x :\FOO\BAR
483494 pathReplaced := strings .Replace (path , drive ["remote_name" ], drive ["drive" ], 1 )
484495 requiredDisks [key ]["drive" ] = pathReplaced
485496 // It is better to let users set their own detailSyntax or okSyntax, we give them the attributes for it
@@ -495,6 +506,7 @@ func (l *CheckDrivesize) setCustomPath(path string, requiredDisks map[string]map
495506 switch len (path ) {
496507 case 1 , 2 :
497508 path = strings .TrimSuffix (path , ":" ) + ":"
509+ path = strings .ToLower (path )
498510 availDisks := map [string ]map [string ]string {}
499511 err = l .setDrives (availDisks )
500512 for driveOrID := range availDisks {
@@ -593,11 +605,14 @@ func (l *CheckDrivesize) setShares(requiredDisks map[string]map[string]string) {
593605 drive = make (map [string ]string )
594606 }
595607 drive ["id" ] = remoteName
596- drive ["drive" ] = strings .ToLower (logicalDrive )
597- drive ["drive_or_id" ] = strings .ToLower (logicalDrive )
608+ // Need to convert 'X:\' to -> 'x:'
609+ // That is the default used output format
610+ logicalDriveConverted := strings .ToLower (logicalDrive [0 : len (logicalDrive )- 1 ])
611+ drive ["drive" ] = logicalDriveConverted
612+ drive ["drive_or_id" ] = logicalDriveConverted
598613 // It is better to let users set their own detailSyntax or okSyntax, we give them the attributes for it
599- drive ["drive_or_name" ] = strings . ToLower ( logicalDrive )
600- drive ["letter" ] = strings . ToLower ( logicalDrive )
614+ drive ["drive_or_name" ] = logicalDriveConverted
615+ drive ["letter" ] = fmt . Sprintf ( "%c" , logicalDriveConverted [ 0 ] )
601616 drive ["remote_name" ] = remoteName
602617 if isNetworkDrivePersistent (logicalDrive ) {
603618 drive ["persistent" ] = "1"
0 commit comments