diff options
| author | Simon Quigley <tsimonq2@ubuntu.com> | 2017-06-19 14:38:43 -0500 | 
|---|---|---|
| committer | Simon Quigley <tsimonq2@ubuntu.com> | 2017-06-19 14:38:43 -0500 | 
| commit | 7aeb5ac87c6105bd8fcc9b1fd12e37ba1550f587 (patch) | |
| tree | cab8ef3e10d3a33a2033538b6088e107f0a86dcd /arch | |
| parent | a9d469b1b48a8446dc9b9fd987b6af83a60ed796 (diff) | |
Import Upstream version 0.4.2.2
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++;      } | 
