)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"48e8e7d7d0c915449d28c2de85ea7779f43eaa88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7e19153d_2d8b1bf6","updated":"2025-10-28 10:45:04.000000000","message":"Actually on second thought this whole code should be replaced with \"check_expected\". This is exactly what it is intended for. See my recent test_options_parse.c for example","commit_id":"ade27bc84b275f28caf2e175c9b035418c5062a6"}],"tests/unit_tests/openvpn/test_push_update_msg.c":[{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"00cac86cbc4ce4f09bc74f0ab54f2e2e564a5882","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        {"},{"line_number":145,"context_line":"            if (res_len !\u003d str_len)"},{"line_number":146,"context_line":"            {"},{"line_number":147,"context_line":"                printf(\"\\n\\nexpected_size: %lu\\n  actual_size: %lu\", res_len, str_len);"},{"line_number":148,"context_line":"            }"},{"line_number":149,"context_line":"            printf(\"\\n\\nexpected: %s\\n\\n  actual: %s\\n\\n\", res[i], str);"},{"line_number":150,"context_line":"            return false;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c3c8a28a_a6ce6843","line":147,"updated":"2025-10-28 10:39:06.000000000","message":"```suggestion\n                printf(\"\\n\\nexpected_size: %zu\\n  actual_size: %zu\", res_len, str_len);\n```","commit_id":"ade27bc84b275f28caf2e175c9b035418c5062a6"},{"author":{"_account_id":1000040,"name":"mrbff","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"f6c019d88843351e2e104bddbfab5678ba3c5572","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        {"},{"line_number":145,"context_line":"            if (res_len !\u003d str_len)"},{"line_number":146,"context_line":"            {"},{"line_number":147,"context_line":"                printf(\"\\n\\nexpected_size: %lu\\n  actual_size: %lu\", res_len, str_len);"},{"line_number":148,"context_line":"            }"},{"line_number":149,"context_line":"            printf(\"\\n\\nexpected: %s\\n\\n  actual: %s\\n\\n\", res[i], str);"},{"line_number":150,"context_line":"            return false;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c55bce38_3e8b3f8e","line":147,"in_reply_to":"c3c8a28a_a6ce6843","updated":"2025-10-28 19:52:49.000000000","message":"Done","commit_id":"ade27bc84b275f28caf2e175c9b035418c5062a6"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"c56ce5bc4b9e2921fcea956a86bff77895fc0981","unresolved":true,"context_lines":[{"line_number":137,"context_line":"send_control_channel_string(struct context *c, const char *str, msglvl_t msglevel)"},{"line_number":138,"context_line":"{"},{"line_number":139,"context_line":"    check_expected(str);"},{"line_number":140,"context_line":"    i++;"},{"line_number":141,"context_line":"    return true;"},{"line_number":142,"context_line":"}"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"ad0ce4ab_16f525ad","line":140,"updated":"2025-10-29 12:53:35.000000000","message":"i seems unused?","commit_id":"48667df4fd782798311283b9c6066bc6e984c91b"},{"author":{"_account_id":1000040,"name":"mrbff","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"6e3b054869296a4e9a565c9d18f098976ccec916","unresolved":false,"context_lines":[{"line_number":137,"context_line":"send_control_channel_string(struct context *c, const char *str, msglvl_t msglevel)"},{"line_number":138,"context_line":"{"},{"line_number":139,"context_line":"    check_expected(str);"},{"line_number":140,"context_line":"    i++;"},{"line_number":141,"context_line":"    return true;"},{"line_number":142,"context_line":"}"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":3,"id":"56b80860_c9cc6bd8","line":140,"in_reply_to":"ad0ce4ab_16f525ad","updated":"2025-10-29 13:18:55.000000000","message":"yes, you are right, not needed anymore","commit_id":"48667df4fd782798311283b9c6066bc6e984c91b"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"c56ce5bc4b9e2921fcea956a86bff77895fc0981","unresolved":true,"context_lines":[{"line_number":406,"context_line":""},{"line_number":407,"context_line":"#define PUSH_BUNDLE_SIZE_TEST 184"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"#define expect_control_channel_strings()                             \\"},{"line_number":410,"context_line":"    do                                                               \\"},{"line_number":411,"context_line":"    {                                                                \\"},{"line_number":412,"context_line":"        for (int j \u003d 0; res[j] !\u003d NULL; j++)                         \\"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"b1ef2d25_51152e2b","line":409,"updated":"2025-10-29 12:53:35.000000000","message":"Just give the macro an argument instead of using global res.","commit_id":"48667df4fd782798311283b9c6066bc6e984c91b"},{"author":{"_account_id":1000040,"name":"mrbff","email":"marco@mandelbit.com","username":"mrbff"},"change_message_id":"6e3b054869296a4e9a565c9d18f098976ccec916","unresolved":false,"context_lines":[{"line_number":406,"context_line":""},{"line_number":407,"context_line":"#define PUSH_BUNDLE_SIZE_TEST 184"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"#define expect_control_channel_strings()                             \\"},{"line_number":410,"context_line":"    do                                                               \\"},{"line_number":411,"context_line":"    {                                                                \\"},{"line_number":412,"context_line":"        for (int j \u003d 0; res[j] !\u003d NULL; j++)                         \\"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"30b59b99_cd44b706","line":409,"in_reply_to":"b1ef2d25_51152e2b","updated":"2025-10-29 13:18:55.000000000","message":"Done","commit_id":"48667df4fd782798311283b9c6066bc6e984c91b"}]}
