aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Utilities
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/Utilities')
-rw-r--r--Ryujinx.HLE/Utilities/StreamUtils.cs16
-rw-r--r--Ryujinx.HLE/Utilities/StringUtils.cs26
2 files changed, 42 insertions, 0 deletions
diff --git a/Ryujinx.HLE/Utilities/StreamUtils.cs b/Ryujinx.HLE/Utilities/StreamUtils.cs
new file mode 100644
index 00000000..7b44bc17
--- /dev/null
+++ b/Ryujinx.HLE/Utilities/StreamUtils.cs
@@ -0,0 +1,16 @@
+using System.IO;
+
+namespace Ryujinx.HLE.Utilities
+{
+ static class StreamUtils
+ {
+ public static byte[] StreamToBytes(Stream input)
+ {
+ using (MemoryStream ms = new MemoryStream())
+ {
+ input.CopyTo(ms);
+ return ms.ToArray();
+ }
+ }
+ }
+}
diff --git a/Ryujinx.HLE/Utilities/StringUtils.cs b/Ryujinx.HLE/Utilities/StringUtils.cs
index ad18192e..4ce0823c 100644
--- a/Ryujinx.HLE/Utilities/StringUtils.cs
+++ b/Ryujinx.HLE/Utilities/StringUtils.cs
@@ -95,5 +95,31 @@ namespace Ryujinx.HLE.Utilities
return Encoding.UTF8.GetString(ms.ToArray());
}
}
+
+ public static unsafe int CompareCStr(char* s1, char* s2)
+ {
+ int s1Index = 0;
+ int s2Index = 0;
+
+ while (s1[s1Index] != 0 && s2[s2Index] != 0 && s1[s1Index] == s2[s2Index])
+ {
+ s1Index += 1;
+ s2Index += 1;
+ }
+
+ return s2[s2Index] - s1[s1Index];
+ }
+
+ public static unsafe int LengthCstr(char* s)
+ {
+ int i = 0;
+
+ while (s[i] != '\0')
+ {
+ i++;
+ }
+
+ return i;
+ }
}
}