diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/common/display.h | 10 | ||||
-rw-r--r-- | arch/common/languages.h | 4 | ||||
-rw-r--r-- | arch/common/printers.h | 12 | ||||
-rw-r--r-- | arch/common/users.h | 13 | ||||
-rw-r--r-- | arch/linux/common/battery.h | 13 | ||||
-rw-r--r-- | arch/linux/common/boots.h | 4 | ||||
-rw-r--r-- | arch/linux/common/devmemory.h | 5 | ||||
-rw-r--r-- | arch/linux/common/filesystem.h | 14 | ||||
-rw-r--r-- | arch/linux/common/inputdevices.h | 19 | ||||
-rw-r--r-- | arch/linux/common/modules.h | 17 | ||||
-rw-r--r-- | arch/linux/common/net.h | 72 | ||||
-rw-r--r-- | arch/linux/common/os.h | 2 | ||||
-rw-r--r-- | arch/linux/common/pci.h | 41 | ||||
-rw-r--r-- | arch/linux/common/sensors.h | 29 | ||||
-rw-r--r-- | arch/linux/common/storage.h | 51 | ||||
-rw-r--r-- | arch/linux/common/usb.h | 9 | ||||
-rw-r--r-- | arch/linux/x86/processor.h | 4 |
17 files changed, 151 insertions, 168 deletions
diff --git a/arch/common/display.h b/arch/common/display.h index b4fe643e..d7cf2ae6 100644 --- a/arch/common/display.h +++ b/arch/common/display.h @@ -82,10 +82,10 @@ get_x11_info(DisplayInfo *di) if (g_str_has_prefix(tmp[0], "number of extensions")) { int n; - di->extensions = ""; + di->extensions = g_strdup(""); for (n = atoi(tmp[1]); n; n--) { - di->extensions = g_strconcat(di->extensions, + di->extensions = h_strconcat(di->extensions, g_strstrip(*(++output_lines)), "=\n", NULL); @@ -108,14 +108,14 @@ get_x11_info(DisplayInfo *di) gint n_monitors = gdk_screen_get_n_monitors(screen); gint i; - di->monitors = ""; + di->monitors = NULL; for (i = 0; i < n_monitors; i++) { GdkRectangle rect; gdk_screen_get_monitor_geometry(screen, i, &rect); - di->monitors = g_strdup_printf("%sMonitor %d=%dx%d pixels\n", - di->monitors, i, rect.width, rect.height); + di->monitors = h_strdup_cprintf("Monitor %d=%dx%d pixels\n", + di->monitors, i, rect.width, rect.height); } } else { di->monitors = ""; diff --git a/arch/common/languages.h b/arch/common/languages.h index 786b829f..efc100fb 100644 --- a/arch/common/languages.h +++ b/arch/common/languages.h @@ -20,7 +20,7 @@ void scan_languages(OperatingSystem * os) { FILE *locale; - gchar buf[512], *retval = ""; + gchar buf[512], *retval = NULL; locale = popen("locale -va", "r"); if (!locale) @@ -64,7 +64,7 @@ scan_languages(OperatingSystem * os) } else { gchar *currlocale; - retval = g_strdup_printf("%s$%s$%s=%s\n", retval, name, name, title); + retval = h_strdup_cprintf("$%s$%s=%s\n", retval, name, name, title); #define FIELD(f) f ? f : "(Unknown)" currlocale = g_strdup_printf("[Locale Information]\n" diff --git a/arch/common/printers.h b/arch/common/printers.h index 3daf28e6..43ddda0a 100644 --- a/arch/common/printers.h +++ b/arch/common/printers.h @@ -70,12 +70,16 @@ __scan_printers(void) if (noprinters > 0) { printer_list = g_strdup_printf("[Printers (CUPS)]\n"); for (i = 0; i < noprinters; i++) { - printer_list = g_strconcat(printer_list, printers[i], - g_str_equal(default_printer, printers[i]) ? - "=<i>(Default)</i>\n" : "=\n", - NULL); + printer_list = h_strdup_cprintf("\n$PRN%d$%s=%s\n", + printer_list, + i, + printers[i], + g_str_equal(default_printer, printers[i]) ? + "<i>(Default)</i>" : ""); g_free(printers[i]); } + + g_free(printers); } else { printer_list = g_strdup("[Printers]\n" "No printers found=\n"); diff --git a/arch/common/users.h b/arch/common/users.h index 84cec9d9..fd8f7834 100644 --- a/arch/common/users.h +++ b/arch/common/users.h @@ -4,14 +4,7 @@ static gchar *sys_users = NULL, static gboolean remove_users(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "USER", 4)) { - /* - * g_free((gchar *) key); - * g_free((GtkTreeIter *) value); - */ - return TRUE; - } - return FALSE; + return g_str_has_prefix(key, "USER"); } static void @@ -52,9 +45,9 @@ scan_users_do(void) uid = atoi(tmp[2]); strend(tmp[4], ','); if (uid >= 1000 && uid <= 65530) { - human_users = g_strdup_printf("%s$%s$%s=%s\n", human_users, key, tmp[0], tmp[4]); + human_users = h_strdup_cprintf("$%s$%s=%s\n", human_users, key, tmp[0], tmp[4]); } else { - sys_users = g_strdup_printf("%s$%s$%s=%s\n", sys_users, key, tmp[0], tmp[4]); + sys_users = h_strdup_cprintf("$%s$%s=%s\n", sys_users, key, tmp[0], tmp[4]); } g_strfreev(tmp); diff --git a/arch/linux/common/battery.h b/arch/linux/common/battery.h index 20979e48..4a38b842 100644 --- a/arch/linux/common/battery.h +++ b/arch/linux/common/battery.h @@ -92,7 +92,7 @@ __scan_battery_acpi(void) if (g_str_equal(present, "yes")) { charge_rate = atof(remaining) / atof(capacity); - battery_list = g_strdup_printf("%s\n[Battery: %s]\n" + battery_list = h_strdup_cprintf("\n[Battery: %s]\n" "State=%s (load: %s)\n" "Capacity=%s / %s (%.2f%%)\n" "Battery Technology=%s (%s)\n" @@ -174,7 +174,7 @@ __scan_battery_apm(void) } if (stotal && sremaining) { - battery_list = g_strdup_printf("%s\n[Battery (APM)]\n" + battery_list = h_strdup_cprintf("\n[Battery (APM)]\n" "Charge=%d%%\n" "Remaining Charge=%s of %s\n" "Using=%s\n" @@ -186,7 +186,7 @@ __scan_battery_apm(void) ac_status[ac_bat], apm_drv_ver, apm_bios_ver); } else { - battery_list = g_strdup_printf("%s\n[Battery (APM)]\n" + battery_list = h_strdup_cprintf("\n[Battery (APM)]\n" "Charge=%d%%\n" "Using=%s\n" "APM driver version=%s\n" @@ -209,4 +209,11 @@ __scan_battery(void) __scan_battery_acpi(); __scan_battery_apm(); + + if (*battery_list == '\0') { + g_free(battery_list); + + battery_list = g_strdup("[No batteries]\n" + "No batteries found on this system=\n"); + } } diff --git a/arch/linux/common/boots.h b/arch/linux/common/boots.h index c95ba321..d3428ea9 100644 --- a/arch/linux/common/boots.h +++ b/arch/linux/common/boots.h @@ -25,7 +25,7 @@ scan_boots_real(void) scan_os(FALSE); if (!computer->os->boots) - computer->os->boots = "[Boots]\n"; + computer->os->boots = g_strdup("[Boots]\n"); else return; @@ -48,7 +48,7 @@ scan_boots_real(void) } tmp = g_strsplit(buffer, " ", 5); - computer->os->boots = g_strdup_printf("%s\n%s=Kernel %s", + computer->os->boots = h_strdup_cprintf("\n%s=Kernel %s", computer->os->boots, tmp[4], tmp[3]); diff --git a/arch/linux/common/devmemory.h b/arch/linux/common/devmemory.h index 780ab12f..5eafe599 100644 --- a/arch/linux/common/devmemory.h +++ b/arch/linux/common/devmemory.h @@ -27,8 +27,9 @@ static void __scan_memory() if (offset == -1) { /* gah. linux 2.4 adds three lines of data we don't need in /proc/meminfo */ - offset = strstr(idle_free(module_call_method("computer::getOSKernel")), - "Linux 2.4") ? 3 : 0; + gchar *os_kernel = module_call_method("computer::getOSKernel"); + offset = strstr(os_kernel, "Linux 2.4") ? 3 : 0; + g_free(os_kernel); } g_file_get_contents("/proc/meminfo", &meminfo, NULL, NULL); diff --git a/arch/linux/common/filesystem.h b/arch/linux/common/filesystem.h index 8300f278..d8166fc3 100644 --- a/arch/linux/common/filesystem.h +++ b/arch/linux/common/filesystem.h @@ -23,15 +23,23 @@ static gchar *fs_list = NULL; +static gboolean +remove_filesystem_entries(gpointer key, gpointer value, gpointer data) +{ + return g_str_has_prefix(key, "FS"); +} + static void scan_filesystems(void) { FILE *mtab; gchar buf[1024]; struct statfs sfs; + int count = 0; g_free(fs_list); fs_list = g_strdup(""); + g_hash_table_foreach_remove(moreinfo, remove_filesystem_entries, NULL); mtab = fopen("/etc/mtab", "r"); if (!mtab) @@ -71,11 +79,11 @@ scan_filesystems(void) strstr(tmp[3], "rw") ? "Read-Write" : "Read-Only", tmp[1], strsize, strused, stravail); - g_hash_table_insert(moreinfo, g_strdup(tmp[0]), strhash); + g_hash_table_insert(moreinfo, g_strdup_printf("FS%d", ++count), strhash); - fs_list = g_strdup_printf("%s$%s$%s=%s total, %s free\n", + fs_list = h_strdup_cprintf("$FS%d$%s=%s total, %s free\n", fs_list, - tmp[0], tmp[0], strsize, stravail); + count, tmp[0], strsize, stravail); g_free(strsize); g_free(stravail); diff --git a/arch/linux/common/inputdevices.h b/arch/linux/common/inputdevices.h index 1a5baff8..8d2d8427 100644 --- a/arch/linux/common/inputdevices.h +++ b/arch/linux/common/inputdevices.h @@ -21,11 +21,7 @@ static gchar *input_icons = NULL; static gboolean remove_input_devices(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "INP", 3)) { - return TRUE; - } - - return FALSE; + return g_str_has_prefix(key, "INP"); } static struct { @@ -91,10 +87,10 @@ __scan_input_devices(void) } tmp = g_strdup_printf("INP%d", ++n); - input_list = g_strdup_printf("%s$%s$%s=\n", + input_list = h_strdup_cprintf("$%s$%s=\n", input_list, tmp, name); - input_icons = g_strdup_printf("%sIcon$%s$%s=%s\n", + input_icons = h_strdup_cprintf("Icon$%s$%s=%s\n", input_icons, tmp, name, input_devices[d].icon); @@ -108,20 +104,17 @@ __scan_input_devices(void) const gchar *url = vendor_get_url(name); if (url) { - strhash = g_strdup_printf("%s" - "Vendor=%s (%s)\n", + strhash = h_strdup_cprintf("Vendor=%s (%s)\n", strhash, vendor_get_name(name), url); } else { - strhash = g_strdup_printf("%s" - "Vendor=%x\n", + strhash = h_strdup_cprintf("Vendor=%x\n", strhash, vendor); } - strhash = g_strdup_printf("%s" - "Product=0x%x\n" + strhash = h_strdup_cprintf("Product=0x%x\n" "Version=0x%x\n" "Connected to=%s\n", strhash, product, version, phys); diff --git a/arch/linux/common/modules.h b/arch/linux/common/modules.h index 9b895ee8..6fbe13bd 100644 --- a/arch/linux/common/modules.h +++ b/arch/linux/common/modules.h @@ -26,12 +26,7 @@ static gboolean remove_module_devices(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "MOD", 3)) { - g_free((gchar *) key); - g_free((GtkTreeIter *) value); - return TRUE; - } - return FALSE; + return g_str_has_prefix(key, "MOD"); } static void @@ -42,9 +37,9 @@ scan_modules_do(void) if (module_list) { g_free(module_list); - module_list = NULL; } - + + module_list = NULL; g_hash_table_foreach_remove(moreinfo, remove_module_devices, NULL); lsmod = popen("/sbin/lsmod", "r"); @@ -103,8 +98,8 @@ scan_modules_do(void) } /* append this module to the list of modules */ - module_list = g_strdup_printf("%s$%s$%s=%s\n", - module_list ? module_list : "", + module_list = h_strdup_cprintf("$%s$%s=%s\n", + module_list, hashkey, modname, description ? description : ""); @@ -134,7 +129,7 @@ scan_modules_do(void) if (deps && strlen(deps)) { gchar **tmp = g_strsplit(deps, ",", 0); - strmodule = g_strconcat(strmodule, + strmodule = h_strconcat(strmodule, "\n[Dependencies]\n", g_strjoinv("=\n", tmp), "=\n", NULL); diff --git a/arch/linux/common/net.h b/arch/linux/common/net.h index cd8b8706..527da1df 100644 --- a/arch/linux/common/net.h +++ b/arch/linux/common/net.h @@ -16,7 +16,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -static gchar *network_interfaces = NULL; +static gchar *network_interfaces = NULL, + *network_icons = NULL; #include <sys/ioctl.h> #include <net/if.h> @@ -100,26 +101,27 @@ void get_net_info(char *if_name, NetInfo *netinfo) static struct { char *type; char *label; + char *icon; } netdev2type[] = { - { "eth", "Ethernet" }, - { "lo", "Loopback" }, - { "ppp", "Point-to-Point" }, - { "ath", "Wireless" }, - { "wlan", "Wireless" }, - { "tun", "Virtual Point-to-Point (TUN)" }, - { "tap", "Ethernet (TAP)" }, - { "plip", "Parallel Line Internet Protocol" }, - { "irlan", "Infrared" }, - { "slip", "Serial Line Internet Protocol" }, - { "isdn", "Integrated Services Digital Network" }, - { "sit", "IPv6-over-IPv4 Tunnel" }, - { "vmnet8", "VMWare Virtual Network Interface (NAT)" }, - { "vmnet", "VMWare Virtual Network Interface" }, - { NULL, "Unknown" }, + { "eth", "Ethernet", "network" }, + { "lo", "Loopback", "network-generic" }, + { "ppp", "Point-to-Point", "modem" }, + { "ath", "Wireless", "wireless" }, + { "wlan", "Wireless", "wireless" }, + { "tun", "Virtual Point-to-Point (TUN)", "network-generic" }, + { "tap", "Ethernet (TAP)", "network-generic" }, + { "plip", "Parallel Line Internet Protocol", "network" }, + { "irlan", "Infrared", "network-generic" }, + { "slip", "Serial Line Internet Protocol", "network-generic" }, + { "isdn", "Integrated Services Digital Network", "modem" }, + { "sit", "IPv6-over-IPv4 Tunnel", "network-generic" }, + { "vmnet8", "VMWare Virtual Network Interface (NAT)", "computer" }, + { "vmnet", "VMWare Virtual Network Interface", "computer"}, + { NULL, "Unknown", "network-generic" }, }; -static const gchar * -net_get_iface_type(gchar *name) +static void +net_get_iface_type(gchar *name, gchar **type, gchar **icon) { int i; @@ -128,18 +130,14 @@ net_get_iface_type(gchar *name) break; } - return netdev2type[i].label; + *type = netdev2type[i].label; + *icon = netdev2type[i].icon; } static gboolean remove_net_devices(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "NET", 4)) { - g_free((gchar *) key); - g_free((GtkTreeIter *) value); - return TRUE; - } - return FALSE; + return g_str_has_prefix(key, "NET"); } static void @@ -171,7 +169,12 @@ scan_net_interfaces_24(void) g_free(network_interfaces); } + if (network_icons) { + g_free(network_icons); + } + network_interfaces = g_strdup("[Network Interfaces]\n"); + network_icons = g_strdup(""); proc_net = fopen("/proc/net/dev", "r"); while (fgets(buffer, 256, proc_net)) { @@ -179,6 +182,7 @@ scan_net_interfaces_24(void) gint trash; gchar ifacename[16]; gchar *buf = buffer; + gchar *iface_type, *iface_icon, *ip; gint i; buf = g_strstrip(buf); @@ -204,14 +208,21 @@ scan_net_interfaces_24(void) get_net_info(ifacename, &ni); devid = g_strdup_printf("NET%s", ifacename); - network_interfaces = g_strdup_printf("%s$%s$%s=Sent %.2fMiB, received %.2fMiB%s\n", + + ip = g_strdup_printf(" (%s)", ni.ip); + network_interfaces = h_strdup_cprintf("$%s$%s=Sent %.2fMiB, received %.2fMiB%s\n", network_interfaces, devid, ifacename, trans_mb, recv_mb, - ni.ip[0] ? - (gchar*)idle_free(g_strdup_printf(" (%s)", ni.ip)) : ""); + ni.ip[0] ? ip: ""); + g_free(ip); + + net_get_iface_type(ifacename, &iface_type, &iface_icon); + network_icons = h_strdup_cprintf("Icon$%s$%s=%s.png\n", + network_icons, devid, + ifacename, iface_icon); detailed = g_strdup_printf("[Network Adapter Properties]\n" "Interface Type=%s\n" @@ -220,7 +231,7 @@ scan_net_interfaces_24(void) "[Transfer Details]\n" "Bytes Received=%ld (%.2fMiB)\n" "Bytes Sent=%ld (%.2fMiB)\n", - net_get_iface_type(ifacename), + iface_type, ni.mac[0], ni.mac[1], ni.mac[2], ni.mac[3], ni.mac[4], ni.mac[5], @@ -229,8 +240,7 @@ scan_net_interfaces_24(void) trans_bytes, trans_mb); if (ni.ip[0] || ni.mask[0] || ni.broadcast[0]) { - detailed = g_strdup_printf("%s\n" - "[Internet Protocol (IPv4)]\n" + detailed = h_strdup_cprintf("\n[Internet Protocol (IPv4)]\n" "IP Address=%s\n" "Mask=%s\n" "Broadcast Address=%s\n", diff --git a/arch/linux/common/os.h b/arch/linux/common/os.h index d30146ef..0fe06709 100644 --- a/arch/linux/common/os.h +++ b/arch/linux/common/os.h @@ -162,8 +162,6 @@ computer_get_os(void) } if (g_file_test(distro_db[i].file, G_FILE_TEST_EXISTS)) { - - FILE *distro_ver; char buf[128]; diff --git a/arch/linux/common/pci.h b/arch/linux/common/pci.h index e50691d0..554c3dca 100644 --- a/arch/linux/common/pci.h +++ b/arch/linux/common/pci.h @@ -24,14 +24,8 @@ __scan_pci(void) gchar *category = NULL, *name = NULL; gint n = 0; - //if (g_file_test("/usr/bin/gksudo", G_FILE_TEST_EXISTS)) { - // lspci = popen("gksudo '/bin/lspci -v'", "r"); - //} else { - lspci = popen(LSPCI, "r"); - //} - - if (!lspci) { - return; + if (!(lspci = popen(LSPCI, "r"))) { + goto pci_error; } gchar *icon; @@ -66,32 +60,24 @@ __scan_pci(void) g_strfreev(list); if (irq) - strdevice = g_strdup_printf("%sIRQ=%d\n", strdevice, irq); + strdevice = h_strdup_cprintf("IRQ=%d\n", strdevice, irq); if (freq) - strdevice = - g_strdup_printf("%sFrequency=%dMHz\n", strdevice, - freq); + strdevice = h_strdup_cprintf("Frequency=%dMHz\n", strdevice, freq); if (latency) - strdevice = - g_strdup_printf("%sLatency=%d\n", strdevice, latency); + strdevice = h_strdup_cprintf("Latency=%d\n", strdevice, latency); - strdevice = - g_strdup_printf("%sBus Master=%s\n", strdevice, - bus_master ? "Yes" : "No"); + strdevice = h_strdup_cprintf("Bus Master=%s\n", strdevice, bus_master ? "Yes" : "No"); } else if (!strncmp(buf, "Subsystem", 9)) { WALK_UNTIL(' '); buf++; - strdevice = - g_strdup_printf("%sOEM Vendor=%s\n", strdevice, buf); + strdevice = h_strdup_cprintf("OEM Vendor=%s\n", strdevice, buf); } else if (!strncmp(buf, "Capabilities", 12) && !strstr(buf, "only to root") && !strstr(buf, "access denied")) { WALK_UNTIL(' '); WALK_UNTIL(']'); buf++; - strdevice = - g_strdup_printf("%sCapability#%d=%s\n", strdevice, ++x, - buf); + strdevice = h_strdup_cprintf("Capability#%d=%s\n", strdevice, ++x, buf); } else if (!strncmp(buf, "Memory at", 9) && strstr(buf, "[size=")) { gint mem; gchar unit; @@ -104,7 +90,7 @@ __scan_pci(void) WALK_UNTIL('['); sscanf(buf, "[size=%d%c", &mem, &unit); - strdevice = g_strdup_printf("%sMemory#%d=%d%cB (%s%s)\n", + strdevice = h_strdup_cprintf("Memory#%d=%d%cB (%s%s)\n", strdevice, ++x, mem, (unit == ']') ? ' ' : unit, @@ -118,7 +104,7 @@ __scan_pci(void) sscanf(buf, "I/O ports at %x [size=%d]", &io_addr, &io_size); strdevice = - g_strdup_printf("%sI/O ports at#%d=0x%x - 0x%x\n", + h_strdup_cprintf("I/O ports at#%d=0x%x - 0x%x\n", strdevice, ++x, io_addr, io_addr + io_size); } else if ((buf[0] >= '0' && buf[0] <= '9') && (buf[4] == ':' || buf[2] == ':')) { @@ -174,22 +160,21 @@ __scan_pci(void) const gchar *url = vendor_get_url(name); if (url) { - strdevice = g_strdup_printf("%s" - "Vendor=%s (%s)\n", + strdevice = h_strdup_cprintf("Vendor=%s (%s)\n", strdevice, vendor_get_name(name), url); } - pci_list = g_strdup_printf("%s$PCI%d$%s=%s\n", pci_list, n, category, - name); + pci_list = h_strdup_cprintf("$PCI%d$%s=%s\n", pci_list, n, category, name); n++; } } if (pclose(lspci)) { +pci_error: /* error (no pci, perhaps?) */ pci_list = g_strconcat(pci_list, "No PCI devices found=\n", NULL); } else if (strhash) { diff --git a/arch/linux/common/sensors.h b/arch/linux/common/sensors.h index 3303d5d2..bc84014b 100644 --- a/arch/linux/common/sensors.h +++ b/arch/linux/common/sensors.h @@ -147,8 +147,7 @@ static void read_sensors_hwmon(void) gchar *path_hwmon, *path_sensor, *tmp, *driver, *name, *mon; hwmon = 0; - path_hwmon = - g_strdup_printf("/sys/class/hwmon/hwmon%d/device/", hwmon); + path_hwmon = g_strdup_printf("/sys/class/hwmon/hwmon%d/device/", hwmon); while (g_file_test(path_hwmon, G_FILE_TEST_EXISTS)) { tmp = g_strdup_printf("%sdriver", path_hwmon); driver = g_file_read_link(tmp, NULL); @@ -162,9 +161,6 @@ static void read_sensors_hwmon(void) read_sensor_labels(driver); } - sensors = g_strdup_printf("%s[Driver Info]\n" - "Name=%s\n", sensors, driver); - sensors = g_strconcat(sensors, "[Cooling Fans]\n", NULL); for (count = 1;; count++) { path_sensor = @@ -177,7 +173,7 @@ static void read_sensors_hwmon(void) mon = g_strdup_printf("fan%d", count); name = get_sensor_label(mon); if (!g_str_equal(name, "ignore")) { - sensors = g_strdup_printf("%s%s=%.0fRPM\n", + sensors = h_strdup_cprintf("%s=%.0fRPM\n", sensors, name, adjust_sensor(mon, atof(tmp))); } @@ -200,7 +196,7 @@ static void read_sensors_hwmon(void) mon = g_strdup_printf("temp%d", count); name = get_sensor_label(mon); if (!g_str_equal(name, "ignore")) { - sensors = g_strdup_printf("%s%s=%.2f\302\260C\n", + sensors = h_strdup_cprintf("%s=%.2f\302\260C\n", sensors, name, adjust_sensor(mon, atof(tmp) / @@ -226,7 +222,7 @@ static void read_sensors_hwmon(void) mon = g_strdup_printf("in%d", count); name = get_sensor_label(mon); if (!g_str_equal(name, "ignore")) { - sensors = g_strdup_printf("%s%s=%.3fV\n", + sensors = h_strdup_cprintf("%s=%.3fV\n", sensors, name, adjust_sensor(mon, atof(tmp) / @@ -258,9 +254,8 @@ static void read_sensors_acpi(void) if ((tz = g_dir_open(path_tz, 0, NULL))) { const gchar *entry; + gchar *temp = ""; - sensors = - g_strdup_printf("%s\n[ACPI Thermal Zone]\n", sensors); while ((entry = g_dir_read_name(tz))) { gchar *path = @@ -272,13 +267,18 @@ static void read_sensors_acpi(void) sscanf(contents, "temperature: %d C", &temperature); - sensors = g_strdup_printf("%s\n%s=%d\302\260C\n", - sensors, entry, temperature); + temp = h_strdup_cprintf("\n%s=%d\302\260C\n", + temp, entry, temperature); g_free(contents); } } + if (*temp != '\0') + sensors = + h_strdup_cprintf("\n[ACPI Thermal Zone]\n%s", + sensors, temp); + g_dir_close(tz); } } @@ -295,7 +295,7 @@ static void read_sensors_omnibook(void) sscanf(contents, "CPU temperature: %d C", &temperature); - sensors = g_strdup_printf("%s\n[Omnibook]\n" + sensors = h_strdup_cprintf("\n[Omnibook]\n" "CPU temperature=%d\302\260C\n", sensors, temperature); @@ -334,8 +334,7 @@ static void read_sensors_hddtemp(void) * 2 -> 41 * 3 -> C */ - old = g_strdup_printf("%s\n" - "%s (%s)=%s\302\260%s\n", + old = h_strdup_cprintf("\n%s (%s)=%s\302\260%s\n", old, fields[1], fields[0], fields[2], fields[3]); diff --git a/arch/linux/common/storage.h b/arch/linux/common/storage.h index 836ba7ea..6700984b 100644 --- a/arch/linux/common/storage.h +++ b/arch/linux/common/storage.h @@ -16,15 +16,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -static gchar *storage_icons = ""; +static gchar *storage_icons = NULL; static gboolean remove_scsi_devices(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "SCSI", 4)) { - return TRUE; - } - return FALSE; + return g_str_has_prefix(key, "SCSI"); } /* SCSI support by Pascal F.Martin <pascalmartin@earthlink.net> */ @@ -113,8 +110,8 @@ __scan_scsi_devices(void) } gchar *devid = g_strdup_printf("SCSI%d", n); - storage_list = g_strdup_printf("%s$%s$%s=\n", storage_list, devid, model); - storage_icons = g_strdup_printf("%sIcon$%s$%s=%s.png\n", storage_icons, devid, model, icon); + storage_list = h_strdup_cprintf("$%s$%s=\n", storage_list, devid, model); + storage_icons = h_strdup_cprintf("Icon$%s$%s=%s.png\n", storage_icons, devid, model, icon); gchar *strhash = g_strdup_printf("[Device Information]\n" "Model=%s\n" @@ -147,10 +144,7 @@ __scan_scsi_devices(void) static gboolean remove_ide_devices(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "IDE", 3)) { - return TRUE; - } - return FALSE; + return g_str_has_prefix(key, "IDE"); } void @@ -165,7 +159,7 @@ __scan_ide_devices(void) /* remove old devices from global device table */ g_hash_table_foreach_remove(moreinfo, remove_ide_devices, NULL); - storage_list = g_strdup_printf("%s\n[IDE Disks]\n", storage_list); + storage_list = g_strconcat(storage_list, "\n[IDE Disks]\n", NULL); iface = 'a'; for (i = 0; i <= 16; i++) { @@ -211,26 +205,26 @@ __scan_ide_devices(void) gchar *media_type = g_strstrip(strstr(buf, "Does ")); gchar **ttmp = g_strsplit(media_type, " ", 0); - capab = g_strdup_printf("%s\nCan %s#%d=%s\n", - capab ? capab : "", + capab = h_strdup_cprintf("\nCan %s#%d=%s\n", + capab, ttmp[1], ++nn, ttmp[2]); g_strfreev(ttmp); } else if (strstr(buf, "Buffer-Underrun-Free")) { - capab = g_strdup_printf("%s\nSupports BurnProof=%s\n", - capab ? capab : "", + capab = h_strdup_cprintf("\nSupports BurnProof=%s\n", + capab, strstr(buf, "Does not") ? "No" : "Yes"); } else if (strstr(buf, "multi-session")) { - capab = g_strdup_printf("%s\nCan read multi-session CDs=%s\n", - capab ? capab : "", + capab = h_strdup_cprintf("\nCan read multi-session CDs=%s\n", + capab, strstr(buf, "Does not") ? "No" : "Yes"); } else if (strstr(buf, "audio CDs")) { - capab = g_strdup_printf("%s\nCan play audio CDs=%s\n", - capab ? capab : "", + capab = h_strdup_cprintf("\nCan play audio CDs=%s\n", + capab, strstr(buf, "Does not") ? "No" : "Yes"); } else if (strstr(buf, "PREVENT/ALLOW")) { - capab = g_strdup_printf("%s\nCan lock media=%s\n", - capab ? capab : "", + capab = h_strdup_cprintf("\nCan lock media=%s\n", + capab, strstr(buf, "Does not") ? "No" : "Yes"); } } else if ((strstr(buf, "read") || strstr(buf, "write")) && strstr(buf, "kB/s")) { @@ -248,7 +242,6 @@ __scan_ide_devices(void) g_free(tmp); } - g_free(device); device = g_strdup_printf("/proc/ide/hd%c/cache", iface); @@ -288,9 +281,9 @@ __scan_ide_devices(void) gchar *devid = g_strdup_printf("IDE%d", n); - storage_list = g_strdup_printf("%s$%s$%s=\n", storage_list, + storage_list = h_strdup_cprintf("$%s$%s=\n", storage_list, devid, model); - storage_icons = g_strdup_printf("%sIcon$%s$%s=%s.png\n", storage_icons, devid, + storage_icons = h_strdup_cprintf("Icon$%s$%s=%s.png\n", storage_icons, devid, model, g_str_equal(media, "cdrom") ? \ "cdrom" : "hdd"); @@ -307,14 +300,14 @@ __scan_ide_devices(void) media, cache); if (driver) { - strhash = g_strdup_printf("%s%s\n", strhash, driver); + strhash = h_strdup_cprintf("%s\n", strhash, driver); g_free(driver); driver = NULL; } if (pgeometry && lgeometry) { - strhash = g_strdup_printf("%s[Geometry]\n" + strhash = h_strdup_cprintf("[Geometry]\n" "Physical=%s\n" "Logical=%s\n", strhash, pgeometry, lgeometry); @@ -326,14 +319,14 @@ __scan_ide_devices(void) } if (capab) { - strhash = g_strdup_printf("%s[Capabilities]\n%s", strhash, capab); + strhash = h_strdup_cprintf("[Capabilities]\n%s", strhash, capab); g_free(capab); capab = NULL; } if (speed) { - strhash = g_strdup_printf("%s[Speeds]\n%s", strhash, speed); + strhash = h_strdup_cprintf("[Speeds]\n%s", strhash, speed); g_free(speed); speed = NULL; diff --git a/arch/linux/common/usb.h b/arch/linux/common/usb.h index d59f5f01..f2592648 100644 --- a/arch/linux/common/usb.h +++ b/arch/linux/common/usb.h @@ -19,10 +19,7 @@ static gboolean remove_usb_devices(gpointer key, gpointer value, gpointer data) { - if (!strncmp((gchar *) key, "USB", 3)) { - return TRUE; - } - return FALSE; + return g_str_has_prefix(key, "USB"); } static gchar *usb_list = NULL; @@ -89,10 +86,10 @@ __scan_usb(void) if (classid == 9) { /* hub */ - usb_list = g_strdup_printf("%s[%s#%d]\n", + usb_list = h_strdup_cprintf("[%s#%d]\n", usb_list, product, n); } else { /* everything else */ - usb_list = g_strdup_printf("%s$%s$%s=\n", + usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, product); const gchar *url = vendor_get_url(manuf); diff --git a/arch/linux/x86/processor.h b/arch/linux/x86/processor.h index 918bac7c..fd8711af 100644 --- a/arch/linux/x86/processor.h +++ b/arch/linux/x86/processor.h @@ -264,7 +264,7 @@ gchar *processor_get_capabilities_from_flags(gchar * strflags) * - Use binary search or something faster than this O(n) cruft */ gchar **flags, **old; - gchar *tmp = ""; + gchar *tmp = NULL; gint i, j = 0; flags = g_strsplit(strflags, " ", 0); @@ -279,7 +279,7 @@ gchar *processor_get_capabilities_from_flags(gchar * strflags) } } - tmp = g_strdup_printf("%s%s=%s\n", tmp, flags[j], meaning); + tmp = h_strdup_cprintf("%s=%s\n", tmp, flags[j], meaning); j++; } |