MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2InitializeLabel

Function Ext2InitializeLabel

Ext4Fsd/memory.c:2225–2265  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2223}
2224
2225NTSTATUS
2226Ext2InitializeLabel(
2227 IN PEXT2_VCB Vcb,
2228 IN PEXT2_SUPER_BLOCK Sb
2229)
2230{
2231 NTSTATUS status;
2232
2233 USHORT Length;
2234 UNICODE_STRING Label;
2235 OEM_STRING OemName;
2236
2237 Label.MaximumLength = 16 * sizeof(WCHAR);
2238 Label.Length = 0;
2239 Label.Buffer = Vcb->Vpb->VolumeLabel;
2240 Vcb->Vpb->VolumeLabelLength = 0;
2241 RtlZeroMemory(Label.Buffer, Label.MaximumLength);
2242
2243 Length = 16;
2244 while ( (Length > 0) &&
2245 ((Sb->s_volume_name[Length -1] == 0x00) ||
2246 (Sb->s_volume_name[Length - 1] == 0x20) )
2247 ) {
2248 Length--;
2249 }
2250
2251 if (Length == 0) {
2252 return STATUS_SUCCESS;
2253 }
2254
2255 OemName.Buffer = Sb->s_volume_name;
2256 OemName.MaximumLength = 16;
2257 OemName.Length = Length;
2258
2259 status = Ext2OEMToUnicode(Vcb, &Label, &OemName);
2260 if (NT_SUCCESS(status)) {
2261 Vcb->Vpb->VolumeLabelLength = Label.Length;
2262 }
2263
2264 return status;
2265}
2266
2267static __inline BOOLEAN Ext2IsNullUuid (__u8 * uuid)
2268{

Callers 2

Ext2InitializeVcbFunction · 0.85

Calls 1

Ext2OEMToUnicodeFunction · 0.85

Tested by

no test coverage detected