diff --git a/build/VStudio/winfsp_sys.vcxproj b/build/VStudio/winfsp_sys.vcxproj
index a65e5b5d..f581e221 100644
--- a/build/VStudio/winfsp_sys.vcxproj
+++ b/build/VStudio/winfsp_sys.vcxproj
@@ -173,10 +173,10 @@
+
-
diff --git a/build/VStudio/winfsp_sys.vcxproj.filters b/build/VStudio/winfsp_sys.vcxproj.filters
index 55f21a62..f13f62ca 100644
--- a/build/VStudio/winfsp_sys.vcxproj.filters
+++ b/build/VStudio/winfsp_sys.vcxproj.filters
@@ -92,7 +92,7 @@
Source
-
+
Source
diff --git a/src/sys/create.c b/src/sys/create.c
index 92f0776a..159887df 100644
--- a/src/sys/create.c
+++ b/src/sys/create.c
@@ -179,7 +179,7 @@ static NTSTATUS FspFsvolCreateNoLock(
FSP_FILE_NODE *FileNode, *RelatedFileNode;
FSP_FILE_DESC *FileDesc;
UNICODE_STRING MainFileName = { 0 }, StreamPart = { 0 };
- ULONG StreamType = FspUnicodePathStreamTypeNone;
+ ULONG StreamType = FspFileNameStreamTypeNone;
FSP_FSCTL_TRANSACT_REQ *Request;
/* cannot open files by fileid */
@@ -276,7 +276,7 @@ static NTSTATUS FspFsvolCreateNoLock(
ASSERT(NT_SUCCESS(Result));
/* check filename validity */
- if (!FspUnicodePathIsValid(&FileNode->FileName,
+ if (!FspFileNameIsValid(&FileNode->FileName,
FsvolDeviceExtension->VolumeParams.NamedStreams ? &StreamPart : 0,
&StreamType))
{
@@ -334,7 +334,7 @@ static NTSTATUS FspFsvolCreateNoLock(
}
/* if a $DATA stream type, this cannot be a directory */
- if (FspUnicodePathStreamTypeData == StreamType)
+ if (FspFileNameStreamTypeData == StreamType)
{
if (FlagOn(CreateOptions, FILE_DIRECTORY_FILE))
{
@@ -756,7 +756,7 @@ NTSTATUS FspFsvolCreateComplete(
{
UNICODE_STRING Suffix;
- FspUnicodePathSuffix(&FileNode->FileName, &FileNode->FileName, &Suffix);
+ FspFileNameSuffix(&FileNode->FileName, &FileNode->FileName, &Suffix);
}
/* populate the FileNode/FileDesc fields from the Response */
diff --git a/src/sys/dirctl.c b/src/sys/dirctl.c
index 93c06c4d..53f570c2 100644
--- a/src/sys/dirctl.c
+++ b/src/sys/dirctl.c
@@ -185,7 +185,7 @@ static NTSTATUS FspFsvolQueryDirectoryCopy(
Match = MatchAll;
if (!Match)
{
- Result = FspIsNameInExpression(DirectoryPattern, &FileName, CaseInsensitive, 0, &Match);
+ Result = FspFileNameInExpression(DirectoryPattern, &FileName, CaseInsensitive, 0, &Match);
if (!NT_SUCCESS(Result))
return Result;
}
@@ -626,7 +626,7 @@ static NTSTATUS FspFsvolQueryDirectory(
return STATUS_INVALID_PARAMETER;
/* check that FileName is valid (if supplied) */
- if (0 != FileName && !FspUnicodePathIsValidPattern(FileName))
+ if (0 != FileName && !FspFileNameIsValidPattern(FileName))
return STATUS_INVALID_PARAMETER;
/* is this an allowed file information class? */
diff --git a/src/sys/driver.h b/src/sys/driver.h
index 8e5e1033..019cc67d 100644
--- a/src/sys/driver.h
+++ b/src/sys/driver.h
@@ -428,16 +428,16 @@ BOOLEAN FspExpirationTimeValid2(UINT64 ExpirationTime, UINT64 CurrentTime)
return CurrentTime < ExpirationTime;
}
-/* string utility */
+/* names */
enum
{
- FspUnicodePathStreamTypeNone = 0,
- FspUnicodePathStreamTypeData = 1,
+ FspFileNameStreamTypeNone = 0,
+ FspFileNameStreamTypeData = 1,
};
-BOOLEAN FspUnicodePathIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart, PULONG StreamType);
-BOOLEAN FspUnicodePathIsValidPattern(PUNICODE_STRING Pattern);
-VOID FspUnicodePathSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE_STRING Suffix);
-NTSTATUS FspIsNameInExpression(
+BOOLEAN FspFileNameIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart, PULONG StreamType);
+BOOLEAN FspFileNameIsValidPattern(PUNICODE_STRING Pattern);
+VOID FspFileNameSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE_STRING Suffix);
+NTSTATUS FspFileNameInExpression(
PUNICODE_STRING Expression,
PUNICODE_STRING Name,
BOOLEAN IgnoreCase,
diff --git a/src/sys/file.c b/src/sys/file.c
index 63a9681b..3bf0b4b7 100644
--- a/src/sys/file.c
+++ b/src/sys/file.c
@@ -1231,7 +1231,7 @@ VOID FspFileNodeNotifyChange(FSP_FILE_NODE *FileNode,
UNICODE_STRING Parent, Suffix;
FSP_FILE_NODE *ParentNode;
- FspUnicodePathSuffix(&FileNode->FileName, &Parent, &Suffix);
+ FspFileNameSuffix(&FileNode->FileName, &Parent, &Suffix);
switch (Action)
{
@@ -1428,7 +1428,7 @@ NTSTATUS FspMainFileOpen(
PFILE_OBJECT MainFileObject;
/* assert that the supplied name is actually a main file name */
- ASSERT(FspUnicodePathIsValid(MainFileName, 0, 0));
+ ASSERT(FspFileNameIsValid(MainFileName, 0, 0));
*PMainFileHandle = 0;
*PMainFileObject = 0;
diff --git a/src/sys/fileinfo.c b/src/sys/fileinfo.c
index abd11038..11dc3fec 100644
--- a/src/sys/fileinfo.c
+++ b/src/sys/fileinfo.c
@@ -1116,7 +1116,7 @@ static NTSTATUS FspFsvolSetRenameInformation(
if (FileNode->IsRootDirectory)
/* cannot rename root directory */
return STATUS_INVALID_PARAMETER;
- if (!FspUnicodePathIsValid(&FileNode->FileName, 0, 0))
+ if (!FspFileNameIsValid(&FileNode->FileName, 0, 0))
/* cannot rename streams (WinFsp limitation) */
return STATUS_INVALID_PARAMETER;
@@ -1134,14 +1134,14 @@ static NTSTATUS FspFsvolSetRenameInformation(
if (0 != TargetFileNode)
Remain = TargetFileNode->FileName;
else
- FspUnicodePathSuffix(&FileNode->FileName, &Remain, &Suffix);
+ FspFileNameSuffix(&FileNode->FileName, &Remain, &Suffix);
Suffix.Length = Suffix.MaximumLength = (USHORT)Info->FileNameLength;
Suffix.Buffer = Info->FileName;
if (L'\\' == Suffix.Buffer[0])
- FspUnicodePathSuffix(&Suffix, &NewFileName, &Suffix);
+ FspFileNameSuffix(&Suffix, &NewFileName, &Suffix);
- if (!FspUnicodePathIsValid(&Remain, 0, 0) || !FspUnicodePathIsValid(&Suffix, 0, 0))
+ if (!FspFileNameIsValid(&Remain, 0, 0) || !FspFileNameIsValid(&Suffix, 0, 0))
{
/* cannot rename streams (WinFsp limitation) */
Result = STATUS_INVALID_PARAMETER;
diff --git a/src/sys/strutil.c b/src/sys/name.c
similarity index 85%
rename from src/sys/strutil.c
rename to src/sys/name.c
index 901813a6..0c9d38ca 100644
--- a/src/sys/strutil.c
+++ b/src/sys/name.c
@@ -1,5 +1,5 @@
/**
- * @file sys/strutil.c
+ * @file sys/name.c
*
* @copyright 2015-2016 Bill Zissimopoulos
*/
@@ -17,10 +17,10 @@
#include
-BOOLEAN FspUnicodePathIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart, PULONG StreamType);
-BOOLEAN FspUnicodePathIsValidPattern(PUNICODE_STRING Pattern);
-VOID FspUnicodePathSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE_STRING Suffix);
-NTSTATUS FspIsNameInExpression(
+BOOLEAN FspFileNameIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart, PULONG StreamType);
+BOOLEAN FspFileNameIsValidPattern(PUNICODE_STRING Pattern);
+VOID FspFileNameSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE_STRING Suffix);
+NTSTATUS FspFileNameInExpression(
PUNICODE_STRING Expression,
PUNICODE_STRING Name,
BOOLEAN IgnoreCase,
@@ -28,13 +28,13 @@ NTSTATUS FspIsNameInExpression(
PBOOLEAN PResult);
#ifdef ALLOC_PRAGMA
-#pragma alloc_text(PAGE, FspUnicodePathIsValid)
-#pragma alloc_text(PAGE, FspUnicodePathIsValidPattern)
-#pragma alloc_text(PAGE, FspUnicodePathSuffix)
-#pragma alloc_text(PAGE, FspIsNameInExpression)
+#pragma alloc_text(PAGE, FspFileNameIsValid)
+#pragma alloc_text(PAGE, FspFileNameIsValidPattern)
+#pragma alloc_text(PAGE, FspFileNameSuffix)
+#pragma alloc_text(PAGE, FspFileNameInExpression)
#endif
-BOOLEAN FspUnicodePathIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart, PULONG StreamType)
+BOOLEAN FspFileNameIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart, PULONG StreamType)
{
PAGED_CODE();
@@ -112,7 +112,7 @@ BOOLEAN FspUnicodePathIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart,
ASSERT(0 != StreamPart && 0 != StreamType);
- *StreamType = FspUnicodePathStreamTypeNone;
+ *StreamType = FspFileNameStreamTypeNone;
/* if we had no stream type the path is valid if there was an actual stream name */
if (0 == StreamTypeStr)
@@ -126,14 +126,14 @@ BOOLEAN FspUnicodePathIsValid(PUNICODE_STRING Path, PUNICODE_STRING StreamPart,
L'T' == StreamTypeStr[3] &&
L'A' == StreamTypeStr[4])
{
- *StreamType = FspUnicodePathStreamTypeData;
+ *StreamType = FspFileNameStreamTypeData;
return TRUE;
}
return FALSE;
}
-BOOLEAN FspUnicodePathIsValidPattern(PUNICODE_STRING Path)
+BOOLEAN FspFileNameIsValidPattern(PUNICODE_STRING Path)
{
PAGED_CODE();
@@ -170,7 +170,7 @@ BOOLEAN FspUnicodePathIsValidPattern(PUNICODE_STRING Path)
return TRUE;
}
-VOID FspUnicodePathSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE_STRING Suffix)
+VOID FspFileNameSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE_STRING Suffix)
{
PAGED_CODE();
@@ -202,7 +202,7 @@ VOID FspUnicodePathSuffix(PUNICODE_STRING Path, PUNICODE_STRING Remain, PUNICODE
Suffix->Buffer = SuffixBgn;
}
-NTSTATUS FspIsNameInExpression(
+NTSTATUS FspFileNameInExpression(
PUNICODE_STRING Expression,
PUNICODE_STRING Name,
BOOLEAN IgnoreCase,