[C] aus zwei oder mehreren Verzeichnissen lesen

Z

Zico

Lebende Foren Legende
Hallo Leute

Wieder mal melde ich mich wegen etwas wohl ganz triviales.
Mein Programm entwickelt sich nun etwas weiter und ich möchte es nun so haben, dass ebenfalls ein config-directory in HOME erstellt wird. Das klappt soweit ganz gut, auch alle config Dateien werden dorthin abgelegt.
Das Problem ist nun, dass das Programm nun AUSSCHLIESSLICH aus diesem Verzeichnis liest. Es soll aber jedoch weiterhin auch aus dem "jetzigen" - sprich aktuellen Verzeichnis sowie dem aus der Definition von DATA_PATH lesen.
Das ganze Programm ist schon sehr groß, daher hier der Code, der das Erstellen bzw wechseln in dies home-config Verzeichnis betrifft.

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, "/.program-config_example");
	if (chdir(buf)) {
		mkdir(buf, 0755);
		if (chdir(buf))
			fprintf(stderr, "Cannot change to $HOME/.program-config_example\n");
	}
}

Klar, bevor ich diese Zeilen eingefügt habe wurde das Verzeichnis ja nicht geweselt und so immer aus dem aktuellen gelesen. Doch wie bringe ich das aktuelle und DATA_PATH auch hinein? Geht das direkt hier oder muss ich mir da was anderes ausdenken?

Gruß
Christian
 
ich hoffe ich hab das so richtig verstanden wie du das gemeint hast aber warum waechselst du mit chdir nach der if anweisung in das DATA_PATH verzeichnis? und switchst auch spaeter mit chdir hin und her!

ich hoffe ich hab das so richtig verstanden waenn nicht bitte berichtige mich!! danke!!

mfg
hazelnoot
 

Ähnliche Themen

Durch das ganze Unix System bestimmte Dateiart suchen

Probleme mit syslog-ng & Speichern in MySQL

Zurück
Oben