Я просматривал исходный код для PolicyKit пакета в гнома, и я пришел через некоторый код на линии 568 из ./src/polkitgnomeauthenticationdialog.c
, что мне нужно немного помочь сЧто означает следующая часть PolicyKit-gnome?
if (g_strv_length (dialog->priv->users) > 1)
Это часть условного оператора который определит, какой диалог будет показан пользователю при запросе их аутентификации, введя свой пароль. Что мне нужно, так это то, что означает dialog->priv-.users
. Я знаю, что это строка с завершающим символом NULL, так как это то, что работает g_strv_lngth
, и я понимаю, что это связано с привилегированными пользователями, но синтаксис меня отбрасывает, в частности, ->
. Быстрое объяснение этой линии было бы очень полезно.
Для справки, полное условное утверждение
label = gtk_label_new (NULL);
if (g_strv_length (dialog->priv->users) > 1)
{
gtk_label_set_markup (GTK_LABEL (label),
_("An application is attempting to perform an action that requires privileges. "
"Authentication as one of the users below is required to perform this action."));
}
else
{
if (strcmp (g_get_user_name(), dialog->priv->users[0]) == 0)
{
gtk_label_set_markup (GTK_LABEL (label),
_("An application is attempting to perform an action that requires privileges. "
"Authentication is required to perform this action."));
}
else
{
gtk_label_set_markup (GTK_LABEL (label),
_("An application is attempting to perform an action that requires privileges. "
"Authentication as the super user is required to perform this action."));
}
}