path without long path prefixing.
* wide_path.h (wide_path::wide_path): Allow extra bool parameter to
specify whether or not performing Windows long path prefixing.
+2013-06-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygpath.cc (do_pathconv): when -p option is given, generate wide
+ path without long path prefixing.
+ * wide_path.h (wide_path::wide_path): Allow extra bool parameter to
+ specify whether or not performing Windows long path prefixing.
+
2013-05-21 Corinna Vinschen <corinna@vinschen.de>
Reinstantiate accidentally removed patch from 2009-05-16:
/* cygpath.cc -- convert pathnames between Windows and Unix format
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2009, 2010, 2011, 2012, 2013 Red Hat, Inc.
This file is part of Cygwin.
{
if (unix_flag)
{
- wide_path wpath (filename);
+ wide_path wpath (filename, false);
err = cygwin_conv_path_list (conv_func, wpath, buf, len);
}
else
to wchar_t Win32 path including long path prefix if
necessary.
- Copyright 2009, 2011 Red Hat, Inc.
+ Copyright 2009, 2011, 2013 Red Hat, Inc.
This file is part of Cygwin.
public:
wide_path () : wp (NULL) {}
- wide_path (const char *mb_path)
+ wide_path (const char *mb_path, bool do_prefix = true)
{
int len = mbstowcs (NULL, mb_path, 0) + 1;
wp = (wchar_t *) malloc ((len + 6) * sizeof (wchar_t));
wchar_t *wp_p = wp;
- if (len >= MAX_PATH && strncmp (mb_path, "\\\\?\\", 4) != 0)
+ if (do_prefix && len >= MAX_PATH && strncmp (mb_path, "\\\\?\\", 4) != 0)
{
wcscpy (wp_p, L"\\\\?\\");
wp_p += 4;