PNP_FCB Fcb;
BOOLEAN RootPipe;
PWCHAR NameBuffer;
- ULONG BufferOffset;
USHORT Length, MaximumLength;
PAGED_CODE();
RootPipe = FALSE;
if (PipeName->Buffer[0] != OBJ_NAME_PATH_SEPARATOR)
{
+ Length += sizeof(OBJ_NAME_PATH_SEPARATOR);
MaximumLength += sizeof(OBJ_NAME_PATH_SEPARATOR);
RootPipe = TRUE;
if (MaximumLength < sizeof(WCHAR))
InsertTailList(&Dcb->FcbList, &Fcb->DcbEntry);
- BufferOffset = 0;
if (RootPipe)
{
NameBuffer[0] = OBJ_NAME_PATH_SEPARATOR;
- BufferOffset = 1;
+ RtlCopyMemory(NameBuffer + 1,
+ PipeName->Buffer,
+ PipeName->Length);
+ }
+ else
+ {
+ RtlCopyMemory(NameBuffer,
+ PipeName->Buffer,
+ PipeName->Length);
}
- RtlCopyMemory(NameBuffer + BufferOffset, PipeName->Buffer, Length);
- NameBuffer[BufferOffset + (Length / sizeof(WCHAR))] = UNICODE_NULL;
+ NameBuffer[Length / sizeof(WCHAR)] = UNICODE_NULL;
Fcb->FullName.Length = Length;
Fcb->FullName.MaximumLength = MaximumLength;