mirror of
https://github.com/claunia/osrepodbmgr.git
synced 2025-12-16 19:14:25 +00:00
Do not continue with symbolic links, not yet supported.
This commit is contained in:
@@ -345,11 +345,29 @@ namespace osrepodbmgr.Core
|
||||
#endif
|
||||
long counter = 0;
|
||||
string format = null;
|
||||
bool isLink = false;
|
||||
JsonTextReader jsReader = new JsonTextReader(new StringReader(lsarOutput));
|
||||
while(jsReader.Read())
|
||||
{
|
||||
if(jsReader.TokenType == JsonToken.PropertyName && jsReader.Value != null && jsReader.Value.ToString() == "XADFileName")
|
||||
counter++;
|
||||
else if(jsReader.TokenType == JsonToken.PropertyName && jsReader.Value != null && jsReader.Value.ToString() == "XADIsLink")
|
||||
{
|
||||
jsReader.Read();
|
||||
if(jsReader.TokenType == JsonToken.Integer)
|
||||
isLink = int.Parse(jsReader.Value.ToString()) > 0;
|
||||
}
|
||||
else if(jsReader.TokenType == JsonToken.PropertyName && jsReader.Value != null && jsReader.Value.ToString() == "XADIsHardLink")
|
||||
{
|
||||
jsReader.Read();
|
||||
// TODO: Support symlinks, devices, hardlinks, whatever?
|
||||
if(jsReader.TokenType == JsonToken.Integer && isLink && int.Parse(jsReader.Value.ToString()) == 0)
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Archive contains unsupported symbolic links, not continuing.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if(jsReader.TokenType == JsonToken.PropertyName && jsReader.Value != null && jsReader.Value.ToString() == "lsarFormatName")
|
||||
{
|
||||
jsReader.Read();
|
||||
|
||||
Reference in New Issue
Block a user