lint: take care of various warnings/errors issued by cppcheck

- [ ] ~~4860~~ 1688  style (unusedStructMember)
- [x]   ~~68~~ ~~51  error (nullPointer)~~
- [x]   ~~15  style (unreadVariable)~~
- [x]    ~~12  performance (redundantAssignment)~~
- [x]      ~~8  style (unusedVariable)~~
- [ ]      8  performance (passedByValue)
- [x]      ~~7  style (unassignedVariable)~~
- [x]     ~~3  warning (nullPointer)~~
- [x]      ~~1  warning (uselessAssignmentPtrArg)~~
- [x]      ~~1  warning (invalidPrintfArgType_sint)~~
- [x]      ~~1  style (obsoleteFunctionsasctime)~~
- [x]      ~~1  performance (redundantCopy)~~
- [x]      ~~1  error (syntaxError)~~

See #480 

man 3 asctime:


POSIX.1-2001. C89 and C99 specify asctime(), ctime(), gmtime(), localtime(), and mktime(). POSIX.1-2008 marks asctime(), asctime_r(), ctime(), and ctime_r() as obsolete, recommending the use of strftime(3) instead.