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: openafs-stable-1_8_0pre1~1561 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=c0f465cc3ab1392c793c2bcbc912a55dc02ad46c;hp=aa5d0d708f6a758396b04779ceac271a039439fb 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 9f7c7c9..2eaa3a1 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--;