aboutsummaryrefslogtreecommitdiffstats
path: root/vbe.c
diff options
context:
space:
mode:
authorGwenolé Beauchesne <gbeauchesne@mandriva.org>2006-08-31 12:25:30 +0000
committerGwenolé Beauchesne <gbeauchesne@mandriva.org>2006-08-31 12:25:30 +0000
commit52d81dd07bf58c8e157ed0a7cb6811ec9ccd2425 (patch)
treead44a93a0e7e395e294567c4dc0c49df9f73123e /vbe.c
parentd3ae925400c7895d480022fb96c3297cc0178d00 (diff)
downloadmonitor-edid-52d81dd07bf58c8e157ed0a7cb6811ec9ccd2425.tar
monitor-edid-52d81dd07bf58c8e157ed0a7cb6811ec9ccd2425.tar.gz
monitor-edid-52d81dd07bf58c8e157ed0a7cb6811ec9ccd2425.tar.bz2
monitor-edid-52d81dd07bf58c8e157ed0a7cb6811ec9ccd2425.tar.xz
monitor-edid-52d81dd07bf58c8e157ed0a7cb6811ec9ccd2425.zip
fix fallback logic
Diffstat (limited to 'vbe.c')
-rw-r--r--vbe.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/vbe.c b/vbe.c
index 34914bc..feceb70 100644
--- a/vbe.c
+++ b/vbe.c
@@ -284,22 +284,25 @@ int get_edid__old(char *edid)
int get_edid(char *edid)
{
int pci_config_type = 1; /* Determine PCI configuration type */
- int ok;
+ int ok = 0;
+
+ if (getuid() != 0) {
+ fprintf(stderr, "you must be root to run this program\n");
+ return 0;
+ }
- /* Initialize Int10 */
- ok = box_is_xbox() || InitInt10(pci_config_type) == 0;
-
- if (ok) {
- ok =
- (box_is_xbox() || vbe_check_vbe_info()) &&
- vbe_get_edid_info(edid);
+ if (!box_is_xbox()) {
+ if (InitInt10(pci_config_type) == 0) {
+ ok = vbe_check_vbe_info()
+ && vbe_get_edid_info(edid);
+ FreeInt10();
+ }
+ }
#ifdef LRMI
- if (!ok) ok = get_edid__old(edid);
+ if (!ok)
+ ok = get_edid__old(edid);
#endif
- FreeInt10();
- } else if (getuid() != 0)
- fprintf(stderr, "you must be root to run this program\n");
return ok ? 128 : 0;
}