diff options
Diffstat (limited to 'src/mdevd/mdevd_uevent_getvar.c')
-rw-r--r-- | src/mdevd/mdevd_uevent_getvar.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mdevd/mdevd_uevent_getvar.c b/src/mdevd/mdevd_uevent_getvar.c new file mode 100644 index 0000000..8eb8583 --- /dev/null +++ b/src/mdevd/mdevd_uevent_getvar.c @@ -0,0 +1,16 @@ +/* ISC license. */ + +#include <string.h> + +#include "mdevd-internal.h" + +char *mdevd_uevent_getvar (struct uevent_s *event, char const *var) +{ + size_t varlen = strlen(var) ; + unsigned short i = 1 ; + for (; i < event->varn ; i++) + if (!strncmp(var, event->buf + event->vars[i], varlen) && event->buf[event->vars[i] + varlen] == '=') + break ; + return i < event->varn ? event->buf + event->vars[i] + varlen + 1 : 0 ; +} + |