mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-11-23 23:10:57 +07:00
Add support for legacy behaviour in udev_device_get_sysattr_value()
Wraps the changes made in systemd commits 5ae18ddc and 53726349 with a #if's on LIBUDEV_LEGACY_VERSION so that old behaviour can be chosen at build-time if users find it necessary to support legacy software dependent on the original behaviour Original Authors: Kay Sievers Signed-off-by: Ian Stakenvicius <axs@gentoo.org> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit is contained in:
parent
45f9def272
commit
9315b3d16f
@ -18,6 +18,7 @@ AM_CPPFLAGS = \
|
||||
-include $(top_builddir)/config.h \
|
||||
-DUDEV_CONF_FILE=\"$(udevconffile)\" \
|
||||
-DUDEV_HWDB_BIN=\"$(udevhwdbbin)\" \
|
||||
-DUDEV_VERSION=$(UDEV_VERSION) \
|
||||
-I $(top_srcdir)/src/udev
|
||||
|
||||
lib_LTLIBRARIES = \
|
||||
|
@ -1381,7 +1381,9 @@ _public_ const char *udev_device_get_sysattr_value(struct udev_device *udev_devi
|
||||
}
|
||||
|
||||
if (S_ISLNK(statbuf.st_mode)) {
|
||||
#if LIBUDEV_LEGACY_VERSION < 199
|
||||
struct udev_device *dev;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Some core links return only the last element of the target path,
|
||||
@ -1398,6 +1400,11 @@ _public_ const char *udev_device_get_sysattr_value(struct udev_device *udev_devi
|
||||
goto out;
|
||||
}
|
||||
|
||||
#if LIBUDEV_LEGACY_VERSION < 199
|
||||
#if LIBUDEV_LEGACY_VERSION >= 196
|
||||
/* resolve only custom link to a device */
|
||||
if (!streq(sysattr, "device")) {
|
||||
#endif
|
||||
/* resolve link to a device and return its syspath */
|
||||
util_strscpyl(path, sizeof(path), udev_device->syspath, "/", sysattr, NULL);
|
||||
dev = udev_device_new_from_syspath(udev_device->udev, path);
|
||||
@ -1407,6 +1414,10 @@ _public_ const char *udev_device_get_sysattr_value(struct udev_device *udev_devi
|
||||
val = udev_list_entry_get_value(list_entry);
|
||||
udev_device_unref(dev);
|
||||
}
|
||||
#if LIBUDEV_LEGACY_VERSION >= 196
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
goto out;
|
||||
}
|
||||
|
@ -20,6 +20,10 @@
|
||||
#ifndef _LIBUDEV_H_
|
||||
#define _LIBUDEV_H_
|
||||
|
||||
#ifndef LIBUDEV_LEGACY_VERSION
|
||||
#define LIBUDEV_LEGACY_VERSION UDEV_VERSION
|
||||
#endif
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
Loading…
Reference in New Issue
Block a user