mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
locale: store polkit_registry in Context
This commit is contained in:
parent
6804d7a849
commit
af7865c1b7
@ -5,6 +5,7 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "bus-util.h"
|
||||
#include "def.h"
|
||||
#include "env-util.h"
|
||||
#include "fd-util.h"
|
||||
@ -76,6 +77,8 @@ void context_clear(Context *c) {
|
||||
sd_bus_message_unref(c->locale_cache);
|
||||
sd_bus_message_unref(c->x11_cache);
|
||||
sd_bus_message_unref(c->vc_cache);
|
||||
|
||||
bus_verify_polkit_async_registry_free(c->polkit_registry);
|
||||
};
|
||||
|
||||
void locale_simplify(char *locale[_VARIABLE_LC_MAX]) {
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "sd-bus.h"
|
||||
|
||||
#include "hashmap.h"
|
||||
#include "locale-util.h"
|
||||
#include "time-util.h"
|
||||
|
||||
@ -22,6 +23,8 @@ typedef struct Context {
|
||||
usec_t vc_mtime;
|
||||
char *vc_keymap;
|
||||
char *vc_keymap_toggle;
|
||||
|
||||
Hashmap *polkit_registry;
|
||||
} Context;
|
||||
|
||||
int find_converted_keymap(const char *x11_layout, const char *x11_variant, char **new_keymap);
|
||||
|
@ -26,8 +26,6 @@
|
||||
#include "strv.h"
|
||||
#include "user-util.h"
|
||||
|
||||
static Hashmap *polkit_registry = NULL;
|
||||
|
||||
static int locale_update_system_manager(Context *c, sd_bus *bus) {
|
||||
_cleanup_free_ char **l_unset = NULL;
|
||||
_cleanup_strv_free_ char **l_set = NULL;
|
||||
@ -362,7 +360,7 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er
|
||||
NULL,
|
||||
interactive,
|
||||
UID_INVALID,
|
||||
&polkit_registry,
|
||||
&c->polkit_registry,
|
||||
error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@ -433,7 +431,7 @@ static int method_set_vc_keyboard(sd_bus_message *m, void *userdata, sd_bus_erro
|
||||
NULL,
|
||||
interactive,
|
||||
UID_INVALID,
|
||||
&polkit_registry,
|
||||
&c->polkit_registry,
|
||||
error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@ -626,7 +624,7 @@ static int method_set_x11_keyboard(sd_bus_message *m, void *userdata, sd_bus_err
|
||||
NULL,
|
||||
interactive,
|
||||
UID_INVALID,
|
||||
&polkit_registry,
|
||||
&c->polkit_registry,
|
||||
error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@ -762,7 +760,5 @@ int main(int argc, char *argv[]) {
|
||||
log_error_errno(r, "Failed to run event loop: %m");
|
||||
|
||||
finish:
|
||||
bus_verify_polkit_async_registry_free(polkit_registry);
|
||||
|
||||
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user