)]}'
{"libflashprog.c":[{"author":{"_account_id":1000016,"name":"Jakob Haufe","email":"sur5r@sur5r.net","username":"sur5r","avatars":[{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"342cfb23ef146bca307f3083dfb62b7094eecde4","unresolved":true,"context_lines":[{"line_number":227,"context_line":"\treturn ret;"},{"line_number":228,"context_line":"}"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"/* Search for a character in string accounting for the parenthesis level. */"},{"line_number":231,"context_line":"static const char *strlvlchr(const char *s, int parent_level, char c)"},{"line_number":232,"context_line":"{"},{"line_number":233,"context_line":"\tfor (; *s !\u003d \u0027\\0\u0027; ++s) {"},{"line_number":234,"context_line":"\t\tif (*s \u003d\u003d c \u0026\u0026 parent_level \u003d\u003d 0)"},{"line_number":235,"context_line":"\t\t\treturn s;"},{"line_number":236,"context_line":"\t\tif (*s \u003d\u003d \u0027)\u0027 \u0026\u0026 parent_level-- \u003d\u003d 0)"},{"line_number":237,"context_line":"\t\t\treturn NULL;"},{"line_number":238,"context_line":"\t\tif (*s \u003d\u003d \u0027(\u0027)"},{"line_number":239,"context_line":"\t\t\t++parent_level;"},{"line_number":240,"context_line":"\t}"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"\treturn NULL;"},{"line_number":243,"context_line":"}"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"/*"},{"line_number":246,"context_line":" * Match our database-entry name patterns. The `searched` string can either"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"92e0318d_8e085740","line":243,"range":{"start_line":230,"start_character":3,"end_line":243,"end_character":1},"updated":"2026-07-19 16:15:54.000000000","message":"I think `paren_level` would be a better name here. `parent_level` is misleading as this code is walking \"up\" and \"down\".\n\n```suggestion\n/* Search for a character in string accounting for the parenthesis level. */\nstatic const char *strlvlchr(const char *s, int paren_level, char c)\n{\n\tfor (; *s !\u003d \u0027\\0\u0027; ++s) {\n\t\tif (*s \u003d\u003d c \u0026\u0026 paren_level \u003d\u003d 0)\n\t\t\treturn s;\n\t\tif (*s \u003d\u003d \u0027)\u0027 \u0026\u0026 paren_level-- \u003d\u003d 0)\n\t\t\treturn NULL;\n\t\tif (*s \u003d\u003d \u0027(\u0027)\n\t\t\t++paren_level;\n\t}\n\n\treturn NULL;\n}\n```","commit_id":"caf54559e78ddd20dcf0ecabccb143ca9e0c51d7"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5f4e40aa5b66bfbeefd014947c77c874d3de724c","unresolved":true,"context_lines":[{"line_number":227,"context_line":"\treturn ret;"},{"line_number":228,"context_line":"}"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"/* Search for a character in string accounting for the parenthesis level. */"},{"line_number":231,"context_line":"static const char *strlvlchr(const char *s, int parent_level, char c)"},{"line_number":232,"context_line":"{"},{"line_number":233,"context_line":"\tfor (; *s !\u003d \u0027\\0\u0027; ++s) {"},{"line_number":234,"context_line":"\t\tif (*s \u003d\u003d c \u0026\u0026 parent_level \u003d\u003d 0)"},{"line_number":235,"context_line":"\t\t\treturn s;"},{"line_number":236,"context_line":"\t\tif (*s \u003d\u003d \u0027)\u0027 \u0026\u0026 parent_level-- \u003d\u003d 0)"},{"line_number":237,"context_line":"\t\t\treturn NULL;"},{"line_number":238,"context_line":"\t\tif (*s \u003d\u003d \u0027(\u0027)"},{"line_number":239,"context_line":"\t\t\t++parent_level;"},{"line_number":240,"context_line":"\t}"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"\treturn NULL;"},{"line_number":243,"context_line":"}"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"/*"},{"line_number":246,"context_line":" * Match our database-entry name patterns. The `searched` string can either"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"f57feeec_c2c74bd0","line":243,"range":{"start_line":230,"start_character":3,"end_line":243,"end_character":1},"in_reply_to":"92e0318d_8e085740","updated":"2026-07-19 17:15:41.000000000","message":"Changed that and a few cases in comments.","commit_id":"caf54559e78ddd20dcf0ecabccb143ca9e0c51d7"},{"author":{"_account_id":1000016,"name":"Jakob Haufe","email":"sur5r@sur5r.net","username":"sur5r","avatars":[{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"9b47627324d15e93b2b9d11cc6cb6f06d03398f8","unresolved":false,"context_lines":[{"line_number":227,"context_line":"\treturn ret;"},{"line_number":228,"context_line":"}"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"/* Search for a character in string accounting for the parenthesis level. */"},{"line_number":231,"context_line":"static const char *strlvlchr(const char *s, int parent_level, char c)"},{"line_number":232,"context_line":"{"},{"line_number":233,"context_line":"\tfor (; *s !\u003d \u0027\\0\u0027; ++s) {"},{"line_number":234,"context_line":"\t\tif (*s \u003d\u003d c \u0026\u0026 parent_level \u003d\u003d 0)"},{"line_number":235,"context_line":"\t\t\treturn s;"},{"line_number":236,"context_line":"\t\tif (*s \u003d\u003d \u0027)\u0027 \u0026\u0026 parent_level-- \u003d\u003d 0)"},{"line_number":237,"context_line":"\t\t\treturn NULL;"},{"line_number":238,"context_line":"\t\tif (*s \u003d\u003d \u0027(\u0027)"},{"line_number":239,"context_line":"\t\t\t++parent_level;"},{"line_number":240,"context_line":"\t}"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"\treturn NULL;"},{"line_number":243,"context_line":"}"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"/*"},{"line_number":246,"context_line":" * Match our database-entry name patterns. The `searched` string can either"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"a0629bb8_962fb8c7","line":243,"range":{"start_line":230,"start_character":3,"end_line":243,"end_character":1},"in_reply_to":"92e0318d_8e085740","updated":"2026-07-19 17:24:11.000000000","message":"Done","commit_id":"caf54559e78ddd20dcf0ecabccb143ca9e0c51d7"},{"author":{"_account_id":1000016,"name":"Jakob Haufe","email":"sur5r@sur5r.net","username":"sur5r","avatars":[{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"69eba29121878e43a9e74cb1c6342643b8dd9c5f","unresolved":true,"context_lines":[{"line_number":274,"context_line":"\t\t}"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"\t\tif (*cur_match \u003d\u003d *pattern) {\t\t\t/* character match */"},{"line_number":277,"context_line":"\t\t\tif (*pattern \u003d\u003d \u0027(\u0027)"},{"line_number":278,"context_line":"\t\t\t\t++parent_level;"},{"line_number":279,"context_line":"\t\t\tif (*pattern \u003d\u003d \u0027)\u0027)"},{"line_number":280,"context_line":"\t\t\t\t--parent_level;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"9377ee60_9218ea9f","line":277,"updated":"2026-07-19 16:26:01.000000000","message":"Wouldn\u0027t this only match if `searched` contained literal parentheses?","commit_id":"caf54559e78ddd20dcf0ecabccb143ca9e0c51d7"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5f4e40aa5b66bfbeefd014947c77c874d3de724c","unresolved":true,"context_lines":[{"line_number":274,"context_line":"\t\t}"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"\t\tif (*cur_match \u003d\u003d *pattern) {\t\t\t/* character match */"},{"line_number":277,"context_line":"\t\t\tif (*pattern \u003d\u003d \u0027(\u0027)"},{"line_number":278,"context_line":"\t\t\t\t++parent_level;"},{"line_number":279,"context_line":"\t\t\tif (*pattern \u003d\u003d \u0027)\u0027)"},{"line_number":280,"context_line":"\t\t\t\t--parent_level;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"e5db3e0f_ab54d5ad","line":277,"in_reply_to":"9377ee60_9218ea9f","updated":"2026-07-19 17:15:41.000000000","message":"That\u0027s a thing, yes. The idea is to be as much backwards compatible as possible\nand also not to confuse users. For instance, if somebody is asked to pick from\n`\"MX25L512(E)/MX25V512(C)\"`, chances seem good that they\u0027d try `\"MX25L512(E)\"`.","commit_id":"caf54559e78ddd20dcf0ecabccb143ca9e0c51d7"},{"author":{"_account_id":1000016,"name":"Jakob Haufe","email":"sur5r@sur5r.net","username":"sur5r","avatars":[{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/aae15a71cc2ca041f25cb776456eb46b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"9b47627324d15e93b2b9d11cc6cb6f06d03398f8","unresolved":false,"context_lines":[{"line_number":274,"context_line":"\t\t}"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"\t\tif (*cur_match \u003d\u003d *pattern) {\t\t\t/* character match */"},{"line_number":277,"context_line":"\t\t\tif (*pattern \u003d\u003d \u0027(\u0027)"},{"line_number":278,"context_line":"\t\t\t\t++parent_level;"},{"line_number":279,"context_line":"\t\t\tif (*pattern \u003d\u003d \u0027)\u0027)"},{"line_number":280,"context_line":"\t\t\t\t--parent_level;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"2c1c3500_f6c45ef0","line":277,"in_reply_to":"e5db3e0f_ab54d5ad","updated":"2026-07-19 17:24:11.000000000","message":"Acknowledged","commit_id":"caf54559e78ddd20dcf0ecabccb143ca9e0c51d7"}]}
