For the record, this happens in ./hald/linux/coldplug.c:
udevdb to UdevInfo struct:
hal_util_init_sysfs_to_udev_map():
char *udevdb_export_argv[] = { "/sbin/udevadm", "info", "-e", NULL }; [...] else if (strncmp(line, "E: ID_FS_LABEL=", 15) == 0) { info->fslabel = &line[15];
and further on, conversion to HotplugEvent*:
static HotplugEvent* udev_info_to_hotplug_event(const UdevInfo *info):
if ((str = hal_util_strdup_valid_utf8(info->fslabel)) != NULL) { g_strlcpy (hotplug_event->sysfs.fslabel, str, sizeof(hotplug_event->sysfs.fslabel)); g_free (str); }
For the record, this happens in ./hald/ linux/coldplug. c:
udevdb to UdevInfo struct:
hal_ util_init_ sysfs_to_ udev_map( ):
char *udevdb_ export_ argv[] = { "/sbin/udevadm", "info", "-e", NULL };
info- >fslabel = &line[15];
[...]
else if (strncmp(line, "E: ID_FS_LABEL=", 15) == 0) {
and further on, conversion to HotplugEvent*:
static HotplugEvent* udev_info_ to_hotplug_ event(const UdevInfo *info):
if ((str = hal_util_ strdup_ valid_utf8( info->fslabel) ) != NULL) {
g_strlcpy (hotplug_ event-> sysfs.fslabel, str, sizeof( hotplug_ event-> sysfs.fslabel) );
g_free (str);
}