)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"779915aea50f392a9058d27e206e05c51d429ead","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1f3adb8c_d3ade901","updated":"2026-02-26 16:51:21.000000000","message":"Have you seen https://review.openocd.org/c/openocd/+/8694 ?\nActually I completely forgot about it and as I\u0027ve not received any feedback","commit_id":"b03ea6b3da36951ff31b7b9378b81d7044b85436"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"2e4602ecb5f7cea04915ddae4dbac00fb939ab50","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b2502166_067d8b9d","in_reply_to":"1d428e12_9f4902ab","updated":"2026-03-28 17:11:11.000000000","message":"I personally dislike all the cast introduced in 8494 and prefer this minimal fix.\n\nThe implementation of the ctype functions is really messy.\nSome library use a function, other index the array.\nEven GNU libc that uses function reports about the argument `c`.\n```\nIf c is neither an unsigned char value nor EOF, the behavior of these\nfunctions is undefined.\n```\n\nI think we need to add a build in jenkins to test this.","commit_id":"b03ea6b3da36951ff31b7b9378b81d7044b85436"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"9d2ebc8e26913eea46067c89bdd5a9482e99bbb0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1d428e12_9f4902ab","in_reply_to":"1f3adb8c_d3ade901","updated":"2026-03-07 13:23:35.000000000","message":"No, I did\u0027t take a closer look at it yet - probably because I haven\u0027t seen a strong reason to, such as a concrete build issue. Personally, I\u0027d prefer to change only the function calls that are actually necessary, rather than all of them. Since the casting is already cumbersome, I’m also not in favor of adding an extra `(int)` cast.","commit_id":"b03ea6b3da36951ff31b7b9378b81d7044b85436"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ee61af356967db0d3b4092a80b1f9a17095f9a19","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"54a5829d_4ae1ba13","updated":"2026-03-29 11:12:45.000000000","message":"I have added the two commits\nhttps://review.openocd.org/c/openocd/+/9543\nhttps://review.openocd.org/c/openocd/+/9544\nfor testing the build with ctype.h from newlib, apparently the same used by MSYS2 and Cygwin.\nIt triggers all you have found, plus the additional one in src/flash/nor/fm4.c\n\nI don\u0027t plan to merge them, but provide an interesting coverage.\nI also found that libiberty provides \u0027safe-ctype.h\u0027 that is installed in my linux box by the binutils. To be checked if clang has it too! But with current status of libiberty, I don\u0027t want to use it","commit_id":"3d9ebf7d922b6c8aef76298df793106e904f32a4"}],"src/flash/nor/fm4.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"2e4602ecb5f7cea04915ddae4dbac00fb939ab50","unresolved":true,"context_lines":[{"line_number":605,"context_line":"\t\tif (!pattern[i])"},{"line_number":606,"context_line":"\t\t\treturn true;"},{"line_number":607,"context_line":"\t\t/* Use x as wildcard */"},{"line_number":608,"context_line":"\t\tif (pattern[i] !\u003d \u0027x\u0027 \u0026\u0026 tolower(s[i]) !\u003d tolower(pattern[i]))"},{"line_number":609,"context_line":"\t\t\treturn false;"},{"line_number":610,"context_line":"\t\ti++;"},{"line_number":611,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"63713180_51c7d406","line":608,"updated":"2026-03-28 17:11:11.000000000","message":"I get the error in these two calls to `tolower()`\nCasting to `(unsigned char)` fixes it.\nStrange you didn\u0027t get error here too!","commit_id":"b03ea6b3da36951ff31b7b9378b81d7044b85436"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"0eb048effa2d104c45ff6f72949aacf71fffed9f","unresolved":true,"context_lines":[{"line_number":605,"context_line":"\t\tif (!pattern[i])"},{"line_number":606,"context_line":"\t\t\treturn true;"},{"line_number":607,"context_line":"\t\t/* Use x as wildcard */"},{"line_number":608,"context_line":"\t\tif (pattern[i] !\u003d \u0027x\u0027 \u0026\u0026 tolower(s[i]) !\u003d tolower(pattern[i]))"},{"line_number":609,"context_line":"\t\t\treturn false;"},{"line_number":610,"context_line":"\t\ti++;"},{"line_number":611,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"e21d3d18_14a86016","line":608,"in_reply_to":"63713180_51c7d406","updated":"2026-03-28 19:17:16.000000000","message":"I did, see https://review.openocd.org/c/openocd/+/9539 ;) But IIRC only with Clang.","commit_id":"b03ea6b3da36951ff31b7b9378b81d7044b85436"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"4488f14f2be08b3ea08ce09dc2e4a66babee5a6a","unresolved":false,"context_lines":[{"line_number":605,"context_line":"\t\tif (!pattern[i])"},{"line_number":606,"context_line":"\t\t\treturn true;"},{"line_number":607,"context_line":"\t\t/* Use x as wildcard */"},{"line_number":608,"context_line":"\t\tif (pattern[i] !\u003d \u0027x\u0027 \u0026\u0026 tolower(s[i]) !\u003d tolower(pattern[i]))"},{"line_number":609,"context_line":"\t\t\treturn false;"},{"line_number":610,"context_line":"\t\ti++;"},{"line_number":611,"context_line":"\t}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"94e9e452_939f748e","line":608,"in_reply_to":"e21d3d18_14a86016","updated":"2026-04-06 16:48:15.000000000","message":"Ack","commit_id":"b03ea6b3da36951ff31b7b9378b81d7044b85436"}]}
