Ja, das wäre theoretisch eine Möglichkeit, wenn das Programm wirklick im Homeverzeichnis liegen würde - was bei einem vorcompilierten Paket wahrscheinlich ist.
Dennoch möchte ich auch dem Nutzer die Möglichkeit geben es vllt nach /opt bsp zu verschieben, wordurch dieses System wohl nicht mehr funktionieren würde.
Momentan wäre dies mein Code, mit dem ich mich schon fast zufrieden geben würde:
Code:
{
char *home = getenv("HOME");
if ((t = FindArg("-userdir")))
chdir(Args[t+1]);
else if (home) {
char buf[PATH_MAX + 5];
strcpy(buf, home);
strcat(buf, "/.prog-config");
if (chdir(buf)) {
mkdir(buf, 0755);
if (chdir(buf))
fprintf(stderr, "Cannot change to $HOME/.prog-config\n");
}
}
}
Mit einem absoluten Pfad für die systemweiten Daten wäre der code absolut okay.
Der Code wechselt per chdir in das user config Verzeichnis.
Nun habe ich jedoch gehört, dass das einige Distributoren das garnicht so gerne sehen. Kann das jemand bestätigen oder ne Erklärung geben?
Lesezeichen