Bugfix: UNC paths stopped working since 2.1
This commit is contained in:
parent
a68b36c02e
commit
b3476e455a
@ -65,7 +65,23 @@ namespace Snap2HTML
|
||||
|
||||
public string GetFullPath()
|
||||
{
|
||||
return ( this.Path + "\\" + this.Name ).Replace( "\\\\", "\\" );
|
||||
string path;
|
||||
|
||||
if( this.Path.EndsWith( @"\" ) )
|
||||
path = this.Path + this.Name;
|
||||
else
|
||||
path = this.Path + @"\" + this.Name;
|
||||
|
||||
if( path.EndsWith( @"\" ) ) // remove trailing backslash
|
||||
{
|
||||
if(!Utils.IsWildcardMatch( @"?:\", path, false )) // except for drive letters
|
||||
{
|
||||
path = path.Remove( path.Length - 1 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
public string GetProp( string key )
|
||||
|
@ -211,14 +211,21 @@ namespace Snap2HTML
|
||||
// add slash or backslash to end of link (in cases where it is clear that we we can)
|
||||
if( settings.linkFiles )
|
||||
{
|
||||
if( !settings.linkRoot.EndsWith( @"/" ) && settings.linkRoot.ToLower().StartsWith( @"http" ) ) // web site
|
||||
if( !settings.linkRoot.EndsWith( @"/" ) )
|
||||
{
|
||||
if( settings.linkRoot.ToLower().StartsWith( @"http" ) ) // web site
|
||||
{
|
||||
settings.linkRoot += @"/";
|
||||
}
|
||||
if( !settings.linkRoot.EndsWith( @"\" ) && Utils.IsWildcardMatch( "?:*", settings.linkRoot, false ) ) // local disk
|
||||
if( Utils.IsWildcardMatch( "?:*", settings.linkRoot, false ) ) // local disk
|
||||
{
|
||||
settings.linkRoot += @"\";
|
||||
}
|
||||
if( settings.linkRoot.StartsWith( @"\\" ) ) // unc path
|
||||
{
|
||||
settings.linkRoot += @"\";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Cursor.Current = Cursors.WaitCursor;
|
||||
|
@ -86,10 +86,15 @@ namespace Snap2HTML
|
||||
{
|
||||
sbTemplate.Replace( "[LINK PROTOCOL]", @"file://" );
|
||||
}
|
||||
else if( link_root.StartsWith( "//" ) ) // for UNC paths e.g. \\server\path
|
||||
{
|
||||
sbTemplate.Replace( "[LINK PROTOCOL]", @"file://///" );
|
||||
}
|
||||
else
|
||||
{
|
||||
sbTemplate.Replace( "[LINK PROTOCOL]", "" );
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -355,10 +360,12 @@ namespace Snap2HTML
|
||||
var subdirs = new Dictionary<string, List<string>>();
|
||||
foreach( var dir in content )
|
||||
{
|
||||
// add all folders as keys
|
||||
subdirs.Add( dir.GetFullPath(), new List<string>() );
|
||||
}
|
||||
if( !subdirs.ContainsKey( content[0].Path ) && content[0].Name != "" )
|
||||
{
|
||||
// ensure that root folder is not missed missed
|
||||
subdirs.Add( content[0].Path, new List<string>() );
|
||||
}
|
||||
foreach( var dir in content )
|
||||
@ -367,6 +374,7 @@ namespace Snap2HTML
|
||||
{
|
||||
try
|
||||
{
|
||||
// for each folder, add its index to its parent folder list of subdirs
|
||||
subdirs[dir.Path].Add( dirIndexes[dir.GetFullPath()] );
|
||||
}
|
||||
catch( Exception ex )
|
||||
@ -397,7 +405,7 @@ namespace Snap2HTML
|
||||
result.Append( "" ).Append( dirSize ).Append( "," + lineBreakSymbol );
|
||||
|
||||
// Add reference to subdirs
|
||||
result.Append( "\"" ).Append( String.Join( "*", subdirs[currentDir.GetFullPath()].ToArray() ) ).Append( "\"" + lineBreakSymbol ); // subdirs
|
||||
result.Append( "\"" ).Append( String.Join( "*", subdirs[currentDir.GetFullPath()].ToArray() ) ).Append( "\"" + lineBreakSymbol );
|
||||
|
||||
// Finalize
|
||||
result.Append( "])" );
|
||||
|
Loading…
x
Reference in New Issue
Block a user