Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2019-12-05 01:03:16 +0300
committerJohannes Schindelin <johannes.schindelin@gmx.de>2019-12-06 18:31:23 +0300
commit5421ddd8d08df7288538a5ca05aeeeaa789a7ccd (patch)
tree60e51065f2dd4ecd484bc1ee7e74c94f6ac810c3 /compat/mingw.h
parent75b2f01a0f642b39b0f29b6218515df9b5eb798e (diff)
parent367f12b7e92aef4e8a41fe601d90984a2b7a0381 (diff)
Sync with 2.21.1
* maint-2.21: (42 commits) Git 2.21.1 mingw: sh arguments need quoting in more circumstances mingw: fix quoting of empty arguments for `sh` mingw: use MSYS2 quoting even when spawning shell scripts mingw: detect when MSYS2's sh is to be spawned more robustly t7415: drop v2.20.x-specific work-around Git 2.20.2 t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x Git 2.19.3 Git 2.18.2 Git 2.17.3 Git 2.16.6 test-drop-caches: use `has_dos_drive_prefix()` Git 2.15.4 Git 2.14.6 mingw: handle `subst`-ed "DOS drives" mingw: refuse to access paths with trailing spaces or periods mingw: refuse to access paths with illegal characters unpack-trees: let merged_entry() pass through do_add_entry()'s errors quote-stress-test: offer to test quoting arguments for MSYS2 sh ...
Diffstat (limited to 'compat/mingw.h')
-rw-r--r--compat/mingw.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/compat/mingw.h b/compat/mingw.h
index 593bdbffe6..c303fd98d7 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -451,6 +451,20 @@ extern char *mingw_query_user_email(void);
#endif
/**
+ * Verifies that the given path is a valid one on Windows.
+ *
+ * In particular, path segments are disallowed which
+ *
+ * - end in a period or a space (except the special directories `.` and `..`).
+ *
+ * - contain any of the reserved characters, e.g. `:`, `;`, `*`, etc
+ *
+ * Returns 1 upon success, otherwise 0.
+ */
+int is_valid_win32_path(const char *path);
+#define is_valid_path(path) is_valid_win32_path(path)
+
+/**
* Converts UTF-8 encoded string to UTF-16LE.
*
* To support repositories with legacy-encoded file names, invalid UTF-8 bytes