)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"1bd2f76716b0e4162b9aaf5bd7385ed78395b2c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"28d21d2d_4c64a881","updated":"2025-01-20 13:09:23.000000000","message":"Thanks","commit_id":"4b00600d843313ced8b760d6a7c848e1bae2ac3c"}],"src/helper/options.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cc1264c84bad966f904d47d210eeda198a518aad","unresolved":true,"context_lines":[{"line_number":270,"context_line":"\t\t/* getopt_long stores the option index here. */"},{"line_number":271,"context_line":"\t\tint option_index \u003d 0;"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"\t\tc \u003d getopt_long(argc, argv, \"hvd::l:f:s:c:\", long_options, \u0026option_index);"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"\t\t/* Detect the end of the options. */"},{"line_number":276,"context_line":"\t\tif (c \u003d\u003d -1)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"1d9caaf2_5b72fa82","line":273,"updated":"2024-12-21 15:40:36.000000000","message":"The manpage of `getopt_long` reports about the `optstring`:\n- If a character is followed by a colon, the option requires an argument\n- Two colons mean an option takes an optional arg\n\nSo only `d` has optional arg, while for `l`, `f`, `s` and `c` the arg is required.Only in case of optional arg, then `optarg` can be NULL.\n\nConsequence below...","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"cf34cbdb9a717660529fc711f4ab5aa55852a868","unresolved":true,"context_lines":[{"line_number":270,"context_line":"\t\t/* getopt_long stores the option index here. */"},{"line_number":271,"context_line":"\t\tint option_index \u003d 0;"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"\t\tc \u003d getopt_long(argc, argv, \"hvd::l:f:s:c:\", long_options, \u0026option_index);"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"\t\t/* Detect the end of the options. */"},{"line_number":276,"context_line":"\t\tif (c \u003d\u003d -1)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"783e2a4f_23a6325b","line":273,"in_reply_to":"1d9caaf2_5b72fa82","updated":"2025-01-17 15:52:25.000000000","message":"Ack","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"1bd2f76716b0e4162b9aaf5bd7385ed78395b2c1","unresolved":false,"context_lines":[{"line_number":270,"context_line":"\t\t/* getopt_long stores the option index here. */"},{"line_number":271,"context_line":"\t\tint option_index \u003d 0;"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"\t\tc \u003d getopt_long(argc, argv, \"hvd::l:f:s:c:\", long_options, \u0026option_index);"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"\t\t/* Detect the end of the options. */"},{"line_number":276,"context_line":"\t\tif (c \u003d\u003d -1)"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"469efa60_c2060afb","line":273,"in_reply_to":"783e2a4f_23a6325b","updated":"2025-01-20 13:09:23.000000000","message":"Done","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cc1264c84bad966f904d47d210eeda198a518aad","unresolved":true,"context_lines":[{"line_number":303,"context_line":"\t\t\t\tbreak;"},{"line_number":304,"context_line":"\t\t\t}"},{"line_number":305,"context_line":"\t\t\tcase \u0027l\u0027:\t\t/* --log_output | -l */"},{"line_number":306,"context_line":"\t\t\t\tif (optarg) {"},{"line_number":307,"context_line":"\t\t\t\t\tint retval \u003d command_run_linef(cmd_ctx, \"log_output %s\", optarg);"},{"line_number":308,"context_line":"\t\t\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":309,"context_line":"\t\t\t\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"3206e412_7cf5ec5b","line":306,"updated":"2024-12-21 15:40:36.000000000","message":"we do not need to check for `optarg` here, as it is guaranteed to be not NULL.","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"cf34cbdb9a717660529fc711f4ab5aa55852a868","unresolved":true,"context_lines":[{"line_number":303,"context_line":"\t\t\t\tbreak;"},{"line_number":304,"context_line":"\t\t\t}"},{"line_number":305,"context_line":"\t\t\tcase \u0027l\u0027:\t\t/* --log_output | -l */"},{"line_number":306,"context_line":"\t\t\t\tif (optarg) {"},{"line_number":307,"context_line":"\t\t\t\t\tint retval \u003d command_run_linef(cmd_ctx, \"log_output %s\", optarg);"},{"line_number":308,"context_line":"\t\t\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":309,"context_line":"\t\t\t\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"72c38fe6_1df3bd29","line":306,"in_reply_to":"3206e412_7cf5ec5b","updated":"2025-01-17 15:52:25.000000000","message":"Addressed in https://review.openocd.org/c/openocd/+/8718","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"1bd2f76716b0e4162b9aaf5bd7385ed78395b2c1","unresolved":false,"context_lines":[{"line_number":303,"context_line":"\t\t\t\tbreak;"},{"line_number":304,"context_line":"\t\t\t}"},{"line_number":305,"context_line":"\t\t\tcase \u0027l\u0027:\t\t/* --log_output | -l */"},{"line_number":306,"context_line":"\t\t\t\tif (optarg) {"},{"line_number":307,"context_line":"\t\t\t\t\tint retval \u003d command_run_linef(cmd_ctx, \"log_output %s\", optarg);"},{"line_number":308,"context_line":"\t\t\t\t\tif (retval !\u003d ERROR_OK)"},{"line_number":309,"context_line":"\t\t\t\t\t\treturn retval;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"15048b06_3cd91c2d","line":306,"in_reply_to":"72c38fe6_1df3bd29","updated":"2025-01-20 13:09:23.000000000","message":"Done","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cc1264c84bad966f904d47d210eeda198a518aad","unresolved":true,"context_lines":[{"line_number":310,"context_line":"\t\t\t\t}"},{"line_number":311,"context_line":"\t\t\t\tbreak;"},{"line_number":312,"context_line":"\t\t\tcase \u0027c\u0027:\t\t/* --command | -c */"},{"line_number":313,"context_line":"\t\t\t\tif (optarg)"},{"line_number":314,"context_line":"\t\t\t\t    add_config_command(optarg);"},{"line_number":315,"context_line":"\t\t\t\tbreak;"},{"line_number":316,"context_line":"\t\t\tdefault:  /* \u0027?\u0027 */"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"82ce38fe_77437157","line":313,"updated":"2024-12-21 15:40:36.000000000","message":"same useless test here, but it should eventually be fixed in a separate patch","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1002047,"name":"Evgeniy Naydanov","email":"eugnay@gmail.com","username":"en-sc"},"change_message_id":"cf34cbdb9a717660529fc711f4ab5aa55852a868","unresolved":true,"context_lines":[{"line_number":310,"context_line":"\t\t\t\t}"},{"line_number":311,"context_line":"\t\t\t\tbreak;"},{"line_number":312,"context_line":"\t\t\tcase \u0027c\u0027:\t\t/* --command | -c */"},{"line_number":313,"context_line":"\t\t\t\tif (optarg)"},{"line_number":314,"context_line":"\t\t\t\t    add_config_command(optarg);"},{"line_number":315,"context_line":"\t\t\t\tbreak;"},{"line_number":316,"context_line":"\t\t\tdefault:  /* \u0027?\u0027 */"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"beef4854_107e5b1b","line":313,"in_reply_to":"82ce38fe_77437157","updated":"2025-01-17 15:52:25.000000000","message":"Ack","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"1bd2f76716b0e4162b9aaf5bd7385ed78395b2c1","unresolved":false,"context_lines":[{"line_number":310,"context_line":"\t\t\t\t}"},{"line_number":311,"context_line":"\t\t\t\tbreak;"},{"line_number":312,"context_line":"\t\t\tcase \u0027c\u0027:\t\t/* --command | -c */"},{"line_number":313,"context_line":"\t\t\t\tif (optarg)"},{"line_number":314,"context_line":"\t\t\t\t    add_config_command(optarg);"},{"line_number":315,"context_line":"\t\t\t\tbreak;"},{"line_number":316,"context_line":"\t\t\tdefault:  /* \u0027?\u0027 */"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"bdff8eef_112f566f","line":313,"in_reply_to":"beef4854_107e5b1b","updated":"2025-01-20 13:09:23.000000000","message":"Done","commit_id":"b40a2a1aeab23c2ac7e3603625295c438835687c"}]}
