Convert SpamSum C-string output to C# string, that is, removing trailing NILs

This commit is contained in:
2015-02-06 02:57:13 +00:00
parent 2f0a28062d
commit 76d0a486c8

View File

@@ -442,7 +442,7 @@ namespace SharpHash.Checksums
byte[] result;
fuzzy_digest(out result);
return Encoding.ASCII.GetString(result);
return CToString(result);
}
/// <summary>
@@ -483,7 +483,7 @@ namespace SharpHash.Checksums
byte[] result;
fuzzy_digest(out result);
return Encoding.ASCII.GetString(result);
return CToString(result);
}
/// <summary>
@@ -495,6 +495,22 @@ namespace SharpHash.Checksums
{
return Data(data, (uint)data.Length, out hash);
}
// Converts an ASCII null-terminated string to .NET string
private string CToString(byte[] CString)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < CString.Length; i++)
{
if (CString[i] == 0)
break;
sb.Append(Encoding.ASCII.GetString(CString, i, 1));
}
return sb.ToString();
}
}
}