Global: simplifies code

This commit is contained in:
Carter Li
2026-06-18 10:59:36 +08:00
parent b6127ff2c9
commit b0fd11fcbd
2 changed files with 6 additions and 21 deletions
+3 -11
View File
@@ -213,15 +213,11 @@ FF_A_UNUSED static const char* drmGetEdidByConnId(uint32_t connId, uint8_t* edid
}
static const char* drmConnectLibdrm(FFDisplayServerResult* result) {
const char* drmDirPath = "/dev/dri/";
FF_AUTO_CLOSE_DIR DIR* dirp = opendir(drmDirPath);
FF_AUTO_CLOSE_DIR DIR* dirp = opendir("/dev/dri/");
if (dirp == NULL) {
return "opendir(/dev/dri/) failed";
}
FF_STRBUF_AUTO_DESTROY pathBuf = ffStrbufCreateA(64);
ffStrbufAppendS(&pathBuf, drmDirPath);
uint32_t pathLen = pathBuf.length;
int drifd = dirfd(dirp);
int nSuccess = 0;
@@ -231,21 +227,17 @@ static const char* drmConnectLibdrm(FFDisplayServerResult* result) {
continue;
}
ffStrbufAppendS(&pathBuf, entry->d_name);
#if __linux__
char powerStatusBuf[512];
snprintf(powerStatusBuf, ARRAY_SIZE(powerStatusBuf), "/sys/class/drm/%s/device/power/runtime_status", entry->d_name);
char buffer[8] = "";
if (ffReadFileData(powerStatusBuf, strlen("suspend"), buffer) > 0 && ffStrStartsWith(buffer, "suspend")) {
ffStrbufSubstrBefore(&pathBuf, pathLen);
continue;
}
#endif
FF_AUTO_CLOSE_FD int primaryFd = open(pathBuf.chars, O_RDWR | O_CLOEXEC);
ffStrbufSubstrBefore(&pathBuf, pathLen);
FF_AUTO_CLOSE_FD int primaryFd = openat(drifd, entry->d_name, O_RDWR | O_CLOEXEC);
if (primaryFd < 0) {
continue;
}