backend/session: share is_drm_card implementation

This commit is contained in:
illiliti 2022-03-14 00:09:37 +03:00
parent ab2425e65f
commit 1e7867610c
5 changed files with 25 additions and 29 deletions

21
backend/session/dev.c Normal file
View file

@ -0,0 +1,21 @@
#define _POSIX_C_SOURCE 200809L
#include <stdbool.h>
#include <string.h>
#include <xf86drm.h>
#include "backend/session/dev.h"
// TODO move to util?
bool is_drm_card(const char *devname) {
const char prefix[] = DRM_PRIMARY_MINOR_NAME;
const char *name = strrchr(devname, '/');
name = name ? name + 1 : devname;
if (strncmp(name, prefix, strlen(prefix)) != 0) {
return false;
}
for (size_t i = strlen(prefix); name[i] != '\0'; i++) {
if (name[i] < '0' || name[i] > '9') {
return false;
}
}
return true;
}