From: Bastian Dehn Date: Wed, 12 Jun 2024 17:42:21 +0000 (+0200) Subject: change variable to heap X-Git-Tag: 1.0.0^2~11 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=15124251cf5fa5840ffa00718587e8e7d0e5f134;p=feierabend.git change variable to heap --- diff --git a/src/main.c b/src/main.c index fe368bc..3073b01 100644 --- a/src/main.c +++ b/src/main.c @@ -15,94 +15,111 @@ int main(int argc, char* argv[]) return 1; } - time_t now = 0; - time_t begin = 0; - time_t worktime = 0; - struct tm now_tm; - struct tm begin_tm; - struct tm work_end_tm; - char weekday[11]; - char timestr[7]; + time_t* now = malloc(sizeof(time_t)); + time_t* begin = malloc(sizeof(time_t)); + time_t* worktime = malloc(sizeof(time_t)); + struct tm* now_tm = malloc(sizeof(struct tm)); + struct tm* begin_tm = malloc(sizeof(struct tm)); + struct tm* work_end_tm = malloc(sizeof(struct tm)); + char* weekday = malloc(sizeof(char) * 11); + char* timestr = malloc(sizeof(char) * 7); printf("Version: %s\n\n", PROJECT_VERSION); - time(&begin); - localtime_r(&begin, &begin_tm); - begin_tm.tm_hour = atoi(argv[1]); - begin_tm.tm_min = atoi(argv[2]); - begin = timelocal(&begin_tm); + time(begin); + localtime_r(begin, begin_tm); + begin_tm->tm_hour = atoi(argv[1]); + begin_tm->tm_min = atoi(argv[2]); + *begin = timelocal(begin_tm); - time(&now); - localtime_r(&now, &now_tm); - get_weekday(now_tm.tm_wday, weekday); + time(now); + localtime_r(now, now_tm); + get_weekday(now_tm->tm_wday, weekday); printf("%-25s%s %02d.%02d.%04d %02d:%02d %s\n", "Arbeitsbeginn:", weekday, - begin_tm.tm_mday, - begin_tm.tm_mon + 1, - begin_tm.tm_year + 1900, - begin_tm.tm_hour, - begin_tm.tm_min, - begin_tm.tm_zone); + begin_tm->tm_mday, + begin_tm->tm_mon + 1, + begin_tm->tm_year + 1900, + begin_tm->tm_hour, + begin_tm->tm_min, + begin_tm->tm_zone); printf("\n"); printf("%-25s%s %02d.%02d.%04d %02d:%02d %s\n", "Aktuelle Zeit:", weekday, - now_tm.tm_mday, - now_tm.tm_mon + 1, - now_tm.tm_year + 1900, - now_tm.tm_hour, - now_tm.tm_min, - now_tm.tm_zone); + now_tm->tm_mday, + now_tm->tm_mon + 1, + now_tm->tm_year + 1900, + now_tm->tm_hour, + now_tm->tm_min, + now_tm->tm_zone); printf("\n"); - worktime = get_eight_hour_end_worktime(begin); - localtime_r(&worktime, &work_end_tm); + *worktime = get_eight_hour_end_worktime(*begin); + localtime_r(worktime, work_end_tm); printf("%-25s%s %02d.%02d.%04d %02d:%02d %s\n", "Arbeitsende 8 Std:", weekday, - work_end_tm.tm_mday, - work_end_tm.tm_mon + 1, - work_end_tm.tm_year + 1900, - work_end_tm.tm_hour, - work_end_tm.tm_min, - work_end_tm.tm_zone); - - worktime = get_ten_hour_end_worktime(begin); - localtime_r(&worktime, &work_end_tm); + work_end_tm->tm_mday, + work_end_tm->tm_mon + 1, + work_end_tm->tm_year + 1900, + work_end_tm->tm_hour, + work_end_tm->tm_min, + work_end_tm->tm_zone); + + *worktime = get_ten_hour_end_worktime(*begin); + localtime_r(worktime, work_end_tm); printf("%-25s%s %02d.%02d.%04d %02d:%02d %s\n", "Arbeitsende 10 Std:", weekday, - work_end_tm.tm_mday, - work_end_tm.tm_mon + 1, - work_end_tm.tm_year + 1900, - work_end_tm.tm_hour, - work_end_tm.tm_min, - work_end_tm.tm_zone); + work_end_tm->tm_mday, + work_end_tm->tm_mon + 1, + work_end_tm->tm_year + 1900, + work_end_tm->tm_hour, + work_end_tm->tm_min, + work_end_tm->tm_zone); printf("\n"); - worktime = get_current_worktime(begin, now); - get_time_str(worktime, timestr); + *worktime = get_current_worktime(*begin, *now); + get_time_str(*worktime, timestr); printf("%-25s%s\n", "Aktuelle Arbeitzeit:", timestr); - worktime = get_brutto_worktime(begin, now); - worktime = get_break_time(worktime); - get_time_str(worktime, timestr); + *worktime = get_brutto_worktime(*begin, *now); + *worktime = get_break_time(*worktime); + get_time_str(*worktime, timestr); printf("%-25s%s\n", "Aktuelle Pausenzeit:", timestr); printf("\n"); - worktime = get_current_worktime_diff_to_end_eight_hour(begin, now); - get_time_str(worktime, timestr); + *worktime = get_current_worktime_diff_to_end_eight_hour(*begin, *now); + get_time_str(*worktime, timestr); printf("%-25s%s\n", "Arbeitzeit bis 8 Std:", timestr); - worktime = get_current_worktime_diff_to_end_ten_hour(begin, now); - get_time_str(worktime, timestr); + *worktime = get_current_worktime_diff_to_end_ten_hour(*begin, *now); + get_time_str(*worktime, timestr); printf("%-25s%s\n", "Arbeitzeit bis 10 Std:", timestr); + free(now); + now = NULL; + free(begin); + begin = NULL; + free(worktime); + worktime = NULL; + free(now_tm); + now_tm = NULL; + free(begin_tm); + begin_tm = NULL; + free(work_end_tm); + work_end_tm = NULL; + free(weekday); + weekday = NULL; + free(timestr); + timestr = NULL; + return 0; } \ No newline at end of file