openArgsStartAt = 2;
else if(!strcmpi(argv[1], "find") && argc > 2)
{
- char * unquoted;
if(argv[2][0] == '\"')
- StripQuotes(argv[2], unquoted);
+ {
+ findWhat = new char[strlen(argv[2])+1];
+ StripQuotes(argv[2], findWhat);
+ }
else
- unquoted = argv[2];
- findWhat = CopyString(unquoted);
+ findWhat = CopyString(argv[2]);
if(argc > 3)
{
if(!strcmpi(argv[3], "in") && argc > 4)
}
else
searchPath = ""; // same
- }
+ }
else if(!strcmpi(argv[1], "search") && argc > 2)
searchPath = argv[2];
else if(!strcmpi(argv[1], "compare") && argc > 2)
if(argc == 3)
{
goPath = ""; // current dir
- comparedPaths.Add(goPath);
+ comparedPaths.Add(CopyString((const char *)goPath)); // TODO: Review whether this gets freed?
}
for(c = 2; c < argc; c++)
{
- char * s;
+ const char * s;
goPath = argv[c];
s = goPath;
if(s)
explorerWnd.Create();
explorerWnd.location = goPath;//explorerWnd.GoTo(goPath, false, false);
}
+ if(openArgsStartAt == -1)
+ break;
}
}
else if(searchPath)
explorerWnd.Create();
explorerWnd.view.columnsCompareStyle = true;
explorerWnd.comparedLocations = comparedPaths;
+ comparedPaths = null;
// delete comparedPaths;
}
+ if(comparedPaths)
+ {
+ comparedPaths.Free();
+ delete comparedPaths;
+ }
return true;
}
}
{
char path[MAX_LOCATION];
- property char *
+ property const char *
{
set
{
- char * unquoted;
GetWorkingDir(path, MAX_LOCATION);
if(value[0] == '\"')
+ {
+ char * unquoted = new char[strlen(value) + 1];
StripQuotes(value, unquoted);
+ PathCat(path, unquoted);
+ delete unquoted;
+ }
else
- unquoted = value;
- PathCat(path, unquoted);
+ PathCat(path, value);
if(!FileExists(path))
{
// this incomplete functionality is not quite at it's place in this class
StripLastDirectory(path, path);
if(FileExists(path))
{
- // TODO: message location does not exist,
+ // TODO: message location does not exist,
// this higher location exists though
// go there?
break;
}
if(!len)
{
- // TODO: message location does not exist,
+ // TODO: message location does not exist,
// unable to select alternate location
}
path[0] = '\0';