Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2017-03-08 00:38:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd" Wed Mar 8 00:38:25 2017 rev:250 rq:476828 version:232 Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2017-02-21 13:33:16.512811439 +0100 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2017-03-08 00:38:27.888064028 +0100 @@ -1,0 +2,11 @@ +Fri Mar 3 16:20:34 UTC 2017 - [email protected] + +- Import commit 103259b3226251d06f79ca627f7b0ba0bd49f4bc + + 0ee7890dd automount: if an automount unit is masked, don't react to activation anymore (#5445) + 99865a181 core: make sure to destroy all name watching bus slots when we are kicked off the bus (#5294) (bsc#1006687) + f34234c54 build-sys: add check for gperf lookup function signature (#5055) + 44e39538f sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) (boo#995936 bsc#1022014) + 471b26807 sd-event: when an event source fails, don't assume the type of it is still set + +------------------------------------------------------------------- systemd.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ systemd.spec: same change ++++++ systemd-232.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/configure.ac new/systemd-232/configure.ac --- old/systemd-232/configure.ac 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/configure.ac 2017-03-03 17:19:36.000000000 +0100 @@ -258,6 +258,28 @@ #include <sys/resource.h> ]) +GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)" + +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ + #include <string.h> + const char * in_word_set(const char *, size_t); + $GPERF_TEST] + )], + [GPERF_LEN_TYPE=size_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ + #include <string.h> + const char * in_word_set(const char *, unsigned); + $GPERF_TEST] + )], + [GPERF_LEN_TYPE=unsigned], + [AC_MSG_ERROR([** unable to determine gperf len type])] + )] +) + +AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type]) + # ------------------------------------------------------------------------------ # we use python to build the man page index have_python=no diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/basic/af-list.c new/systemd-232/src/basic/af-list.c --- old/systemd-232/src/basic/af-list.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/basic/af-list.c 2017-03-03 17:19:36.000000000 +0100 @@ -23,7 +23,7 @@ #include "af-list.h" #include "macro.h" -static const struct af_name* lookup_af(register const char *str, register unsigned int len); +static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len); #include "af-from-name.h" #include "af-to-name.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/basic/arphrd-list.c new/systemd-232/src/basic/arphrd-list.c --- old/systemd-232/src/basic/arphrd-list.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/basic/arphrd-list.c 2017-03-03 17:19:36.000000000 +0100 @@ -23,7 +23,7 @@ #include "arphrd-list.h" #include "macro.h" -static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len); +static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len); #include "arphrd-from-name.h" #include "arphrd-to-name.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/basic/cap-list.c new/systemd-232/src/basic/cap-list.c --- old/systemd-232/src/basic/cap-list.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/basic/cap-list.c 2017-03-03 17:19:36.000000000 +0100 @@ -26,7 +26,7 @@ #include "parse-util.h" #include "util.h" -static const struct capability_name* lookup_capability(register const char *str, register unsigned int len); +static const struct capability_name* lookup_capability(register const char *str, register GPERF_LEN_TYPE len); #include "cap-from-name.h" #include "cap-to-name.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/basic/errno-list.c new/systemd-232/src/basic/errno-list.c --- old/systemd-232/src/basic/errno-list.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/basic/errno-list.c 2017-03-03 17:19:36.000000000 +0100 @@ -23,7 +23,7 @@ #include "macro.h" static const struct errno_name* lookup_errno(register const char *str, - register unsigned int len); + register GPERF_LEN_TYPE len); #include "errno-from-name.h" #include "errno-to-name.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/core/automount.c new/systemd-232/src/core/automount.c --- old/systemd-232/src/core/automount.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/core/automount.c 2017-03-03 17:19:36.000000000 +0100 @@ -101,17 +101,17 @@ a->pipe_event_source = sd_event_source_unref(a->pipe_event_source); a->pipe_fd = safe_close(a->pipe_fd); - /* If we reload/reexecute things we keep the mount point - * around */ - if (a->where && - (UNIT(a)->manager->exit_code != MANAGER_RELOAD && - UNIT(a)->manager->exit_code != MANAGER_REEXECUTE)) { + /* If we reload/reexecute things we keep the mount point around */ + if (!IN_SET(UNIT(a)->manager->exit_code, MANAGER_RELOAD, MANAGER_REEXECUTE)) { + automount_send_ready(a, a->tokens, -EHOSTDOWN); automount_send_ready(a, a->expire_tokens, -EHOSTDOWN); - r = repeat_unmount(a->where, MNT_DETACH); - if (r < 0) - log_error_errno(r, "Failed to unmount: %m"); + if (a->where) { + r = repeat_unmount(a->where, MNT_DETACH); + if (r < 0) + log_error_errno(r, "Failed to unmount: %m"); + } } } @@ -186,6 +186,22 @@ return 0; } +static int automount_set_where(Automount *a) { + int r; + + assert(a); + + if (a->where) + return 0; + + r = unit_name_to_path(UNIT(a)->id, &a->where); + if (r < 0) + return r; + + path_kill_slashes(a->where); + return 1; +} + static int automount_load(Unit *u) { Automount *a = AUTOMOUNT(u); int r; @@ -201,13 +217,9 @@ if (u->load_state == UNIT_LOADED) { Unit *x; - if (!a->where) { - r = unit_name_to_path(u->id, &a->where); - if (r < 0) - return r; - } - - path_kill_slashes(a->where); + r = automount_set_where(a); + if (r < 0) + return r; r = unit_load_related_unit(u, ".mount", &x); if (r < 0) @@ -256,26 +268,30 @@ assert(a); assert(a->state == AUTOMOUNT_DEAD); - if (a->deserialized_state != a->state) { + if (a->deserialized_state == a->state) + return 0; + + if (IN_SET(a->deserialized_state, AUTOMOUNT_WAITING, AUTOMOUNT_RUNNING)) { + + r = automount_set_where(a); + if (r < 0) + return r; r = open_dev_autofs(u->manager); if (r < 0) return r; - if (a->deserialized_state == AUTOMOUNT_WAITING || - a->deserialized_state == AUTOMOUNT_RUNNING) { - assert(a->pipe_fd >= 0); + assert(a->pipe_fd >= 0); - r = sd_event_add_io(u->manager->event, &a->pipe_event_source, a->pipe_fd, EPOLLIN, automount_dispatch_io, u); - if (r < 0) - return r; + r = sd_event_add_io(u->manager->event, &a->pipe_event_source, a->pipe_fd, EPOLLIN, automount_dispatch_io, u); + if (r < 0) + return r; - (void) sd_event_source_set_description(a->pipe_event_source, "automount-io"); - if (a->deserialized_state == AUTOMOUNT_RUNNING) { - r = automount_start_expire(a); - if (r < 0) - log_unit_warning_errno(UNIT(a), r, "Failed to start expiration timer, ignoring: %m"); - } + (void) sd_event_source_set_description(a->pipe_event_source, "automount-io"); + if (a->deserialized_state == AUTOMOUNT_RUNNING) { + r = automount_start_expire(a); + if (r < 0) + log_unit_warning_errno(UNIT(a), r, "Failed to start expiration timer, ignoring: %m"); } automount_set_state(a, a->deserialized_state); @@ -733,6 +749,12 @@ assert(a); + /* If the user masked our unit in the meantime, fail */ + if (UNIT(a)->load_state != UNIT_LOADED) { + log_unit_error(UNIT(a), "Suppressing automount event since unit is no longer loaded."); + goto fail; + } + /* We don't take mount requests anymore if we are supposed to * shut down anyway */ if (unit_stop_pending(UNIT(a))) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/core/dbus.c new/systemd-232/src/core/dbus.c --- old/systemd-232/src/core/dbus.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/core/dbus.c 2017-03-03 17:19:36.000000000 +0100 @@ -1041,6 +1041,7 @@ static void destroy_bus(Manager *m, sd_bus **bus) { Iterator i; + Unit *u; Job *j; assert(m); @@ -1049,6 +1050,17 @@ if (!*bus) return; + /* Make sure all bus slots watching names are released. */ + HASHMAP_FOREACH(u, m->watch_bus, i) { + if (!u->match_bus_slot) + continue; + + if (sd_bus_slot_get_bus(u->match_bus_slot) != *bus) + continue; + + u->match_bus_slot = sd_bus_slot_unref(u->match_bus_slot); + } + /* Get rid of tracked clients on this bus */ if (m->subscribed && sd_bus_track_get_bus(m->subscribed) == *bus) m->subscribed = sd_bus_track_unref(m->subscribed); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/core/load-fragment.h new/systemd-232/src/core/load-fragment.h --- old/systemd-232/src/core/load-fragment.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/core/load-fragment.h 2017-03-03 17:19:36.000000000 +0100 @@ -118,7 +118,7 @@ int config_parse_user_group_strv(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); /* gperf prototypes */ -const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, GPERF_LEN_TYPE length); extern const char load_fragment_gperf_nulstr[]; typedef enum Disabled { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/core/unit.c new/systemd-232/src/core/unit.c --- old/systemd-232/src/core/unit.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/core/unit.c 2017-03-03 17:19:36.000000000 +0100 @@ -2639,7 +2639,7 @@ assert(u); assert(name); - hashmap_remove_value(u->manager->watch_bus, name, u); + (void) hashmap_remove_value(u->manager->watch_bus, name, u); u->match_bus_slot = sd_bus_slot_unref(u->match_bus_slot); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/journal/journald-server.h new/systemd-232/src/journal/journald-server.h --- old/systemd-232/src/journal/journald-server.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/journal/journald-server.h 2017-03-03 17:19:36.000000000 +0100 @@ -179,7 +179,7 @@ void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) _printf_(3,0) _sentinel_; /* gperf lookup function */ -const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* journald_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int config_parse_storage(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/libsystemd/sd-event/sd-event.c new/systemd-232/src/libsystemd/sd-event/sd-event.c --- old/systemd-232/src/libsystemd/sd-event/sd-event.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/libsystemd/sd-event/sd-event.c 2017-03-03 17:19:36.000000000 +0100 @@ -730,7 +730,6 @@ /* If all the mask is all-zero we can get rid of the structure */ hashmap_remove(e->signal_data, &d->priority); - assert(!d->current); safe_close(d->fd); free(d); return; @@ -2226,11 +2225,16 @@ } static int source_dispatch(sd_event_source *s) { + EventSourceType saved_type; int r = 0; assert(s); assert(s->pending || s->type == SOURCE_EXIT); + /* Save the event source type, here, so that we still know it after the event callback which might invalidate + * the event. */ + saved_type = s->type; + if (s->type != SOURCE_DEFER && s->type != SOURCE_EXIT) { r = source_set_pending(s, false); if (r < 0) @@ -2318,7 +2322,7 @@ if (r < 0) log_debug_errno(r, "Event source %s (type %s) returned error, disabling: %m", - strna(s->description), event_source_type_to_string(s->type)); + strna(s->description), event_source_type_to_string(saved_type)); if (s->n_ref == 0) source_free(s); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/login/logind.h new/systemd-232/src/login/logind.h --- old/systemd-232/src/login/logind.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/login/logind.h 2017-03-03 17:19:36.000000000 +0100 @@ -182,7 +182,7 @@ int manager_job_is_active(Manager *manager, const char *path); /* gperf lookup function */ -const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* logind_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int manager_set_lid_switch_ignore(Manager *m, usec_t until); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/network/networkd-conf.h new/systemd-232/src/network/networkd-conf.h --- old/systemd-232/src/network/networkd-conf.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/network/networkd-conf.h 2017-03-03 17:19:36.000000000 +0100 @@ -23,7 +23,7 @@ int manager_parse_config_file(Manager *m); -const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int config_parse_duid_type( const char *unit, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/network/networkd-netdev.h new/systemd-232/src/network/networkd-netdev.h --- old/systemd-232/src/network/networkd-netdev.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/network/networkd-netdev.h 2017-03-03 17:19:36.000000000 +0100 @@ -175,7 +175,7 @@ int config_parse_netdev_kind(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); /* gperf */ -const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, GPERF_LEN_TYPE length); /* Macros which append INTERFACE= to the message */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/network/networkd-network.h new/systemd-232/src/network/networkd-network.h --- old/systemd-232/src/network/networkd-network.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/network/networkd-network.h 2017-03-03 17:19:36.000000000 +0100 @@ -236,7 +236,7 @@ /* Legacy IPv4LL support */ int config_parse_ipv4ll(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); -const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, GPERF_LEN_TYPE length); extern const sd_bus_vtable network_vtable[]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/nspawn/nspawn-settings.h new/systemd-232/src/nspawn/nspawn-settings.h --- old/systemd-232/src/nspawn/nspawn-settings.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/nspawn/nspawn-settings.h 2017-03-03 17:19:36.000000000 +0100 @@ -103,7 +103,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(Settings*, settings_free); -const struct ConfigPerfItem* nspawn_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* nspawn_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int config_parse_capability(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); int config_parse_id128(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/resolve/dns-type.c new/systemd-232/src/resolve/dns-type.c --- old/systemd-232/src/resolve/dns-type.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/resolve/dns-type.c 2017-03-03 17:19:36.000000000 +0100 @@ -29,7 +29,7 @@ } dns_type; static const struct dns_type_name * -lookup_dns_type (register const char *str, register unsigned int len); +lookup_dns_type (register const char *str, register GPERF_LEN_TYPE len); #include "dns_type-from-name.h" #include "dns_type-to-name.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/resolve/resolved-conf.h new/systemd-232/src/resolve/resolved-conf.h --- old/systemd-232/src/resolve/resolved-conf.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/resolve/resolved-conf.h 2017-03-03 17:19:36.000000000 +0100 @@ -41,7 +41,7 @@ int manager_add_dns_server_by_string(Manager *m, DnsServerType type, const char *word); int manager_parse_dns_server_string_and_warn(Manager *m, DnsServerType type, const char *string); -const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int config_parse_dns_servers(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); int config_parse_search_domains(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/test/test-af-list.c new/systemd-232/src/test/test-af-list.c --- old/systemd-232/src/test/test-af-list.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/test/test-af-list.c 2017-03-03 17:19:36.000000000 +0100 @@ -24,7 +24,7 @@ #include "string-util.h" #include "util.h" -static const struct af_name* lookup_af(register const char *str, register unsigned int len); +static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len); #include "af-from-name.h" #include "af-list.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/test/test-arphrd-list.c new/systemd-232/src/test/test-arphrd-list.c --- old/systemd-232/src/test/test-arphrd-list.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/test/test-arphrd-list.c 2017-03-03 17:19:36.000000000 +0100 @@ -24,7 +24,7 @@ #include "string-util.h" #include "util.h" -static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len); +static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len); #include "arphrd-from-name.h" #include "arphrd-list.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/timesync/timesyncd-conf.h new/systemd-232/src/timesync/timesyncd-conf.h --- old/systemd-232/src/timesync/timesyncd-conf.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/timesync/timesyncd-conf.h 2017-03-03 17:19:36.000000000 +0100 @@ -22,7 +22,7 @@ #include "conf-parser.h" #include "timesyncd-manager.h" -const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int manager_parse_server_string(Manager *m, ServerType type, const char *string); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/udev/net/link-config.h new/systemd-232/src/udev/net/link-config.h --- old/systemd-232/src/udev/net/link-config.h 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/udev/net/link-config.h 2017-03-03 17:19:36.000000000 +0100 @@ -93,7 +93,7 @@ MACPolicy mac_policy_from_string(const char *p) _pure_; /* gperf lookup function */ -const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, unsigned length); +const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, GPERF_LEN_TYPE length); int config_parse_mac_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); int config_parse_name_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/systemd-232/src/udev/udev-builtin-keyboard.c new/systemd-232/src/udev/udev-builtin-keyboard.c --- old/systemd-232/src/udev/udev-builtin-keyboard.c 2017-02-06 15:11:10.000000000 +0100 +++ new/systemd-232/src/udev/udev-builtin-keyboard.c 2017-03-03 17:19:36.000000000 +0100 @@ -29,7 +29,7 @@ #include "string-util.h" #include "udev.h" -static const struct key *keyboard_lookup_key(const char *str, unsigned len); +static const struct key *keyboard_lookup_key(const char *str, GPERF_LEN_TYPE len); #include "keyboard-keys-from-name.h" static int install_force_release(struct udev_device *dev, const unsigned *release, unsigned release_count) {
