From ea87e3918801e641032ab9d9c54a180504ee3e24 Mon Sep 17 00:00:00 2001 From: Rem0o Date: Tue, 1 Nov 2022 04:48:06 -0400 Subject: [PATCH] Add support for HX1500i (#865) + fix unsafe array trimming --- .../Hardware/Psu/Corsair/CorsairPsu.cs | 11 ++--------- .../Hardware/Psu/Corsair/CorsairPsuGroup.cs | 5 ++++- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsu.cs b/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsu.cs index 7c3f2dd..2456ac1 100644 --- a/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsu.cs +++ b/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsu.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Linq; using System.Text; using HidSharp; @@ -343,15 +344,7 @@ internal static class UsbApi string ArrayToString(byte[] ar) { - int i = 0; - while (ar[i] != 0) - i++; - - byte[] trimmed = new byte[i]; - for (int j = 0; j < i; j++) - trimmed[j] = ar[j]; - - return Encoding.ASCII.GetString(trimmed); + return Encoding.ASCII.GetString(ar.TakeWhile(x => x != 0).ToArray()); } return new FirmwareInfo { Vendor = ArrayToString(vendorArr), Product = ArrayToString(productArr) }; diff --git a/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsuGroup.cs b/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsuGroup.cs index e039f8b..7bd8990 100644 --- a/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsuGroup.cs +++ b/LibreHardwareMonitorLib/Hardware/Psu/Corsair/CorsairPsuGroup.cs @@ -21,11 +21,14 @@ public class CorsairPsuGroup : IGroup 0x1c06, // HX850i 0x1c07, // HX1000i 0x1c08, // HX1200i + 0x1c1f, // HX1500i + 0x1c09, // RM550i 0x1c0a, // RM650i 0x1c0b, // RM750i 0x1c0c, // RM850i - 0x1c0d // RM1000i + 0x1c0d, // RM1000i + // 0x1c11, // AX1600i };