)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"20a997f502c6fa68d8058f534b265ccfe6b2fc69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8e06f893_e3b186c4","updated":"2026-05-26 11:08:33.000000000","message":"Thank you for the patch! This is much needed improvement.\n\nPlease take a look at my suggestions.","commit_id":"3eb86f23baf6ead6b2493e4d011beb48f56a6247"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"edbae620d638773e741696e768d88118aeb3d752","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"688d0cf5_76dd8d28","updated":"2026-05-27 09:19:36.000000000","message":"LGTM","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"0598b9ae4fcaad1bbd3109effbaacf16ff9dd226","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"37f9b885_6b28ab75","updated":"2026-05-27 09:09:10.000000000","message":"Thanks for the contribution. Just few comments below.\nI see we already have a command `poll_period` for the servers, whose name is quite confusing with this new one. But I think that command should be renamed as `server poll_period`, so let\u0027s go ahead with this code.","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"c2bf872ad3ce5691e723c5fb21ccd199975a26c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b482eef8_1bec19a0","updated":"2026-06-08 06:12:52.000000000","message":"Thanks","commit_id":"3360f47f499c8e80f1a066eb0aca50866292ff7c"}],"doc/openocd.texi":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"0598b9ae4fcaad1bbd3109effbaacf16ff9dd226","unresolved":true,"context_lines":[{"line_number":2348,"context_line":"There is a command to manage and monitor that polling,"},{"line_number":2349,"context_line":"which is normally done in the background."},{"line_number":2350,"context_line":""},{"line_number":2351,"context_line":"@deffn {Command} {poll} [@option{on}|@option{off}]"},{"line_number":2352,"context_line":"Poll the current target for its current state."},{"line_number":2353,"context_line":"(Also, @pxref{targetcurstate,,target curstate}.)"},{"line_number":2354,"context_line":"If that target is in debug mode, architecture"}],"source_content_type":"text/x-texinfo","patch_set":3,"id":"943e1963_d18a8ded","line":2351,"updated":"2026-05-27 09:09:10.000000000","message":"Please add the new command in this session of the documentation, either before or after the command poll.\nIf you are not familiar with the syntax here, the fragment should be something like\n```\n@deffn {Command} {poll_interval} [milliseconds]\nSet the polling interval of target\u0027s state.\nWith no parameter, it prints out the current value of polling interval.\n@enf deffn\n```","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"010a252eae3a80ad4675f711697aa4148769d75d","unresolved":false,"context_lines":[{"line_number":2348,"context_line":"There is a command to manage and monitor that polling,"},{"line_number":2349,"context_line":"which is normally done in the background."},{"line_number":2350,"context_line":""},{"line_number":2351,"context_line":"@deffn {Command} {poll} [@option{on}|@option{off}]"},{"line_number":2352,"context_line":"Poll the current target for its current state."},{"line_number":2353,"context_line":"(Also, @pxref{targetcurstate,,target curstate}.)"},{"line_number":2354,"context_line":"If that target is in debug mode, architecture"}],"source_content_type":"text/x-texinfo","patch_set":3,"id":"546d40e3_45f26af0","line":2351,"in_reply_to":"943e1963_d18a8ded","updated":"2026-05-27 10:01:16.000000000","message":"Done","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"}],"src/target/target.c":[{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"20a997f502c6fa68d8058f534b265ccfe6b2fc69","unresolved":true,"context_lines":[{"line_number":3158,"context_line":"\t\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3159,"context_line":""},{"line_number":3160,"context_line":"\t\t/* If target has been initialized, update the timer callback */"},{"line_number":3161,"context_line":"\t\tif (CMD_CTX-\u003emode \u003d\u003d COMMAND_EXEC) {"},{"line_number":3162,"context_line":"\t\t\tretval \u003d target_unregister_timer_callback(\u0026handle_target, CMD_CTX-\u003einterp);"},{"line_number":3163,"context_line":"\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3164,"context_line":"\t\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"c7fd5f68_01e60183","line":3161,"updated":"2026-05-26 11:08:33.000000000","message":"To me this seems too fragile.\n\nPlease consider factoring-out the search for the callback from `target_unregister_timer_callback()` and re-using it here.\n\nAlso, I feel like we can just modify the callback\u0027s `time_ms` value (perhaps wrapping this into a function like `target_timer_callback_periodic_set_period()`.)","commit_id":"3eb86f23baf6ead6b2493e4d011beb48f56a6247"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"c8ea15393294dbe74f457c4430ee3505bc216426","unresolved":false,"context_lines":[{"line_number":3158,"context_line":"\t\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3159,"context_line":""},{"line_number":3160,"context_line":"\t\t/* If target has been initialized, update the timer callback */"},{"line_number":3161,"context_line":"\t\tif (CMD_CTX-\u003emode \u003d\u003d COMMAND_EXEC) {"},{"line_number":3162,"context_line":"\t\t\tretval \u003d target_unregister_timer_callback(\u0026handle_target, CMD_CTX-\u003einterp);"},{"line_number":3163,"context_line":"\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3164,"context_line":"\t\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"77dc3af6_9693ccd9","line":3161,"in_reply_to":"c7fd5f68_01e60183","updated":"2026-05-27 04:27:08.000000000","message":"Done","commit_id":"3eb86f23baf6ead6b2493e4d011beb48f56a6247"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"20a997f502c6fa68d8058f534b265ccfe6b2fc69","unresolved":false,"context_lines":[{"line_number":3166,"context_line":"\t\t\tretval \u003d target_register_timer_callback(\u0026handle_target,"},{"line_number":3167,"context_line":"\t\t\t\t\tpolling_interval, TARGET_TIMER_TYPE_PERIODIC, CMD_CTX-\u003einterp);"},{"line_number":3168,"context_line":"\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3169,"context_line":"\t\t\t\treturn retval;"},{"line_number":3170,"context_line":"\t\t}"},{"line_number":3171,"context_line":"\t\tbreak;"},{"line_number":3172,"context_line":"\tdefault:"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5c294f86_22ba86fa","line":3169,"updated":"2026-05-26 11:08:33.000000000","message":"[nitpick] seems like the value of `polling_interval` should be unchanged if there is a callback but updating it fails.","commit_id":"3eb86f23baf6ead6b2493e4d011beb48f56a6247"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"c8ea15393294dbe74f457c4430ee3505bc216426","unresolved":false,"context_lines":[{"line_number":3166,"context_line":"\t\t\tretval \u003d target_register_timer_callback(\u0026handle_target,"},{"line_number":3167,"context_line":"\t\t\t\t\tpolling_interval, TARGET_TIMER_TYPE_PERIODIC, CMD_CTX-\u003einterp);"},{"line_number":3168,"context_line":"\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3169,"context_line":"\t\t\t\treturn retval;"},{"line_number":3170,"context_line":"\t\t}"},{"line_number":3171,"context_line":"\t\tbreak;"},{"line_number":3172,"context_line":"\tdefault:"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"398f547c_a0538a7c","line":3169,"in_reply_to":"5c294f86_22ba86fa","updated":"2026-05-27 04:27:08.000000000","message":"Done","commit_id":"3eb86f23baf6ead6b2493e4d011beb48f56a6247"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"0598b9ae4fcaad1bbd3109effbaacf16ff9dd226","unresolved":true,"context_lines":[{"line_number":3192,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3193,"context_line":"\t}"},{"line_number":3194,"context_line":""},{"line_number":3195,"context_line":"\treturn retval;"},{"line_number":3196,"context_line":"}"},{"line_number":3197,"context_line":""},{"line_number":3198,"context_line":"COMMAND_HANDLER(handle_wait_halt_command)"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"1ebb3a4f_32666a3f","line":3195,"updated":"2026-05-27 09:09:10.000000000","message":"This can be directly\n`return ERROR_OK;`\nThe scope of the variable `retval` becomes limited to `case 1:`. I think we can keep its declaration where it\u0027s now, but no need to initialize it.","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"010a252eae3a80ad4675f711697aa4148769d75d","unresolved":false,"context_lines":[{"line_number":3192,"context_line":"\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3193,"context_line":"\t}"},{"line_number":3194,"context_line":""},{"line_number":3195,"context_line":"\treturn retval;"},{"line_number":3196,"context_line":"}"},{"line_number":3197,"context_line":""},{"line_number":3198,"context_line":"COMMAND_HANDLER(handle_wait_halt_command)"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"ae6628a9_4bcf6379","line":3195,"in_reply_to":"1ebb3a4f_32666a3f","updated":"2026-05-27 10:01:16.000000000","message":"Done","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"0598b9ae4fcaad1bbd3109effbaacf16ff9dd226","unresolved":true,"context_lines":[{"line_number":6285,"context_line":"\t\t.name \u003d \"poll_interval\","},{"line_number":6286,"context_line":"\t\t.handler \u003d handle_poll_interval_command,"},{"line_number":6287,"context_line":"\t\t.mode \u003d COMMAND_ANY,"},{"line_number":6288,"context_line":"\t\t.help \u003d \"set the target state polling interval\","},{"line_number":6289,"context_line":"\t\t.usage \u003d \"[milliseconds]\","},{"line_number":6290,"context_line":"\t},"},{"line_number":6291,"context_line":"\tCOMMAND_REGISTRATION_DONE"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"6e86ad10_aa43c93c","line":6288,"updated":"2026-05-27 09:09:10.000000000","message":"It also prints the current value. Please change the text as `print or set ...` or something similar.","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"010a252eae3a80ad4675f711697aa4148769d75d","unresolved":false,"context_lines":[{"line_number":6285,"context_line":"\t\t.name \u003d \"poll_interval\","},{"line_number":6286,"context_line":"\t\t.handler \u003d handle_poll_interval_command,"},{"line_number":6287,"context_line":"\t\t.mode \u003d COMMAND_ANY,"},{"line_number":6288,"context_line":"\t\t.help \u003d \"set the target state polling interval\","},{"line_number":6289,"context_line":"\t\t.usage \u003d \"[milliseconds]\","},{"line_number":6290,"context_line":"\t},"},{"line_number":6291,"context_line":"\tCOMMAND_REGISTRATION_DONE"}],"source_content_type":"text/x-csrc","patch_set":3,"id":"0e159262_0d87750c","line":6288,"in_reply_to":"6e86ad10_aa43c93c","updated":"2026-05-27 10:01:16.000000000","message":"Done","commit_id":"94039aa7adef6ad602db9659c4e42d9b2128d95f"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"dc290654ad6dcd9b1b20f1f2b55002cfb036c037","unresolved":true,"context_lines":[{"line_number":3172,"context_line":""},{"line_number":3173,"context_line":"\tswitch (CMD_ARGC) {"},{"line_number":3174,"context_line":"\tcase 0:"},{"line_number":3175,"context_line":"\t\tcommand_print(CMD, \"target state polling interval: %dms\", polling_interval);"},{"line_number":3176,"context_line":"\t\tbreak;"},{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"98a33918_94fac8a5","line":3175,"updated":"2026-06-01 09:55:25.000000000","message":"Use only `\"%d\"` (without text) for easier parsing via Tcl","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"390a8d4b77918b553a7744003992dffa86e6e0e9","unresolved":true,"context_lines":[{"line_number":3172,"context_line":""},{"line_number":3173,"context_line":"\tswitch (CMD_ARGC) {"},{"line_number":3174,"context_line":"\tcase 0:"},{"line_number":3175,"context_line":"\t\tcommand_print(CMD, \"target state polling interval: %dms\", polling_interval);"},{"line_number":3176,"context_line":"\t\tbreak;"},{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"c783889e_198c659f","line":3175,"in_reply_to":"2da0f19b_1849fc72","updated":"2026-06-07 10:03:11.000000000","message":"\u003e Why does changing the printing content make it easier to parse via Tcl. Carrying text is more user-friendly, for example, we know the unit of the poll interval.\n\nLet\u0027s split the command repsonse in two parts: `target state polling interval: ` and `%dms`\n\n# `target state polling interval: `\n\nThis information is redundant - if I call this command, I already know what it does. \nIf I don\u0027t, I can use `help poll_interval` for reference.\n\nThe real issue is that I need to strip this string to process the poll interval in Tcl.\nAdditionally, since the string is human-readable, it\u0027s prone to unintentional changes \nbecause people don\u0027t expect it to be parsed. We\u0027ve encountered similar issues in the past.\n\n# `%dms`\n\nThis adds the unit to the poll interval, which provides some benefit to the user.\nHowever, OpenOCD does not handle units at all - as a result, your command output is not accepted by your own command:\n```\n\u003e poll_interval 200ms\nInvalid command argument\n```\n\nHow would a user know what to pass to your command without consulting the help if it is not even consistent within the same command? This is confusing, not user-friendly. Additionally, the unit makes it unnecessarily more complex to parse in Tcl.\nThe unit can be looked up via `help poll_interval` - that is sufficient.","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"974ef7dc48c255a8b5d528195fd39e1487ec76ed","unresolved":true,"context_lines":[{"line_number":3172,"context_line":""},{"line_number":3173,"context_line":"\tswitch (CMD_ARGC) {"},{"line_number":3174,"context_line":"\tcase 0:"},{"line_number":3175,"context_line":"\t\tcommand_print(CMD, \"target state polling interval: %dms\", polling_interval);"},{"line_number":3176,"context_line":"\t\tbreak;"},{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"2da0f19b_1849fc72","line":3175,"in_reply_to":"98a33918_94fac8a5","updated":"2026-06-01 10:54:13.000000000","message":"Why does changing the printing content make it easier to parse via Tcl. Carrying text is more user-friendly, for example, we know the unit of the poll interval.","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"d2a7ef119ac911e5a7dd6f77ac276066f6944620","unresolved":false,"context_lines":[{"line_number":3172,"context_line":""},{"line_number":3173,"context_line":"\tswitch (CMD_ARGC) {"},{"line_number":3174,"context_line":"\tcase 0:"},{"line_number":3175,"context_line":"\t\tcommand_print(CMD, \"target state polling interval: %dms\", polling_interval);"},{"line_number":3176,"context_line":"\t\tbreak;"},{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"c13fef07_5050b9d1","line":3175,"in_reply_to":"c783889e_198c659f","updated":"2026-06-08 01:57:59.000000000","message":"Thanks, done!","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"dc290654ad6dcd9b1b20f1f2b55002cfb036c037","unresolved":true,"context_lines":[{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"},{"line_number":3179,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3180,"context_line":"\t\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3181,"context_line":""},{"line_number":3182,"context_line":"\t\t/* If the timer callback has been registered, update the timer callback period */"},{"line_number":3183,"context_line":"\t\tstruct target_timer_callback *cb \u003d target_find_timer_callback(\u0026handle_target, CMD_CTX-\u003einterp);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"9169b536_cf9432d9","line":3180,"updated":"2026-06-01 09:55:25.000000000","message":"The correct error code is `ERROR_COMMAND_ARGUMENT_INVALID`","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"d2a7ef119ac911e5a7dd6f77ac276066f6944620","unresolved":false,"context_lines":[{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"},{"line_number":3179,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3180,"context_line":"\t\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3181,"context_line":""},{"line_number":3182,"context_line":"\t\t/* If the timer callback has been registered, update the timer callback period */"},{"line_number":3183,"context_line":"\t\tstruct target_timer_callback *cb \u003d target_find_timer_callback(\u0026handle_target, CMD_CTX-\u003einterp);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"840aed35_e5b3f0a2","line":3180,"in_reply_to":"5c8e7b97_3535dd74","updated":"2026-06-08 01:57:59.000000000","message":"Thanks, done!","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1002315,"name":"liangzhen","email":"zhen.liang@spacemit.com","username":"liangzhen"},"change_message_id":"974ef7dc48c255a8b5d528195fd39e1487ec76ed","unresolved":true,"context_lines":[{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"},{"line_number":3179,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3180,"context_line":"\t\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3181,"context_line":""},{"line_number":3182,"context_line":"\t\t/* If the timer callback has been registered, update the timer callback period */"},{"line_number":3183,"context_line":"\t\tstruct target_timer_callback *cb \u003d target_find_timer_callback(\u0026handle_target, CMD_CTX-\u003einterp);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"9952883e_003c3001","line":3180,"in_reply_to":"9169b536_cf9432d9","updated":"2026-06-01 10:54:13.000000000","message":"The entire code about parse_uint failure returns `ERROR_COMMAND_SYNTAX_ERROR`. So we can create a new PR to do this?","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"390a8d4b77918b553a7744003992dffa86e6e0e9","unresolved":true,"context_lines":[{"line_number":3177,"context_line":"\tcase 1:"},{"line_number":3178,"context_line":"\t\tretval \u003d parse_uint(CMD_ARGV[0], \u0026ms);"},{"line_number":3179,"context_line":"\t\tif (retval !\u003d ERROR_OK)"},{"line_number":3180,"context_line":"\t\t\treturn ERROR_COMMAND_SYNTAX_ERROR;"},{"line_number":3181,"context_line":""},{"line_number":3182,"context_line":"\t\t/* If the timer callback has been registered, update the timer callback period */"},{"line_number":3183,"context_line":"\t\tstruct target_timer_callback *cb \u003d target_find_timer_callback(\u0026handle_target, CMD_CTX-\u003einterp);"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"5c8e7b97_3535dd74","line":3180,"in_reply_to":"9952883e_003c3001","updated":"2026-06-07 10:03:11.000000000","message":"\u003e The entire code about parse_uint failure returns `ERROR_COMMAND_SYNTAX_ERROR`. So we can create a new PR to do this?\n\nYou basically asking to introduce wrong code because there is wrong code somewhere else? Please either fix the return value or use `COMMAND_PARSE_NUMBER` as other command handlers do.","commit_id":"02a8d0f6bf565d5f32722471f3128550642f27d9"}]}
