R
A. Worin liegt der Vorteil, wenn das Ergebnis einer Funktion im Zeiger gespeichert wird? Wieso schreibt man das nicht direkt in szDSN rein?
Wenn man der Funktion einen Zeiger übergibt, wo die Daten hinkopiert werden sollen, stößt man idr. auf 2 Probleme
1. man braucht noch ein zusätzlichen Parameter für die länge des Buffers, dann kann es sein, dass nicht alle Informationen in den Buffer geschrieben werden können
2. man reserviert selber speicher für den Buffer, dann steht der Programmierer aber vor dem Problem den Speicher wieder freizugeben und so entstehen leicht Speicherlücken
Wenn man einen Zeiger auf einen internen statischen Buffer zurückgibt, dann kann der Programmierer sich selber um die Speicherverwaltung kümmern (man steht nur vor dem Problem, dass das nicht Threadsicher ist!)
B. Wenn der Inhalt von pszDSN in szDSN gespeichert werden soll, dann müsste im if doch mindestens strncpy(szDSN, *pszDSN, 50); stehen!?
hmm, irgend wie versteh ich nicht, was du meinst
C. Der Code funktioniert. Liegt her vielleicht nur schlechter Programmierstil vor?
Der Code ist auch korrekt und den Stil finde ich (bis auf die UN, dass ist aber ein Flamewar Thema ;)) auch nicht schlimm