2025-07-11 21:25 ftp://ftp.de.debian.org/debian/pool/main/t/telegram-cli/telegram-cli_1.3.1+git20160323.6547c0b21.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=python --library=lua --library=openssl --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j6 platform: Linux-6.1.0-37-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.67 compiler: g++ (Debian 12.2.0-14+deb12u1) 12.2.0 cppcheck: head 2.17.0 head-info: 8244dfa (2025-07-11 19:55:56 +0200) count: 255 255 elapsed-time: 2.0 2.0 head-timing-info: old-timing-info: head results: tg/main.c:980:43: error: There is an unknown macro here somewhere. Configuration is required. If TGL_VERSION is a macro then please configure it. [unknownMacro] tg/loop.c:136:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/loop.c:233:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/loop.c:276:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/loop.c:313:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable E_DEBUG [valueFlowBailoutIncompleteVar] tg/loop.c:406:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] tg/loop.c:440:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] tg/loop.c:467:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLDCF_LOGGED_IN [valueFlowBailoutIncompleteVar] tg/loop.c:479:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] tg/loop.c:494:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_ENCR_CHAT [valueFlowBailoutIncompleteVar] tg/loop.c:523:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] tg/loop.c:565:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TG_SERVER_TEST_1 [valueFlowBailoutIncompleteVar] tg/loop.c:582:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] tg/loop.c:663:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLECF_CREATE [valueFlowBailoutIncompleteVar] tg/loop.c:671:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] tg/loop.c:689:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable E_WARNING [valueFlowBailoutIncompleteVar] tg/loop.c:726:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EVBUFFER_EOF [valueFlowBailoutIncompleteVar] tg/loop.c:737:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable E_WARNING [valueFlowBailoutIncompleteVar] tg/loop.c:809:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tgl_conn_methods [valueFlowBailoutIncompleteVar] tg/loop.c:452:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:460:13: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:464:13: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:469:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:471:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:472:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:473:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:474:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:482:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:483:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:484:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:488:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:501:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:504:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:505:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:506:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:507:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:508:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:509:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:510:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:511:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:512:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:513:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:514:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:515:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:516:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:517:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:518:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:526:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:528:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:529:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:538:11: warning: Assert statement calls a function which may have desired side effects: 'write'. [assertWithSideEffect] tg/loop.c:544:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:546:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:549:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:554:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:555:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:595:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:598:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:603:13: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:626:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:628:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:630:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:631:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:632:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:633:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:634:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:635:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:636:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:637:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:638:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:639:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:640:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:643:13: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:644:13: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:645:13: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:678:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:680:11: warning: Assert statement calls a function which may have desired side effects: 'read'. [assertWithSideEffect] tg/loop.c:452:18: warning: Either the condition 'state_file_fd<0' is redundant or write() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] tg/loop.c:441:21: note: Assuming that condition 'state_file_fd<0' is not redundant tg/loop.c:452:18: note: Invalid argument tg/loop.c:453:10: warning: Either the condition 'state_file_fd<0' is redundant or close() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] tg/loop.c:441:21: note: Assuming that condition 'state_file_fd<0' is not redundant tg/loop.c:453:10: note: Invalid argument tg/loop.c:283:5: error: Common realloc mistake: 'line_buffer' nulled but not freed upon failure [memleakOnRealloc] tg/loop.c:745:3: warning: If memory allocation fails, then there is a possible null pointer dereference: e [nullPointerOutOfMemory] tg/loop.c:744:28: note: Assuming allocation function fails tg/loop.c:744:28: note: Assignment 'e=malloc(sizeof(*e))', assigned value is 0 tg/loop.c:745:3: note: Null pointer dereference tg/loop.c:746:3: warning: If memory allocation fails, then there is a possible null pointer dereference: e [nullPointerOutOfMemory] tg/loop.c:744:28: note: Assuming allocation function fails tg/loop.c:744:28: note: Assignment 'e=malloc(sizeof(*e))', assigned value is 0 tg/loop.c:746:3: note: Null pointer dereference tg/loop.c:747:3: warning: If memory allocation fails, then there is a possible null pointer dereference: e [nullPointerOutOfMemory] tg/loop.c:744:28: note: Assuming allocation function fails tg/loop.c:744:28: note: Assignment 'e=malloc(sizeof(*e))', assigned value is 0 tg/loop.c:747:3: note: Null pointer dereference tg/loop.c:748:3: warning: If memory allocation fails, then there is a possible null pointer dereference: e [nullPointerOutOfMemory] tg/loop.c:744:28: note: Assuming allocation function fails tg/loop.c:744:28: note: Assignment 'e=malloc(sizeof(*e))', assigned value is 0 tg/loop.c:748:3: note: Null pointer dereference tg/loop.c:749:3: warning: If memory allocation fails, then there is a possible null pointer dereference: e [nullPointerOutOfMemory] tg/loop.c:744:28: note: Assuming allocation function fails tg/loop.c:744:28: note: Assignment 'e=malloc(sizeof(*e))', assigned value is 0 tg/loop.c:749:3: note: Null pointer dereference tg/loop.c:852:19: style: Local variable 'ev' shadows outer variable [shadowVariable] tg/loop.c:807:22: note: Shadowed declaration tg/loop.c:852:19: note: Shadow variable tg/loop.c:856:19: style: Local variable 'ev' shadows outer variable [shadowVariable] tg/loop.c:807:22: note: Shadowed declaration tg/loop.c:856:19: note: Shadow variable tg/loop.c:456:31: style: Parameter 'DC' can be declared as pointer to const. However it seems that 'write_dc' is a callback function, if 'DC' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/loop.c:486:28: note: You might need to cast the function pointer here tg/loop.c:456:31: note: Parameter 'DC' can be declared as pointer to const tg/loop.c:755:34: style: Parameter 'TLS' can be declared as pointer to const [constParameterPointer] tg/loop.c:862:17: style: Variable 'P' can be declared as pointer to const [constVariablePointer] tg/interface.c:379:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tgl_message_id_t [valueFlowBailoutIncompleteVar] tg/interface.c:390:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tgl_peer_id_t [valueFlowBailoutIncompleteVar] tg/interface.c:411:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tgl_message_id_t [valueFlowBailoutIncompleteVar] tg/interface.c:470:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tgl_peer_id_t [valueFlowBailoutIncompleteVar] tg/interface.c:536:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_USER [valueFlowBailoutIncompleteVar] tg/interface.c:540:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_CHAT [valueFlowBailoutIncompleteVar] tg/interface.c:544:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_ENCR_CHAT [valueFlowBailoutIncompleteVar] tg/interface.c:548:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_CHANNEL [valueFlowBailoutIncompleteVar] tg/interface.c:615:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:737:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:755:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:771:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EVBUFFER_EOF [valueFlowBailoutIncompleteVar] tg/interface.c:778:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EVBUFFER_EOF [valueFlowBailoutIncompleteVar] tg/interface.c:815:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_VERSION [valueFlowBailoutIncompleteVar] tg/interface.c:847:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable E_DEBUG [valueFlowBailoutIncompleteVar] tg/interface.c:854:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable E_DEBUG [valueFlowBailoutIncompleteVar] tg/interface.c:863:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable reply_markup [valueFlowBailoutIncompleteVar] tg/interface.c:893:114: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_POST_AS_CHANNEL [valueFlowBailoutIncompleteVar] tg/interface.c:909:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_PHOTO [valueFlowBailoutIncompleteVar] tg/interface.c:913:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_AUTO [valueFlowBailoutIncompleteVar] tg/interface.c:917:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_AUDIO [valueFlowBailoutIncompleteVar] tg/interface.c:921:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_VIDEO [valueFlowBailoutIncompleteVar] tg/interface.c:929:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_PHOTO [valueFlowBailoutIncompleteVar] tg/interface.c:933:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_AUTO [valueFlowBailoutIncompleteVar] tg/interface.c:937:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_AUDIO [valueFlowBailoutIncompleteVar] tg/interface.c:941:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_VIDEO [valueFlowBailoutIncompleteVar] tg/interface.c:945:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_POST_AS_CHANNEL [valueFlowBailoutIncompleteVar] tg/interface.c:955:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_PHOTO [valueFlowBailoutIncompleteVar] tg/interface.c:959:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_AUTO [valueFlowBailoutIncompleteVar] tg/interface.c:963:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_AUDIO [valueFlowBailoutIncompleteVar] tg/interface.c:967:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_SEND_MSG_FLAG_DOCUMENT_VIDEO [valueFlowBailoutIncompleteVar] tg/interface.c:1283:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sc_ok [valueFlowBailoutIncompleteVar] tg/interface.c:1456:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tgl_typing_typing [valueFlowBailoutIncompleteVar] tg/interface.c:1516:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1517:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1518:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1519:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1520:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1521:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1522:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1523:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1524:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1525:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1526:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1527:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1528:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1529:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1530:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1531:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1532:1: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_SERVICE [valueFlowBailoutIncompleteVar] tg/interface.c:1794:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rl_line_buffer [valueFlowBailoutIncompleteVar] tg/interface.c:2000:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_OUT [valueFlowBailoutIncompleteVar] tg/interface.c:2049:87: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable user_id [valueFlowBailoutIncompleteVar] tg/interface.c:2093:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_USER [valueFlowBailoutIncompleteVar] tg/interface.c:2128:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rl_point [valueFlowBailoutIncompleteVar] tg/interface.c:2246:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_HTML [valueFlowBailoutIncompleteVar] tg/interface.c:2387:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable to_id [valueFlowBailoutIncompleteVar] tg/interface.c:2430:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable id [valueFlowBailoutIncompleteVar] tg/interface.c:2632:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable user_id [valueFlowBailoutIncompleteVar] tg/interface.c:2670:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLCHF_OFFICIAL [valueFlowBailoutIncompleteVar] tg/interface.c:2756:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable description [valueFlowBailoutIncompleteVar] tg/interface.c:2896:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable to_id [valueFlowBailoutIncompleteVar] tg/interface.c:3061:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_ENCR_CHAT [valueFlowBailoutIncompleteVar] tg/interface.c:3095:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_UPDATE_PHONE [valueFlowBailoutIncompleteVar] tg/interface.c:3200:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_UPDATE_CREATED [valueFlowBailoutIncompleteVar] tg/interface.c:3234:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_UPDATE_CREATED [valueFlowBailoutIncompleteVar] tg/interface.c:3264:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_UPDATE_WORKING [valueFlowBailoutIncompleteVar] tg/interface.c:3466:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOSYS [valueFlowBailoutIncompleteVar] tg/interface.c:3732:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:3753:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:3776:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:3811:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] tg/interface.c:3864:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLDF_IMAGE [valueFlowBailoutIncompleteVar] tg/interface.c:4022:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_USER [valueFlowBailoutIncompleteVar] tg/interface.c:4068:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_CHAT [valueFlowBailoutIncompleteVar] tg/interface.c:4084:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_CHANNEL [valueFlowBailoutIncompleteVar] tg/interface.c:4100:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_ENCR_CHAT [valueFlowBailoutIncompleteVar] tg/interface.c:4170:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGL_PEER_CHANNEL [valueFlowBailoutIncompleteVar] tg/interface.c:4296:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TGLMF_EMPTY [valueFlowBailoutIncompleteVar] tg/interface.c:4462:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rl_filename_quote_characters [valueFlowBailoutIncompleteVar] tg/interface.c:2029:13: warning: Assert statement calls a function which may have desired side effects: 'asprintf'. [assertWithSideEffect] tg/interface.c:2061:17: warning: Assert statement calls a function which may have desired side effects: 'asprintf'. [assertWithSideEffect] tg/interface.c:2063:17: warning: Assert statement calls a function which may have desired side effects: 'asprintf'. [assertWithSideEffect] tg/interface.c:4136:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] tg/interface.c:4147:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] tg/interface.c:719:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:719:7: note: outer condition: ev tg/interface.c:719:13: note: opposite inner condition: !ev tg/interface.c:735:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:735:7: note: outer condition: ev tg/interface.c:735:13: note: opposite inner condition: !ev tg/interface.c:751:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:751:7: note: outer condition: ev tg/interface.c:751:13: note: opposite inner condition: !ev tg/interface.c:753:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:753:7: note: outer condition: ev tg/interface.c:753:13: note: opposite inner condition: !ev tg/interface.c:764:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:764:7: note: outer condition: ev tg/interface.c:764:13: note: opposite inner condition: !ev tg/interface.c:766:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:766:7: note: outer condition: ev tg/interface.c:766:13: note: opposite inner condition: !ev tg/interface.c:813:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:813:7: note: outer condition: ev tg/interface.c:813:13: note: opposite inner condition: !ev tg/interface.c:822:13: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:822:7: note: outer condition: ev tg/interface.c:822:13: note: opposite inner condition: !ev tg/interface.c:1307:9: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] tg/interface.c:1306:30: note: outer condition: !ev tg/interface.c:1307:9: note: opposite inner condition: ev tg/interface.c:1458:25: style: Redundant condition: The condition 'args[1].num > 0' is redundant since 'args[1].num > 10' is sufficient. [redundantCondition] tg/interface.c:752:3: style: The if condition is the same as the previous if condition [duplicateCondition] tg/interface.c:751:7: note: First condition tg/interface.c:752:3: note: Second condition tg/interface.c:765:3: style: The if condition is the same as the previous if condition [duplicateCondition] tg/interface.c:764:7: note: First condition tg/interface.c:765:3: note: Second condition tg/interface.c:3450:7: style: Condition 'line' is always true [knownConditionTrueFalse] tg/interface.c:3450:15: style: Condition '*line' is always true [knownConditionTrueFalse] tg/interface.c:2326:42: style:inconclusive: Function 'print_success_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:712:42: note: Function 'print_success_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2326:42: note: Function 'print_success_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2342:51: style:inconclusive: Function 'print_msg_list_success_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:697:51: note: Function 'print_msg_list_success_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2342:51: note: Function 'print_msg_list_success_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2352:43: style:inconclusive: Function 'print_msg_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:695:43: note: Function 'print_msg_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2352:43: note: Function 'print_msg_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2384:51: style:inconclusive: Function 'print_msg_list_history_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:696:51: note: Function 'print_msg_list_history_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2384:51: note: Function 'print_msg_list_history_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2395:38: style:inconclusive: Function 'print_msg_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:709:38: note: Function 'print_msg_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2395:38: note: Function 'print_msg_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2418:44: style:inconclusive: Function 'print_user_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:694:44: note: Function 'print_user_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2418:44: note: Function 'print_user_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2450:39: style:inconclusive: Function 'print_user_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:707:39: note: Function 'print_user_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2450:39: note: Function 'print_user_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2523:39: style:inconclusive: Function 'print_peer_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:708:39: note: Function 'print_peer_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2523:39: note: Function 'print_peer_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2543:43: style:inconclusive: Function 'print_filename_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:702:43: note: Function 'print_filename_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2543:43: note: Function 'print_filename_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2568:41: style:inconclusive: Function 'print_string_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:703:41: note: Function 'print_string_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2568:41: note: Function 'print_string_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2592:42: style:inconclusive: Function 'open_filename_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:704:42: note: Function 'open_filename_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2592:42: note: Function 'open_filename_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2613:44: style:inconclusive: Function 'print_chat_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:699:44: note: Function 'print_chat_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2613:44: note: Function 'print_chat_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2656:47: style:inconclusive: Function 'print_channel_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:700:47: note: Function 'print_channel_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2656:47: note: Function 'print_channel_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2726:44: style:inconclusive: Function 'print_user_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:701:44: note: Function 'print_user_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2726:44: note: Function 'print_user_info_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2726:93: style:inconclusive: Function 'print_user_info_gw' argument 4 names different: declaration 'C' definition 'U'. [funcArgNamesDifferent] tg/interface.c:701:92: note: Function 'print_user_info_gw' argument 4 names different: declaration 'C' definition 'U'. tg/interface.c:2726:93: note: Function 'print_user_info_gw' argument 4 names different: declaration 'C' definition 'U'. tg/interface.c:2772:46: style:inconclusive: Function 'print_secret_chat_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:705:46: note: Function 'print_secret_chat_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2772:46: note: Function 'print_secret_chat_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2799:46: style:inconclusive: Function 'print_dialog_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:698:46: note: Function 'print_dialog_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:2799:46: note: Function 'print_dialog_list_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:3309:39: style:inconclusive: Function 'print_card_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. [funcArgNamesDifferent] tg/interface.c:706:39: note: Function 'print_card_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:3309:39: note: Function 'print_card_gw' argument 1 names different: declaration 'TLS' definition 'TLSR'. tg/interface.c:221:35: style: Parameter 'start' can be declared as pointer to const [constParameterPointer] tg/interface.c:221:48: style: Parameter 'end' can be declared as pointer to const [constParameterPointer] tg/interface.c:381:18: style: Variable 's' can be declared as pointer to const [constVariablePointer] tg/interface.c:393:18: style: Variable 's' can be declared as pointer to const [constVariablePointer] tg/interface.c:796:41: style: Parameter 'command' can be declared as pointer to const. However it seems that 'do_chat_with_peer' is a callback function, if 'command' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1676:42: note: You might need to cast the function pointer here tg/interface.c:796:41: note: Parameter 'command' can be declared as pointer to const tg/interface.c:796:96: style: Parameter 'ev' can be declared as pointer to const. However it seems that 'do_chat_with_peer' is a callback function, if 'ev' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1676:42: note: You might need to cast the function pointer here tg/interface.c:796:96: note: Parameter 'ev' can be declared as pointer to const tg/interface.c:1222:9: style: Variable 's' can be declared as pointer to const [constVariablePointer] tg/interface.c:1780:44: style: Parameter 'cmd' can be declared as pointer to const [constParameterPointer] tg/interface.c:1998:42: style: Parameter 'P' can be declared as pointer to const [constParameterPointer] tg/interface.c:2092:11: style: Variable 'u' can be declared as pointer to const [constVariablePointer] tg/interface.c:2214:23: style: Variable 'P' can be declared as pointer to const [constVariablePointer] tg/interface.c:2326:42: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_success_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1610:72: note: You might need to cast the function pointer here tg/interface.c:2326:42: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2352:43: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_msg_list_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:2863:68: note: You might need to cast the function pointer here tg/interface.c:2352:43: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2395:38: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_msg_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1600:45: note: You might need to cast the function pointer here tg/interface.c:2395:38: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2418:44: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_user_list_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1433:36: note: You might need to cast the function pointer here tg/interface.c:2418:44: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2450:39: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_user_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1247:39: note: You might need to cast the function pointer here tg/interface.c:2450:39: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2474:39: style: Parameter 'TLSR' can be declared as pointer to const [constParameterPointer] tg/interface.c:2498:42: style: Parameter 'TLSR' can be declared as pointer to const [constParameterPointer] tg/interface.c:2543:43: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_filename_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1552:57: note: You might need to cast the function pointer here tg/interface.c:2543:43: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2568:41: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_string_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1405:53: note: You might need to cast the function pointer here tg/interface.c:2568:41: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2592:42: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'open_filename_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1532:1: note: You might need to cast the function pointer here tg/interface.c:2592:42: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2613:44: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_chat_info_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1107:61: note: You might need to cast the function pointer here tg/interface.c:2613:44: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2656:47: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_channel_info_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1113:64: note: You might need to cast the function pointer here tg/interface.c:2656:47: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2703:49: style: Parameter 'S' can be declared as pointer to const [constParameterPointer] tg/interface.c:2726:44: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_user_info_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1191:61: note: You might need to cast the function pointer here tg/interface.c:2726:44: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2772:46: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_secret_chat_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1341:52: note: You might need to cast the function pointer here tg/interface.c:2772:46: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2799:46: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_dialog_list_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:1421:131: note: You might need to cast the function pointer here tg/interface.c:2799:46: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2954:39: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'mark_read_upd' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3401:18: note: You might need to cast the function pointer here tg/interface.c:2954:39: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:2979:34: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:3017:47: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'type_notification_upd' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3406:24: note: You might need to cast the function pointer here tg/interface.c:3017:47: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3033:55: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'type_in_chat_notification_upd' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3407:32: note: You might need to cast the function pointer here tg/interface.c:3033:55: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3052:42: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'print_message_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3417:18: note: You might need to cast the function pointer here tg/interface.c:3052:42: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3084:35: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'our_id_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3418:13: note: You might need to cast the function pointer here tg/interface.c:3084:35: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3094:40: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:3139:38: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:3139:54: style: Parameter 'P' can be declared as pointer to const [constParameterPointer] tg/interface.c:3185:40: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'user_update_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3413:18: note: You might need to cast the function pointer here tg/interface.c:3185:40: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3221:40: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'chat_update_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3414:18: note: You might need to cast the function pointer here tg/interface.c:3221:40: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3255:47: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'secret_chat_update_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3415:25: note: You might need to cast the function pointer here tg/interface.c:3255:47: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3300:43: style: Parameter 'TLSR' can be declared as pointer to const. However it seems that 'channel_update_gw' is a callback function, if 'TLSR' is declared with const you might also need to cast function pointer(s). [constParameterCallback] tg/interface.c:3416:21: note: You might need to cast the function pointer here tg/interface.c:3300:43: note: Parameter 'TLSR' can be declared as pointer to const tg/interface.c:3842:33: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:4017:47: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:4135:32: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:4146:37: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:4151:34: style: Parameter 'ev' can be declared as pointer to const [constParameterPointer] tg/interface.c:592:10: style: Variable 'ok' is assigned a value that is never used. [unreadVariable] tg/interface.c:596:7: style: Variable 'l' is assigned a value that is never used. [unreadVariable] tg/interface.c:599:5: style: Variable 'l' is assigned a value that is never used. [unreadVariable] diff: DONE