private FileAttributes GetFromReader(SqliteDataReader reader) { FileAttributes attr = new FileAttributes(); attr.UniqueId = GuidFu.FromShortString(reader.GetString(0)); attr.Path = System.IO.Path.Combine(reader.GetString(1), reader.GetString(2)); attr.LastWriteTime = StringFu.StringToDateTime(reader.GetString(3)); attr.LastAttrTime = StringFu.StringToDateTime(reader.GetString(4)); attr.FilterName = reader.GetString(5); attr.FilterVersion = int.Parse(reader.GetString(6)); if (attr.FilterName == "") { attr.FilterName = null; } return(attr); }
public FileAttributes Read(string path) { if (Disable) { return(null); } try { string tmp = ExtendedAttribute.Get(path); if (tmp == null) { return(null); } string[] csv = tmp.Split(','); if (int.Parse(csv [0].Substring(0, 2)) != EA_VERSION || (index_fingerprint != null && csv [0].Substring(3) != index_fingerprint)) { return(null); } FileAttributes attr = new FileAttributes(); attr.UniqueId = GuidFu.FromShortString(csv [1]); attr.Path = path; attr.LastWriteTime = StringFu.StringToDateTime(csv [2]); attr.LastAttrTime = StringFu.StringToDateTime(csv [3]); if (!String.IsNullOrEmpty(csv [4])) { attr.FilterVersion = int.Parse(csv [4].Substring(0, 3)); attr.FilterName = csv [4].Substring(4); } return(attr); } catch (Exception e) { //Logger.Log.Debug ("Caught exception reading EAs from {0}", path); //Logger.Log.Debug (e); // FIXME: Do something smarter with the exception. return(null); } }