static gboolean carrier_update_cb (gpointer user_data) { NMDeviceAdsl *self = NM_DEVICE_ADSL (user_data); GError *error = NULL; gboolean carrier = FALSE; char *path, *contents; const char *iface; gboolean success; iface = nm_device_get_iface (NM_DEVICE (self)); path = g_strdup_printf ("/sys/class/atm/%s/carrier", iface); success = g_file_get_contents (path, &contents, NULL, &error); g_free (path); if (!success) { nm_log_dbg (LOGD_ADSL, "error reading %s: (%d) %s", path, error ? error->code : -1, error && error->message ? error->message : "(unknown)"); g_clear_error (&error); return TRUE; } carrier = (gboolean) atoi (contents); g_free (contents); nm_device_set_carrier (NM_DEVICE (self), carrier); return TRUE; }
static gboolean carrier_update_cb (gpointer user_data) { NMDeviceAdsl *self = NM_DEVICE_ADSL (user_data); int carrier; char *path; path = g_strdup_printf ("/sys/class/atm/%s/carrier", ASSERT_VALID_PATH_COMPONENT (nm_device_get_iface (NM_DEVICE (self)))); carrier = (int) nm_platform_sysctl_get_int_checked (NM_PLATFORM_GET, path, 10, 0, 1, -1); g_free (path); if (carrier != -1) nm_device_set_carrier (NM_DEVICE (self), carrier); return TRUE; }