Milé kolegyne, vážení kolegovia!
Narazil som na neočakávané správanie sa funkcie localtime.
Doteraz som bol v tom, že localtime alokuje miesto v pamäti pre struct tm, naplní ho a vráti smerník na dáta.
Dnes sa správa tak, ako keby nealokoval nové miesto v pamäti. Vidím to, tak že mám viacero tm * a po localtime sa zmenia dátumu všade, kde používam smerník pôvodne z iných localtime v kóde.
Nezdá sa mi to ako korektné správanie sa. Ak ale je správne, tak mám otázky
1. Je lepšie alokovať pre dáta v štruktúrach, kde je tm *, pomocou malloc a kopírovať dátumové položky dátumu manuálne alebo dať do štruktúry priamo položku tm.
2. Ak je 1 závislé od použitia, tak by som rád vedel aspoň orientačne, ako je to lepšie kde?
Nechce sa mi robiť refactoring z -> na. , takže asi skúsim malloc ako prvú možnosť.