Thinking about it the changes in this part do not make sense to me:
Code:
uint32 now = Timer::GetTimeSeconds();
...
...
uint32 expdate = atoul(row[2]);
if(expdate > now)
run_delete = true;
ExportVar(packagename.c_str(), row[0], row[1]);
was changed to
Code:
uint32 expired = atoul(row[2]);
if(expired != 0) {
run_delete = true;
} else {
ExportVar(packagename.c_str(), row[0], row[1]);
First the variable expired was checked if it is greater than the current time. Now it is checked if it is equal to zero or not? I might be dead wrong but I bet 'expired' will never be zero if nothing in the "atoul(row[2])" part was changed.