)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"5d8190f40c095e1f73a71cc40ffc325f9f34544e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fefc4b2b_aac26028","updated":"2026-01-05 11:12:37.000000000","message":"Thank you for the suggestions.","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7aa505fc83e215bbfd4454095cf7c6c02d5afd66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a1fc5490_8faf79ea","updated":"2026-01-05 10:58:54.000000000","message":"Thanks, nice feature.\nFew comments below","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"}],"doc/openocd.texi":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7aa505fc83e215bbfd4454095cf7c6c02d5afd66","unresolved":true,"context_lines":[{"line_number":9535,"context_line":"(@command{script} command and @command{target_name} configuration)."},{"line_number":9536,"context_line":"@end deffn"},{"line_number":9537,"context_line":""},{"line_number":9538,"context_line":"@deffn {Command} {shutdown} [@option{error} [concrete_error_code]]"},{"line_number":9539,"context_line":"Close the OpenOCD server, disconnecting all clients (GDB, telnet,"},{"line_number":9540,"context_line":"other). Then the OpenOCD process quits. The exit code of OpenOCD,"},{"line_number":9541,"context_line":"returned to the parent process, is as follows:"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"4bba3a4f_3b557fd0","line":9538,"updated":"2026-01-05 10:58:54.000000000","message":"use `exit_code` instead of `concrete_error_code`\nAlso in the text below and in command\u0027s usage and help.\nIt should be clear that this is for the exit of OpenOCD, not for an internal error code.","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"e8795d84f499e139d598f37b72ccdef0dbe83a6f","unresolved":false,"context_lines":[{"line_number":9535,"context_line":"(@command{script} command and @command{target_name} configuration)."},{"line_number":9536,"context_line":"@end deffn"},{"line_number":9537,"context_line":""},{"line_number":9538,"context_line":"@deffn {Command} {shutdown} [@option{error} [concrete_error_code]]"},{"line_number":9539,"context_line":"Close the OpenOCD server, disconnecting all clients (GDB, telnet,"},{"line_number":9540,"context_line":"other). Then the OpenOCD process quits. The exit code of OpenOCD,"},{"line_number":9541,"context_line":"returned to the parent process, is as follows:"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"2b91c5b4_494b046a","line":9538,"in_reply_to":"4bba3a4f_3b557fd0","updated":"2026-01-07 07:34:52.000000000","message":"Done","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7aa505fc83e215bbfd4454095cf7c6c02d5afd66","unresolved":true,"context_lines":[{"line_number":9547,"context_line":"with some non-zero code, indicating a failure."},{"line_number":9548,"context_line":"@item If @option{error} is passed as the first arugment and a concrete error code"},{"line_number":9549,"context_line":"as a second argument, then OpenOCD will exit with this user-specified error code."},{"line_number":9550,"context_line":"The code must be in range 1-255."},{"line_number":9551,"context_line":"@end itemize"},{"line_number":9552,"context_line":""},{"line_number":9553,"context_line":"If user types CTRL-C or kills OpenOCD, the command @command{shutdown}"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"73483e41_346bab66","line":9550,"updated":"2026-01-05 10:58:54.000000000","message":"I think the scripts could be simplified if we allow\n`shutdown error 0`\nto be equivalent to\n`shutdown`\nI don\u0027t see reason to skip zero `error_code`","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"5d8190f40c095e1f73a71cc40ffc325f9f34544e","unresolved":true,"context_lines":[{"line_number":9547,"context_line":"with some non-zero code, indicating a failure."},{"line_number":9548,"context_line":"@item If @option{error} is passed as the first arugment and a concrete error code"},{"line_number":9549,"context_line":"as a second argument, then OpenOCD will exit with this user-specified error code."},{"line_number":9550,"context_line":"The code must be in range 1-255."},{"line_number":9551,"context_line":"@end itemize"},{"line_number":9552,"context_line":""},{"line_number":9553,"context_line":"If user types CTRL-C or kills OpenOCD, the command @command{shutdown}"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"b79b8aaf_e1209ae3","line":9550,"in_reply_to":"73483e41_346bab66","updated":"2026-01-05 11:12:37.000000000","message":"I have originally disallowed the zero code because having there `error` and `0` together looks contradictory. But I don\u0027t mind to change it.\n\nHow about updating the shudown arguments this way: \n`shutdown [\u0027error\u0027|exit_code]`\n\nThat would mean:\n\n`shutdown` -\u003e exit code 0\n`shutdown 0` -\u003e exit code 0 (synonym to previous)\n`shutdown error` -\u003e exit code 1\n`shutdown 1` -\u003e exit code 1 (synonym to previous)\n`shutdown 25` -\u003e exit code 25\n`shutdown error 0` -\u003e error - too many arguments\n`shutdown error 25` -\u003e error - too many arguments\netc.\n\nBackward compatibility would be preserved and the same time we would avoid the awkward case of `error` and `0` together.\n\nDo you like this approach?","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"e8795d84f499e139d598f37b72ccdef0dbe83a6f","unresolved":false,"context_lines":[{"line_number":9547,"context_line":"with some non-zero code, indicating a failure."},{"line_number":9548,"context_line":"@item If @option{error} is passed as the first arugment and a concrete error code"},{"line_number":9549,"context_line":"as a second argument, then OpenOCD will exit with this user-specified error code."},{"line_number":9550,"context_line":"The code must be in range 1-255."},{"line_number":9551,"context_line":"@end itemize"},{"line_number":9552,"context_line":""},{"line_number":9553,"context_line":"If user types CTRL-C or kills OpenOCD, the command @command{shutdown}"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"536eeaaa_00ed9d2a","line":9550,"in_reply_to":"8eee2a8a_41ce1eb4","updated":"2026-01-07 07:34:52.000000000","message":"I have changed the implementation as discussed above - please take a look.","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"40b96a78bffd52a356ceac8fcd40f1b1e2081cdc","unresolved":false,"context_lines":[{"line_number":9547,"context_line":"with some non-zero code, indicating a failure."},{"line_number":9548,"context_line":"@item If @option{error} is passed as the first arugment and a concrete error code"},{"line_number":9549,"context_line":"as a second argument, then OpenOCD will exit with this user-specified error code."},{"line_number":9550,"context_line":"The code must be in range 1-255."},{"line_number":9551,"context_line":"@end itemize"},{"line_number":9552,"context_line":""},{"line_number":9553,"context_line":"If user types CTRL-C or kills OpenOCD, the command @command{shutdown}"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"8eee2a8a_41ce1eb4","line":9550,"in_reply_to":"b79b8aaf_e1209ae3","updated":"2026-01-05 12:42:44.000000000","message":"Yes, I\u0027m ok with this new proposal","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"185db9743edc13133f3f7d00547efcf1f15d0234","unresolved":true,"context_lines":[{"line_number":9538,"context_line":""},{"line_number":9539,"context_line":"@deffn {Command} {shutdown} [@option{error} | exit_code]"},{"line_number":9540,"context_line":"Close the OpenOCD server, disconnecting all clients (GDB, telnet and"},{"line_number":9541,"context_line":"others). Then the OpenOCD process quits."},{"line_number":9542,"context_line":""},{"line_number":9543,"context_line":"By default the exit code is zero, meaning success. A different exit"},{"line_number":9544,"context_line":"code can be specified via the parameter. Allowed range is 0 - 255."}],"source_content_type":"text/x-texinfo","patch_set":3,"id":"13c7d66f_b3239402","line":9541,"updated":"2026-03-08 10:12:42.000000000","message":"I think we need to better explain what this exit code is, for users that are not used at UNIX and shell.\nLooking at man pages of \u0027true\u0027, \u0027false\u0027, \u0027exit(3P), they all talk about \u0027status\u0027 or \u0027status code\u0027 or \u0027exit status\u0027. Probably we should use the same name or \u0027status code at OpenOCD exit\u0027 or similar.\nWhat about also extending this last sentence as:\n```\n... Then the OpenOCD process quits with a status code; such status code can\nbe used by the calling shell (e.g. through the parameter \u0027$?\u0027) or by the calling\nprocess (e.g. through the wait() function).\n```","commit_id":"a31cca9532d07804560e403d818af6fe1e7ed4eb"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"943d3ad1683e198fc96ae2041ecb3eb1237353ce","unresolved":true,"context_lines":[{"line_number":9538,"context_line":""},{"line_number":9539,"context_line":"@deffn {Command} {shutdown} [@option{error} | exit_code]"},{"line_number":9540,"context_line":"Close the OpenOCD server, disconnecting all clients (GDB, telnet and"},{"line_number":9541,"context_line":"others). Then the OpenOCD process quits."},{"line_number":9542,"context_line":""},{"line_number":9543,"context_line":"By default the exit code is zero, meaning success. A different exit"},{"line_number":9544,"context_line":"code can be specified via the parameter. Allowed range is 0 - 255."}],"source_content_type":"text/x-texinfo","patch_set":3,"id":"3f3f4fd3_77c8f2f8","line":9541,"in_reply_to":"13c7d66f_b3239402","updated":"2026-03-11 16:05:54.000000000","message":"I have reworded the documentation:\n\n- I have used \"exit status\" as that is apparently the prevailing term.\n- Added a short explanatory paragraph about what \"exit status\" is. The only thing that I have omitted from your suggestion is the part about wait() function - I believe novice users need not be told these details to understand what \"exit status\" is whereas experienced system programmers will know it already.\n\nPlease, take another look whether you like the current state.\n\nThanks.","commit_id":"a31cca9532d07804560e403d818af6fe1e7ed4eb"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"23e9d2259982d55977924cf9190bf49f4d2fdd7e","unresolved":false,"context_lines":[{"line_number":9538,"context_line":""},{"line_number":9539,"context_line":"@deffn {Command} {shutdown} [@option{error} | exit_code]"},{"line_number":9540,"context_line":"Close the OpenOCD server, disconnecting all clients (GDB, telnet and"},{"line_number":9541,"context_line":"others). Then the OpenOCD process quits."},{"line_number":9542,"context_line":""},{"line_number":9543,"context_line":"By default the exit code is zero, meaning success. A different exit"},{"line_number":9544,"context_line":"code can be specified via the parameter. Allowed range is 0 - 255."}],"source_content_type":"text/x-texinfo","patch_set":3,"id":"fee32143_ccbebfaa","line":9541,"in_reply_to":"3f3f4fd3_77c8f2f8","updated":"2026-03-28 15:41:17.000000000","message":"Thanks!","commit_id":"a31cca9532d07804560e403d818af6fe1e7ed4eb"}],"src/openocd.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7aa505fc83e215bbfd4454095cf7c6c02d5afd66","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"5511335e_fbcdfa0e","line":382,"updated":"2026-01-05 10:58:54.000000000","message":"I think that all this code could be moved in `src/server/server.c` in a dedicated function, so also no need to export the macros `SHUTDOWN_*` in `server.h`.\n```\nreturn server_exit_code(ret);\n```\nThis could also reduce the number of functions exported in `server.h`.","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"23e9d2259982d55977924cf9190bf49f4d2fdd7e","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"277965e1_dfcf8f5c","line":382,"in_reply_to":"0c60263e_dbad5124","updated":"2026-03-28 15:41:17.000000000","message":"Sorry, I\u0027ve been offline for some time...\nInstead of the if/then/else, since every branch use \u0027return\u0027, can you reduce the indentation with\n```\n  /* Check for error occurred before the server could be fully started.\n   * For example during the processing of initial commands/scripts.\n   */\n  if (ret !\u003d ERROR_OK)\n    return EXIT_FAILURE;\n\n  // Check the shutdown reason of the server\n  if (server_terminated_by_signal())\n    return exit_on_signal(server_get_last_signal_number());\n\n  return server_get_exit_status_code();\n}\n```","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"943d3ad1683e198fc96ae2041ecb3eb1237353ce","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0c60263e_dbad5124","line":382,"in_reply_to":"3619f315_585e5efd","updated":"2026-03-11 16:05:54.000000000","message":"Done - implemented.","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"7e4d9d4207866ec4330b44c90aff9a68a4f632fd","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"95f38105_6114a0b8","line":382,"in_reply_to":"367422bf_b905236e","updated":"2026-01-28 06:52:45.000000000","message":"Gentle ping. 😊\n\nAntonio, do you like the suggestion from my previous comment?","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"e8795d84f499e139d598f37b72ccdef0dbe83a6f","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"cace5143_a3fdd670","line":382,"in_reply_to":"5511335e_fbcdfa0e","updated":"2026-01-07 07:34:52.000000000","message":"Actually, there is this `exit_on_signal()` call that causes OpenOCD to self-terminate.\n\nIf I moved it inside a function called `server_get_exit_code()` (or a similar name), the code would become counter-intuitive and bug prone: readers would likely not expect that this function could terminate the process and never return.\n\nSo I think it is cleaner when the server just exposes the shutdown reason, and the caller then handles it any way it likes (in other words, separation of concerns). Even if it means few more items must be exposed in server.h. \n\nConsidering the above, does the current solution look OK to you?","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"185db9743edc13133f3f7d00547efcf1f15d0234","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"3619f315_585e5efd","line":382,"in_reply_to":"95f38105_6114a0b8","updated":"2026-03-08 10:12:42.000000000","message":"Yes, it looks like a nice improvement. Thanks!","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"e4438f6146ad3cb27a85f2cc131874e3c82b1061","unresolved":true,"context_lines":[{"line_number":379,"context_line":"\t__gcov_dump();"},{"line_number":380,"context_line":"#endif"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"\tif (ret !\u003d ERROR_OK) {"},{"line_number":383,"context_line":"\t\t/* An error occurred before the server could be fully started."},{"line_number":384,"context_line":"\t\t * For example during the processing of initial commands/scripts. */"},{"line_number":385,"context_line":"\t\treturn EXIT_FAILURE;"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"367422bf_b905236e","line":382,"in_reply_to":"cace5143_a3fdd670","updated":"2026-01-07 08:10:41.000000000","message":"Or how about this?\n\n```\nif (server_terminated_by_signal())\n    return exit_on_signal(server_get_signal_number());\nelse\n    return server_get_exit_code();\n\n```\n\nLet me know what you prefer.","commit_id":"2cf599738db407fad26f12dac2726354deb6b348"}],"src/server/server.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"23e9d2259982d55977924cf9190bf49f4d2fdd7e","unresolved":true,"context_lines":[{"line_number":617,"context_line":"\tif (shutdown_openocd \u003d\u003d SHUTDOWN_WITH_SIGNAL_CODE)"},{"line_number":618,"context_line":"\t\tcommand_run_line(command_context, \"shutdown\");"},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"\treturn;"},{"line_number":621,"context_line":"}"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"bool server_terminated_by_signal(void)"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"2f6df5b0_5e1bff63","line":620,"updated":"2026-03-28 15:41:17.000000000","message":"No need for `return;` at the end of a `void` function","commit_id":"55ab721ddb2fa195ce9417dfe67e89575d8462a2"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"23e9d2259982d55977924cf9190bf49f4d2fdd7e","unresolved":false,"context_lines":[{"line_number":762,"context_line":"\t/* *nix: Bring back the default system handler and kill self */"},{"line_number":763,"context_line":"\tsignal(sig, SIG_DFL);"},{"line_number":764,"context_line":"\tkill(getpid(), sig); /* does not return */"},{"line_number":765,"context_line":"\t__builtin_unreachable();"},{"line_number":766,"context_line":"#else"},{"line_number":767,"context_line":"\t/* On Windows, simply use the signal number as the exit code */"},{"line_number":768,"context_line":"\treturn sig;"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"24371543_851f162a","line":765,"updated":"2026-03-28 15:41:17.000000000","message":"I expect it should be portable... at least gcc and clang accept it!","commit_id":"55ab721ddb2fa195ce9417dfe67e89575d8462a2"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"23e9d2259982d55977924cf9190bf49f4d2fdd7e","unresolved":true,"context_lines":[{"line_number":806,"context_line":"\t\tif (shutdown_openocd \u003d\u003d SHUTDOWN_WITH_SIGNAL_CODE) {"},{"line_number":807,"context_line":"\t\t\t/* When \"shutdown\" (without parameters) is auto-executed"},{"line_number":808,"context_line":"\t\t\t * as a result of a signal, keep the original shutdown reason"},{"line_number":809,"context_line":"\t\t\t * unchanged. */"},{"line_number":810,"context_line":"\t\t} else {"},{"line_number":811,"context_line":"\t\t\t/* Default exit code is zero - success */"},{"line_number":812,"context_line":"\t\t\tshutdown_openocd \u003d SHUTDOWN_REQUESTED;"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"b7fb707d_8bddead1","line":809,"updated":"2026-03-28 15:41:17.000000000","message":"Not nice to have an empty `if` branch.\nCan you please try to rework it with only the condition\n`if (shutdown_openocd !\u003d SHUTDOWN_WITH_SIGNAL_CODE) {`\ne.g. by moving the comment outside this if/then/else?","commit_id":"55ab721ddb2fa195ce9417dfe67e89575d8462a2"}]}
