Merge lp:~ted/indicator-session/strings-allocation into lp:indicator-session/0.1

Proposed by Conor Curran
Status: Merged
Merged at revision: 192
Proposed branch: lp:~ted/indicator-session/strings-allocation
Merge into: lp:indicator-session/0.1
Diff against target: 107 lines (+21/-20)
1 file modified
src/udev-mgr.c (+21/-20)
To merge this branch: bzr merge lp:~ted/indicator-session/strings-allocation
Reviewer Review Type Date Requested Status
Conor Curran Pending
Review via email: mp+72941@code.launchpad.net

Description of the change

string allocation fixes

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/udev-mgr.c'
--- src/udev-mgr.c 2011-08-25 16:05:41 +0000
+++ src/udev-mgr.c 2011-08-25 18:54:24 +0000
@@ -50,8 +50,9 @@
50 UdevMgrDeviceAction action);50 UdevMgrDeviceAction action);
51 51
52static gchar* format_device_name (UdevMgr* self,52static gchar* format_device_name (UdevMgr* self,
53 gchar* brand,53 const gchar* brand,
54 gchar* type);54 const gchar* generic,
55 const gchar* branded) G_GNUC_WARN_UNUSED_RESULT;
55struct _UdevMgr56struct _UdevMgr
56{57{
57 GObject parent_instance;58 GObject parent_instance;
@@ -247,11 +248,11 @@
247 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");248 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
248 249
249 if (manufacturer != NULL){250 if (manufacturer != NULL){
251 gchar * label = format_device_name(self, manufacturer, _("Webcam"), _("%s Webcam"));
250 dbusmenu_menuitem_property_set (self->webcam_item,252 dbusmenu_menuitem_property_set (self->webcam_item,
251 DBUSMENU_MENUITEM_PROP_LABEL,253 DBUSMENU_MENUITEM_PROP_LABEL,
252 format_device_name (self,254 label);
253 g_strdup(manufacturer),255 g_free(label);
254 "Webcam"));
255 }256 }
256 257
257 g_hash_table_insert (self->webcams_present,258 g_hash_table_insert (self->webcams_present,
@@ -322,11 +323,11 @@
322 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");323 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
323 324
324 if (manufacturer != NULL){325 if (manufacturer != NULL){
326 gchar * label = format_device_name(self, manufacturer, _("Scanner"), _("%s Scanner"));
325 dbusmenu_menuitem_property_set (self->scanner_item,327 dbusmenu_menuitem_property_set (self->scanner_item,
326 DBUSMENU_MENUITEM_PROP_LABEL,328 DBUSMENU_MENUITEM_PROP_LABEL,
327 format_device_name (self,329 label);
328 g_strdup(manufacturer),330 g_free(label);
329 "Scanner"));
330 }331 }
331 332
332 gchar* random_scanner_name = g_strdup_printf("%p--scanner", self);333 gchar* random_scanner_name = g_strdup_printf("%p--scanner", self);
@@ -387,11 +388,11 @@
387 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");388 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
388 389
389 if (manufacturer != NULL){390 if (manufacturer != NULL){
391 gchar * label = format_device_name(self, manufacturer, _("Scanner"), _("%s Scanner"));
390 dbusmenu_menuitem_property_set (self->scanner_item,392 dbusmenu_menuitem_property_set (self->scanner_item,
391 DBUSMENU_MENUITEM_PROP_LABEL,393 DBUSMENU_MENUITEM_PROP_LABEL,
392 format_device_name (self,394 label);
393 g_strdup(manufacturer),395 g_free(label);
394 "Scanner"));
395 }396 }
396 g_hash_table_insert (self->scanners_present,397 g_hash_table_insert (self->scanners_present,
397 g_strdup(vendor),398 g_strdup(vendor),
@@ -453,12 +454,11 @@
453 454
454 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");455 manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
455 if (manufacturer != NULL){456 if (manufacturer != NULL){
456 457 gchar * label = format_device_name(self, manufacturer, _("Scanner"), _("%s Scanner"));
457 dbusmenu_menuitem_property_set (self->scanner_item, 458 dbusmenu_menuitem_property_set (self->scanner_item,
458 DBUSMENU_MENUITEM_PROP_LABEL,459 DBUSMENU_MENUITEM_PROP_LABEL,
459 format_device_name (self,460 label);
460 g_strdup(manufacturer),461 g_free(label);
461 "Scanner"));
462 }462 }
463 463
464 g_hash_table_insert (self->scanners_present,464 g_hash_table_insert (self->scanners_present,
@@ -513,24 +513,25 @@
513}513}
514514
515static gchar* format_device_name (UdevMgr* self,515static gchar* format_device_name (UdevMgr* self,
516 gchar* brand,516 const gchar* brand,
517 gchar* type)517 const gchar* generic,
518 const gchar* branded)
518{519{
519 // We don't want to accommodate long names520 // We don't want to accommodate long names
520 if (strlen(brand) > 7)521 if (strlen(brand) > 7)
521 return type;522 return g_strdup(generic);
522523
523 gint i = 0;524 gint i = 0;
524525
525 // If it contains something other than an alphabetic entry ignore it.526 // If it contains something other than an alphabetic entry ignore it.
526 for(i = 0; i < sizeof(brand); i++){527 for(i = 0; i < sizeof(brand); i++){
527 if ( !g_ascii_isalpha (brand[i]) )528 if ( !g_ascii_isalpha (brand[i]) )
528 return type;529 return g_strdup(generic);
529 }530 }
530531
531 gchar* lowered = g_ascii_strdown (brand, -1);532 gchar* lowered = g_ascii_strdown (brand, -1);
532 lowered[0] = g_ascii_toupper (lowered[0]);533 lowered[0] = g_ascii_toupper (lowered[0]);
533 gchar* label = g_strdup_printf(_("%s %s"), lowered, type);534 gchar* label = g_strdup_printf(branded, lowered);
534 g_free (lowered); 535 g_free (lowered);
535 return label;536 return label;
536}537}

Subscribers

People subscribed via source and target branches