wmem: allow wmem_destroy_list to ignore a NULL list.
[metze/wireshark/wip.git] / wsutil / cpu_info.c
index 2f556ad68144189adb4b5a6303c45bfba76faf95..ce62a0e9d34b9dbed6fcc2fc147b876d76913410 100644 (file)
@@ -1,79 +1,71 @@
 /* cpu_info.c
- * Routines to report information about the CPU on which we're running
+ * Routines to report CPU information
  *
  * Wireshark - Network traffic analyzer
  * By Gerald Combs <gerald@wireshark.org>
  * Copyright 1998 Gerald Combs
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
 #include "config.h"
 
-
+#include <string.h>
 #include <glib.h>
 
 #include <wsutil/ws_cpuid.h>
-
 #include <wsutil/cpu_info.h>
 
 /*
  * Get the CPU info, and append it to the GString
  */
 void
-get_cpu_info(GString *str _U_)
+get_cpu_info(GString *str)
 {
-       guint32 CPUInfo[4];
-       char CPUBrandString[0x40];
-       unsigned nExIds;
+    guint32 CPUInfo[4];
+    char CPUBrandString[0x40];
+    unsigned nExIds;
+
+    /* http://msdn.microsoft.com/en-us/library/hskdteyh(v=vs.100).aspx */
+
+    /* Calling __cpuid with 0x80000000 as the InfoType argument */
+    /* gets the number of valid extended IDs. */
+    if (!ws_cpuid(CPUInfo, 0x80000000))
+        return;
+
+    nExIds = CPUInfo[0];
 
-       /* http://msdn.microsoft.com/en-us/library/hskdteyh(v=vs.100).aspx */
+    if (nExIds<0x80000005)
+        return;
 
-       /* Calling __cpuid with 0x80000000 as the InfoType argument*/
-       /* gets the number of valid extended IDs.*/
-       if (!ws_cpuid(CPUInfo, 0x80000000))
-               return;
-       nExIds = CPUInfo[0];
+    memset(CPUBrandString, 0, sizeof(CPUBrandString));
 
-       if( nExIds<0x80000005)
-               return;
-       memset(CPUBrandString, 0, sizeof(CPUBrandString));
+    /* Interpret CPU brand string */
+    ws_cpuid(CPUInfo, 0x80000002);
+    memcpy(CPUBrandString, CPUInfo, sizeof(CPUInfo));
+    ws_cpuid(CPUInfo, 0x80000003);
+    memcpy(CPUBrandString + 16, CPUInfo, sizeof(CPUInfo));
+    ws_cpuid(CPUInfo, 0x80000004);
+    memcpy(CPUBrandString + 32, CPUInfo, sizeof(CPUInfo));
 
-       /* Interpret CPU brand string.*/
-       ws_cpuid(CPUInfo, 0x80000002);
-       memcpy(CPUBrandString, CPUInfo, sizeof(CPUInfo));
-       ws_cpuid(CPUInfo, 0x80000003);
-       memcpy(CPUBrandString + 16, CPUInfo, sizeof(CPUInfo));
-       ws_cpuid(CPUInfo, 0x80000004);
-       memcpy(CPUBrandString + 32, CPUInfo, sizeof(CPUInfo));
+    if (str->len > 0)
+        g_string_append(str, ", with ");
 
-       g_string_append_printf(str, "\n%s", CPUBrandString);
+    g_string_append_printf(str, "%s", CPUBrandString);
 
-       if (ws_cpuid_sse42())
-               g_string_append(str, " (with SSE4.2)");
+    if (ws_cpuid_sse42())
+        g_string_append(str, " (with SSE4.2)");
 }
 
 /*
  * Editor modelines  -  http://www.wireshark.org/tools/modelines.html
  *
  * Local variables:
- * c-basic-offset: 8
+ * c-basic-offset: 4
  * tab-width: 8
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * vi: set shiftwidth=8 tabstop=8 noexpandtab:
- * :indentSize=8:tabSize=8:noTabs=false:
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
  */