1234567891011121314151617181920 |
- package archive
- // CheckSystemDriveAndRemoveDriveLetter verifies that a path, if it includes a drive letter,
- // is the system drive.
- // On Linux: this is a no-op.
- // On Windows: this does the following>
- // CheckSystemDriveAndRemoveDriveLetter verifies and manipulates a Windows path.
- // This is used, for example, when validating a user provided path in docker cp.
- // If a drive letter is supplied, it must be the system drive. The drive letter
- // is always removed. Also, it translates it to OS semantics (IOW / to \). We
- // need the path in this syntax so that it can ultimately be concatenated with
- // a Windows long-path which doesn't support drive-letters. Examples:
- // C: --> Fail
- // C:\ --> \
- // a --> a
- // /a --> \a
- // d:\ --> Fail
- func CheckSystemDriveAndRemoveDriveLetter(path string) (string, error) {
- return checkSystemDriveAndRemoveDriveLetter(path)
- }
|