X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FDiskTool%2Fsrc%2Fhelpers.c;h=f9e3bc4a27810672a56228e61262eb99836c64b5;hb=68f8179ab9eb6380323dc4b19cf4cc1603b576f5;hp=f3266775a2453681642b697cbd49868d0888bb4d;hpb=7378996995784940b371210bf7167628551a3486;p=tpg%2Facess2.git diff --git a/Tools/DiskTool/src/helpers.c b/Tools/DiskTool/src/helpers.c index f3266775..f9e3bc4a 100644 --- a/Tools/DiskTool/src/helpers.c +++ b/Tools/DiskTool/src/helpers.c @@ -22,12 +22,21 @@ size_t DiskTool_int_TranslatePath(char *Buffer, const char *Path) if( Path[0] == '#' ) { - if(Buffer) + len = strlen(Path+1); + if(Buffer) { strcpy(Buffer, Path+1); - return strlen(Path) - 1; + } } - - if( colon ) + else if( Path[0] == ':' ) + { + len = strlen("/Devices/LVM/"); + len += strlen(Path+1); + if(Buffer) { + strcpy(Buffer, "/Devices/LVM/"); + strcat(Buffer, Path+1); + } + } + else if( colon ) { const char *pos; for(pos = Path; pos < colon; pos ++) @@ -43,23 +52,23 @@ size_t DiskTool_int_TranslatePath(char *Buffer, const char *Path) strncat(Buffer+strlen("/Mount/"), Path, colon - Path); strcat(Buffer, colon + 1); } - return len; } + else + { + native_path: + if( !gsWorkingDirectory[0] ) { + getcwd(gsWorkingDirectory, 1024); + } -native_path: - - if( !gsWorkingDirectory[0] ) { - getcwd(gsWorkingDirectory, 1024); - } - - len = strlen("/Native"); - len += strlen( gsWorkingDirectory ) + 1; - len += strlen(Path); - if( Buffer ) { - strcpy(Buffer, "/Native"); - strcat(Buffer, gsWorkingDirectory); - strcat(Buffer, "/"); - strcat(Buffer, Path); + len = strlen("/Native"); + len += strlen( gsWorkingDirectory ) + 1; + len += strlen(Path); + if( Buffer ) { + strcpy(Buffer, "/Native"); + strcat(Buffer, gsWorkingDirectory); + strcat(Buffer, "/"); + strcat(Buffer, Path); + } } return len; }