Global: fixes bugs found by CI

The code quality is to be improved...
This commit is contained in:
Carter Li
2026-06-23 10:58:51 +08:00
parent 104b33c1f7
commit fa2c56cb9f
9 changed files with 25 additions and 21 deletions
+2 -2
View File
@@ -374,7 +374,7 @@
"type": "string"
},
"gpuFormat": {
"description": "Output format for the `GPU` module. See Wiki for formatting syntax\n 1. {vendor}: GPU vendor\n 2. {name}: GPU name\n 3. {driver}: GPU driver\n 4. {temperature}: GPU temperature\n 5. {core-count}: GPU core count\n 6. {type}: GPU type\n 7. {dedicated-total}: GPU total dedicated memory\n 8. {dedicated-used}: GPU used dedicated memory\n 9. {shared-total}: GPU total shared memory\n 10. {shared-used}: GPU used shared memory\n 11. {platform-api}: The platform API used when detecting the GPU\n 12. {frequency}: Current frequency in GHz\n 13. {index}: GPU vendor specific index\n 14. {dedicated-percentage-num}: Dedicated memory usage percentage num\n 15. {dedicated-percentage-bar}: Dedicated memory usage percentage bar\n 16. {shared-percentage-num}: Shared memory usage percentage num\n 17. {shared-percentage-bar}: Shared memory usage percentage bar\n 18. {core-usage-num}: Core usage percentage num\n 19. {core-usage-bar}: Core usage percentage bar\n 20. {memory-type}: Memory type (Windows only)\n 21. {pcie-speed}: Maximum PCIe speed in gen and lanes",
"description": "Output format for the `GPU` module. See Wiki for formatting syntax\n 1. {vendor}: GPU vendor\n 2. {name}: GPU name\n 3. {driver}: GPU driver\n 4. {temperature}: GPU temperature\n 5. {core-count}: GPU core count\n 6. {type}: GPU type\n 7. {dedicated-total}: GPU total dedicated memory\n 8. {dedicated-used}: GPU used dedicated memory\n 9. {shared-total}: GPU total shared memory\n 10. {shared-used}: GPU used shared memory\n 11. {platform-api}: The platform API used when detecting the GPU\n 12. {frequency}: Current frequency in GHz\n 13. {index}: GPU vendor specific index\n 14. {dedicated-percentage-num}: Dedicated memory usage percentage num\n 15. {dedicated-percentage-bar}: Dedicated memory usage percentage bar\n 16. {shared-percentage-num}: Shared memory usage percentage num\n 17. {shared-percentage-bar}: Shared memory usage percentage bar\n 18. {core-usage-num}: Core usage percentage num\n 19. {core-usage-bar}: Core usage percentage bar\n 20. {memory-type}: Memory type (Windows only)\n 21. {pcie-max-speed}: PCIe maximum speed in gen and lanes\n 22. {pcie-curr-speed}: PCIe current speed in gen and lanes",
"type": "string"
},
"hostFormat": {
@@ -446,7 +446,7 @@
"type": "string"
},
"packagesFormat": {
"description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {am-system}: Number of am-system packages\n 2. {am-user}: Number of am-user (aka appman) packages\n 3. {appimage}: Number of appimage packages\n 4. {apk}: Number of apk packages\n 5. {brew}: Number of brew packages\n 6. {brew-cask}: Number of brew-cask packages\n 7. {cards}: Number of cards packages\n 8. {choco}: Number of choco packages\n 9. {dpkg}: Number of dpkg packages\n 10. {emerge}: Number of emerge packages\n 11. {eopkg}: Number of eopkg packages\n 12. {flatpak-system}: Number of flatpak-system app packages\n 13. {flatpak-user}: Number of flatpak-user app packages\n 14. {guix-home}: Number of guix-home packages\n 15. {guix-system}: Number of guix-system packages\n 16. {guix-user}: Number of guix-user packages\n 17. {hpkg-system}: Number of hpkg-system packages\n 18. {hpkg-user}: Number of hpkg-user packages\n 19. {kiss}: Number of kiss packages\n 20. {linglong}: Number of linglong packages\n 21. {lpkg}: Number of lpkg packages\n 22. {lpkgbuild}: Number of lpkgbuild packages\n 23. {macports}: Number of macports packages\n 24. {mport}: Number of mport packages\n 25. {moss}: Number of moss packages\n 26. {nix-default}: Number of nix-default packages\n 27. {nix-system}: Number of nix-system packages\n 28. {nix-user}: Number of nix-user packages\n 29. {opkg}: Number of opkg packages\n 30. {pacman}: Number of pacman packages\n 31. {pacman-branch}: Pacman branch on manjaro\n 32. {pacstall}: Number of pacstall packages\n 33. {paludis}: Number of paludis packages\n 34. {pisi}: Number of pisi packages\n 35. {pkg}: Number of pkg packages\n 36. {pkgsrc}: Number of pkgsrc packages\n 37. {pkgtool}: Number of pkgtool packages\n 38. {rpm}: Number of rpm packages\n 39. {scoop-global}: Number of scoop-global packages\n 40. {scoop-user}: Number of scoop-user packages\n 41. {snap}: Number of snap packages\n 42. {soar}: Number of soar packages\n 43. {sorcery}: Number of sorcery packages\n 44. {winget}: Number of winget packages\n 45. {xbps}: Number of xbps packages\n 46. {brew-all}: Total number of all brew packages\n 47. {flatpak-all}: Total number of all flatpak app packages\n 48. {guix-all}: Total number of all guix packages\n 49. {hpkg-all}: Total number of all hpkg packages\n 50. {nix-all}: Total number of all nix packages\n 51. {all}: Number of all packages",
"description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {am-system}: Number of am-system packages\n 2. {am-user}: Number of am-user (aka appman) packages\n 3. {appimage}: Number of appimage packages\n 4. {apk}: Number of apk packages\n 5. {brew}: Number of brew packages\n 6. {brew-cask}: Number of brew-cask packages\n 7. {cards}: Number of cards packages\n 8. {choco}: Number of choco packages\n 9. {dpkg}: Number of dpkg packages\n 10. {emerge}: Number of emerge packages\n 11. {eopkg}: Number of eopkg packages\n 12. {flatpak-system}: Number of flatpak-system app packages\n 13. {flatpak-user}: Number of flatpak-user app packages\n 14. {guix-home}: Number of guix-home packages\n 15. {guix-system}: Number of guix-system packages\n 16. {guix-user}: Number of guix-user packages\n 17. {hpkg-system}: Number of hpkg-system packages\n 18. {hpkg-user}: Number of hpkg-user packages\n 19. {install-release}: Number of install-release packages\n 20. {kiss}: Number of kiss packages\n 21. {linglong}: Number of linglong packages\n 22. {lpkg}: Number of lpkg packages\n 23. {lpkgbuild}: Number of lpkgbuild packages\n 24. {macports}: Number of macports packages\n 25. {mport}: Number of mport packages\n 26. {moss}: Number of moss packages\n 27. {nix-default}: Number of nix-default packages\n 28. {nix-system}: Number of nix-system packages\n 29. {nix-user}: Number of nix-user packages\n 30. {opkg}: Number of opkg packages\n 31. {pacman}: Number of pacman packages\n 32. {pacman-branch}: Pacman branch on manjaro\n 33. {pacstall}: Number of pacstall packages\n 34. {paludis}: Number of paludis packages\n 35. {pisi}: Number of pisi packages\n 36. {pkg}: Number of pkg packages\n 37. {pkgsrc}: Number of pkgsrc packages\n 38. {pkgtool}: Number of pkgtool packages\n 39. {porg}: Number of porg packages\n 40. {rpm}: Number of rpm packages\n 41. {scoop-global}: Number of scoop-global packages\n 42. {scoop-user}: Number of scoop-user packages\n 43. {snap}: Number of snap packages\n 44. {soar}: Number of soar packages\n 45. {sorcery}: Number of sorcery packages\n 46. {winget}: Number of winget packages\n 47. {xbps}: Number of xbps packages\n 48. {brew-all}: Total number of all brew packages\n 49. {flatpak-all}: Total number of all flatpak app packages\n 50. {guix-all}: Total number of all guix packages\n 51. {hpkg-all}: Total number of all hpkg packages\n 52. {nix-all}: Total number of all nix packages\n 53. {all}: Number of all packages",
"type": "string"
},
"physicaldiskFormat": {
+1 -1
View File
@@ -116,7 +116,7 @@ bool ffEdidGetSerial(const uint8_t edid[128], FFstrbuf* result) {
if (int_serial != 0 && int_serial != 0xFFFFFFFF) {
ffStrbufSetF(result, "0x%08X", int_serial);
return 0;
return true;
}
return false;
}
+1 -1
View File
@@ -306,7 +306,7 @@ static const struct FFCodecVdpauCodec {
};
static const char* ffDetectCodecByVdpau(FFCodecOptions* options, FFlist* result) {
if (options->showType != FF_CODEC_SHOW_TYPE_DECODER) {
if (!(options->showType & FF_CODEC_SHOW_TYPE_DECODER)) {
return "VDPAU only supports decoding";
}
+8 -5
View File
@@ -778,11 +778,14 @@ static const char* detectPhysicalCores(FFCPUResult* cpu) {
ssize_t len = ffReadFileDataRelative(cpuxfd, "topology/physical_package_id", sizeof(buf) - 1, buf);
if (len > 0) {
buf[len] = '\0';
unsigned long long id = strtoul(buf, NULL, 10);
if (__builtin_expect(id > 64, false)) { // Do 129-socket boards exist?
pkgHigh |= 1ULL << (id - 64);
} else if (__builtin_expect(id <= 64, true)) {
pkgLow |= 1ULL << id;
unsigned long long id = strtoull(buf, NULL, 10);
if (__builtin_expect(id < 128, true)) {
// Do 129-socket boards exist?
if (__builtin_expect(id >= 64, false)) {
pkgHigh |= 1ULL << (id - 64);
} else {
pkgLow |= 1ULL << id;
}
}
}
+7 -7
View File
@@ -188,19 +188,19 @@ const char* detectByEglext(FFlist* result) {
if (ffeglQueryDevicesEXT(ARRAY_SIZE(devices), devices, &numDevices) == EGL_TRUE) {
FF_DEBUG("eglQueryDevicesEXT() returned %d device(s)", numDevices);
for (EGLint i = 0; i < numDevices; i++) {
const EGLDeviceEXT device = &devices[i];
const EGLDeviceEXT device = devices[i];
if (device == (EGLDeviceEXT) EGL_NO_DEVICE_EXT || device == (EGLDeviceEXT) EGL_BAD_DEVICE_EXT) {
FF_DEBUG("eglQueryDevicesEXT() returned invalid device at index %d", i);
continue;
}
const char* exts = (const char*) ffeglQueryDeviceStringEXT(devices[i], EGL_EXTENSIONS);
const char* exts = (const char*) ffeglQueryDeviceStringEXT(device, EGL_EXTENSIONS);
FF_DEBUG("eglQueryDeviceStringEXT() returned extensions for device %d: %s", i, exts);
if (exts && ffStrContains(exts, "EGL_MESA_device_software")) {
FF_DEBUG("eglQueryDeviceStringEXT() returned software device at index %d, skipping", i);
continue;
}
const char* name = ffeglQueryDeviceStringEXT(devices[i], EGL_RENDERER_EXT);
const char* name = ffeglQueryDeviceStringEXT(device, EGL_RENDERER_EXT);
if (!name) {
FF_DEBUG("eglQueryDeviceStringEXT() returned NULL name for device %d, skipping", i);
continue;
@@ -209,7 +209,7 @@ const char* detectByEglext(FFlist* result) {
FFGPUResult* gpu = FF_LIST_ADD(FFGPUResult, *result);
ffStrbufInitS(&gpu->name, name);
ffStrbufInit(&gpu->vendor);
ffStrbufInitS(&gpu->driver, ffeglQueryDeviceStringEXT(devices[i], EGL_DRIVER_NAME_EXT));
ffStrbufInitS(&gpu->driver, ffeglQueryDeviceStringEXT(device, EGL_DRIVER_NAME_EXT));
ffStrbufInitF(&gpu->platformApi, "egl-ext");
ffStrbufInit(&gpu->memoryType);
gpu->index = FF_GPU_INDEX_UNSET;
@@ -222,10 +222,10 @@ const char* detectByEglext(FFlist* result) {
gpu->frequency = FF_GPU_FREQUENCY_UNSET;
gpu->pcieSpeed = FF_GPU_PCIE_SPEED_UNSET;
ffeglQueryDeviceBinaryEXT(devices[i], EGL_DEVICE_UUID_EXT, sizeof(gpu->deviceId), &gpu->deviceId, NULL);
ffeglQueryDeviceBinaryEXT(device, EGL_DEVICE_UUID_EXT, sizeof(gpu->deviceId), &gpu->deviceId, NULL);
if (!normalizeVendorName(gpu)) {
ffStrbufSetS(&gpu->vendor, ffeglQueryDeviceStringEXT(devices[i], EGL_VENDOR));
ffStrbufSetS(&gpu->vendor, ffeglQueryDeviceStringEXT(device, EGL_VENDOR));
}
FF_DEBUG("Detected GPU %d: vendor='%s', name='%s', driver='%s', id='%16" PRIX64 "'", i, gpu->vendor.chars, gpu->name.chars, gpu->driver.chars, gpu->deviceId);
@@ -325,7 +325,7 @@ const char* ffDetectGPU(const FFGPUOptions* options, FFlist* result) {
}
bool ffGPUFillVendorByDeviceName(FFGPUResult* gpu) {
if (gpu->type == FF_GPU_TYPE_UNKNOWN) {
if (gpu->type != FF_GPU_TYPE_UNKNOWN) {
return true;
}
+1 -1
View File
@@ -147,7 +147,7 @@ const char* ffGPUDetectByDrmBSD(const FFGPUOptions* options, FFlist* gpus) {
driverName[0] = '\0';
struct drm_version ver = {
.name = driverName,
.name_len = ARRAY_SIZE(driverName),
.name_len = ARRAY_SIZE(driverName) - 1,
};
if (ioctl(fd, DRM_IOCTL_VERSION, &ver) == 0) {
driverName[ver.name_len] = '\0';
+2 -2
View File
@@ -246,10 +246,10 @@ const char* ffDetectIntelGpuInfo(const FFGpuDriverCondition* cond, FFGpuDriverRe
ctl_pci_state_t pciState = { .Size = sizeof(pciState), .Version = 0 };
if (igclData.ffctlPciGetState(device, &pciState) == CTL_RESULT_SUCCESS) {
if (pciState.speed.gen > 0) {
result.psMax->gen = (uint16_t) pciState.speed.gen;
result.psCurr->gen = (uint16_t) pciState.speed.gen;
}
if (pciState.speed.width > 0) {
result.psMax->lanes = (uint16_t) pciState.speed.width;
result.psCurr->lanes = (uint16_t) pciState.speed.width;
}
}
}
+2 -1
View File
@@ -146,9 +146,10 @@ const char* ffDetectWifi(FFlist* result) {
case 3: ffStrbufSetStatic(&item->conn.security, "WPA1+2"); break;
default: ffStrbufSetStatic(&item->conn.security, "WPA"); break;
}
} else {
ffStrbufSetStatic(&item->conn.security, "WPA");
}
break;
}
default:
ffStrbufSetF(&item->conn.security, "Unknown (%d)", ireq.i_val);
+1 -1
View File
@@ -67,7 +67,7 @@ bool ffPrintMonitor(FFMonitorOptions* options) {
}));
}
ffStrbufDestroy(&display->name);
// result is a singleton, so we don't destroy the members
++index;
}