"Out of OEM specific VK codes" nach Codeänderung

Antworten
Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

"Out of OEM specific VK codes" nach Codeänderung

Beitrag von Targion »

Ich habe folgenden Code aus der LibC

Code: Alles auswählen

getpwuid(getuid)^.pw_name='root'
mit diesem aus der Unit "UnixUtils" ersetzt:

Code: Alles auswählen

getpwnam(GetEnvironmentVariable('USER'))^.pw_name<>'root'
Die Anweisung prüft, ob der Nutzer Root-Rechte hat. Unter Ubuntu funktioniert das einwandfrei, aber unter Mandriva bekomme ich nur ununterbrochen die Meldung:

Code: Alles auswählen

[WARNING] Out of OEM specifc VK codes, changing to unassigned.
Mein Verdacht: Der Code, der die "UnixUtils" verwendet funktioniert unter Mandriva nicht, deshalb startet sich das Programm ununterbrochen selbst neu. (Wenn der Nutzer nicht Root ist, startet sich das Programm mit Root-rechten) Weis jemand, warum der Code nicht funktioniert?
P.S: Unter openSUSE scheint's auch zu funktionieren!

marcov
Beiträge: 1103
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: "Out of OEM specific VK codes" nach Codeänderung

Beitrag von marcov »

Targion hat geschrieben:Ich habe folgenden Code aus der LibC

Code: Alles auswählen

getpwuid(getuid)^.pw_name='root'
Versuche mal (2.2.2+)

Code: Alles auswählen

Uses  pwd,baseunix;
 
var p : PPasswd;
 
begin
 p:=fpgetpwuid(fpgetuid);
 if assigned(p) then
    begin
       if p.pw_name='root' then
         ROOT
       else
         KEINROOT     
    end
 else
   FEHLER;

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: "Out of OEM specific VK codes" nach Codeänderung

Beitrag von Targion »

Ja, läuft jetzt auch unter Mandriva! Vielen Dank! Aber trotzdem ein sehr seltsamer Fehler.

Antworten