Ваш год должен быть компенсацией с 1900 года. Это, скорее всего, виновник.
Пытаться:
licence_expiry_time_struct.tm_year = gtime_to / 10000 - 1900;
В общем, при использовании mktime()
настоятельно рекомендуется начать с действительного tm
Структура в первую очередь (т.е. позвонив localtime()
) и затем изменение поля.