From: Jeffrey Altman Date: Thu, 7 Feb 2013 03:43:16 +0000 (-0500) Subject: Windows: Return full volume name for RO and BK X-Git-Tag: upstream/1.8.0_pre1^2~1561 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=c0f465cc3ab1392c793c2bcbc912a55dc02ad46c;p=packages%2Fo%2Fopenafs.git Windows: Return full volume name for RO and BK RDR_GetVolumeInfo must return the full volume name (not the volume group name) for RO and BK volume types. Change-Id: Ic215b205c07faab53f8a899d0f662b64c902dde2 Reviewed-on: http://gerrit.openafs.org/9078 Tested-by: BuildBot Reviewed-by: Jeffrey Altman --- diff --git a/src/WINNT/afsrdr/user/RDRFunction.c b/src/WINNT/afsrdr/user/RDRFunction.c index 9f7c7c955..2eaa3a139 100644 --- a/src/WINNT/afsrdr/user/RDRFunction.c +++ b/src/WINNT/afsrdr/user/RDRFunction.c @@ -5514,6 +5514,28 @@ RDR_GetVolumeInfo( IN cm_user_t *userp, pResultCB->VolumeLabelLength = cm_Utf8ToUtf16( volp->namep, -1, pResultCB->VolumeLabel, (sizeof(pResultCB->VolumeLabel) / sizeof(WCHAR)) + 1); + + if ( pResultCB->VolumeLabelLength) { + + /* add .readonly and .backup if appropriate */ + switch ( volType) { + case ROVOL: + pResultCB->VolumeLabelLength--; + pResultCB->VolumeLabelLength += cm_Utf8ToUtf16( ".readonly", -1, + &pResultCB->VolumeLabel[ pResultCB->VolumeLabelLength], + (sizeof(pResultCB->VolumeLabel) / sizeof(WCHAR)) - pResultCB->VolumeLabelLength + 1); + break; + + case BACKVOL: + pResultCB->VolumeLabelLength--; + pResultCB->VolumeLabelLength += cm_Utf8ToUtf16( ".backup", -1, + &pResultCB->VolumeLabel[ pResultCB->VolumeLabelLength], + (sizeof(pResultCB->VolumeLabel) / sizeof(WCHAR)) - pResultCB->VolumeLabelLength + 1); + break; + } + } + + /* do not include the trailing nul */ if ( pResultCB->VolumeLabelLength ) pResultCB->VolumeLabelLength--;