{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":20488377,"defaultBranch":"deploy","name":"fishman-ctags","ownerLogin":"b4n","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2014-06-04T15:09:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/793526?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716326774.0","currentOid":""},"activityList":{"items":[{"before":"33b90f13b8b5f54f298ab0873a11d968ddefdd0d","after":null,"ref":"refs/heads/js/implicit-repr","pushedAt":"2024-05-21T21:26:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"}},{"before":"91b60d017a108eb8c2dfd8a1ce1f0602d0f630d7","after":null,"ref":"refs/heads/php/class-use","pushedAt":"2024-05-20T15:49:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"}},{"before":"dad15384a4dc6c25bf397ed0f517d3e87eb00468","after":"91b60d017a108eb8c2dfd8a1ce1f0602d0f630d7","ref":"refs/heads/php/class-use","pushedAt":"2024-05-20T07:41:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"php: Skip class and trait `use` not to confuse typerefs\n\nSee https://www.php.net/manual/en/language.oop5.traits.php.\n\nFixes #4007.","shortMessageHtmlLink":"php: Skip class and trait use not to confuse typerefs"}},{"before":null,"after":"dad15384a4dc6c25bf397ed0f517d3e87eb00468","ref":"refs/heads/php/class-use","pushedAt":"2024-05-19T22:44:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"php: Skip class and trait `use` not to confuse typerefs\n\nSee https://www.php.net/manual/en/language.oop5.traits.php.\n\nFixes #4007.","shortMessageHtmlLink":"php: Skip class and trait use not to confuse typerefs"}},{"before":"ccf0744aa6b73001afc19ec41da22bbc15638c42","after":"33b90f13b8b5f54f298ab0873a11d968ddefdd0d","ref":"refs/heads/js/implicit-repr","pushedAt":"2024-05-19T21:38:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"jscript: Fix representation of held tokens\n\nAlso fill in representation when emitting a held token, e.g. after an\nimplicit semicolon.\n\nFixes #4005.","shortMessageHtmlLink":"jscript: Fix representation of held tokens"}},{"before":null,"after":"ccf0744aa6b73001afc19ec41da22bbc15638c42","ref":"refs/heads/js/implicit-repr","pushedAt":"2024-05-19T21:37:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"jscript: Fix representation of held tokens\n\nAlso fill in representation when emitting a held token, e.g. after an\nimplicit semicolon.","shortMessageHtmlLink":"jscript: Fix representation of held tokens"}},{"before":"370de0f519b7f91e7208db92a42456d21dd9ac49","after":"268632243397d7b4f0c8f42a0920de48d130b3e5","ref":"refs/heads/powershell-enum-labels","pushedAt":"2024-05-14T19:47:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"docs,man: Add ctags-lang-powershell","shortMessageHtmlLink":"docs,man: Add ctags-lang-powershell"}},{"before":"bad24b7370604f190e24d823961088e54ade282a","after":"370de0f519b7f91e7208db92a42456d21dd9ac49","ref":"refs/heads/powershell-enum-labels","pushedAt":"2024-05-14T19:38:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"docs,man: Add ctags-lang-powershell","shortMessageHtmlLink":"docs,man: Add ctags-lang-powershell"}},{"before":"6923e0e9ff6f3fb8034e8247644e5a8ab39f3a01","after":"c88378487d84784b16bbc59a611208def802c4b7","ref":"refs/heads/matlab","pushedAt":"2024-05-13T21:00:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"matlab: Don't get confused by trailing comments","shortMessageHtmlLink":"matlab: Don't get confused by trailing comments"}},{"before":null,"after":"6923e0e9ff6f3fb8034e8247644e5a8ab39f3a01","ref":"refs/heads/matlab","pushedAt":"2024-05-13T20:51:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"matlab: Don't get confused by trailing comments","shortMessageHtmlLink":"matlab: Don't get confused by trailing comments"}},{"before":null,"after":"bad24b7370604f190e24d823961088e54ade282a","ref":"refs/heads/powershell-enum-labels","pushedAt":"2024-05-13T19:56:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"powershell: Parse enum labels\n\nhttps://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_enum?view=powershell-7.4","shortMessageHtmlLink":"powershell: Parse enum labels"}},{"before":"921122f6cf8a19fba1cbc6cbb05261f9a25f9629","after":"eb830efebdb6d854a312b50b2636b76ee78c57a5","ref":"refs/heads/js-keywords","pushedAt":"2024-05-07T23:27:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"jscript: Better support for contextual keywords as identifiers\n\nAllow more contextual keywords as identifier names for functions and\nproperties.\n\nSee also:\nhttps://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-keywords-and-reserved-words","shortMessageHtmlLink":"jscript: Better support for contextual keywords as identifiers"}},{"before":"d3d125f8ab01c0ebacc0b2ede86c4dd18387de3c","after":"921122f6cf8a19fba1cbc6cbb05261f9a25f9629","ref":"refs/heads/js-keywords","pushedAt":"2024-05-07T23:20:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"jscript: Better support for contextual keywords as identifiers\n\nAllow more contextual keywords as identifier names for functions and\nproperties.\n\nSee also:\nhttps://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-keywords-and-reserved-words","shortMessageHtmlLink":"jscript: Better support for contextual keywords as identifiers"}},{"before":null,"after":"d3d125f8ab01c0ebacc0b2ede86c4dd18387de3c","ref":"refs/heads/js-keywords","pushedAt":"2024-05-07T22:35:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"jscript: Better support for contextual keywords as identifiers\n\nAllow more contextual keywords as identifier names for functions and\nproperties.\n\nSee also:\nhttps://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-keywords-and-reserved-words","shortMessageHtmlLink":"jscript: Better support for contextual keywords as identifiers"}},{"before":"6dff7c3c6b68d8f6196086519b5f5ff91956e7fa","after":null,"ref":"refs/heads/vera-fallthrough","pushedAt":"2024-05-03T20:22:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"}},{"before":null,"after":"6dff7c3c6b68d8f6196086519b5f5ff91956e7fa","ref":"refs/heads/vera-fallthrough","pushedAt":"2024-05-03T14:38:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"vera: Explicit fallthrough\n\nAdd a comment to tell the compiler the fallthrough is intentional, so\nit doesn't warn about it.","shortMessageHtmlLink":"vera: Explicit fallthrough"}},{"before":"a2253502b051a9351663861f45e86f4039933a1e","after":"e6bc697502fcf582ea52e7098becf01ca0b00fc8","ref":"refs/heads/nestlevel-align","pushedAt":"2023-12-16T18:38:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"nestlevel: Fix user data alignment\n\nWe need to align the user data properly not to trigger undefined\nbehavior, which even apparently crashes on SPARC.\n\nAs `NestingLevels::levels` is actually a single allocation for all\nlevels and their user data mapped as `[NL0|UD0|NL1|UD1|...]` (where NL\nis a NestingLevel, and UD a user data), we need to align twice, as we\nneed every `NL*` and every `UD*` to align properly.\n\nHere we align everything to `2*sizeof(size_t)`, which is a logic\nborrowed from GLib, which seems to have borrowed the value from glibc.\nThis is pretty conservative in our case, because actually `NL*`s only\nneed aligning to `int`'s requirements currently, which on some\narchitectures is 4, not 16; but it's trickier to implement (and\nactually impossible with the current API) as we'd need to compute the\nactual alignment for each level taking into account it's position in\nthe overall memory region to still align `UD*`s to a conservative\nvalue.\nAlso, having all NL+UD group at the same size makes things a bit\nsimpler for debugging, I guess.\n\nWe make sure to only add alignment padding manually for cases where\nthere's actually some user data, not to waste memory needlessly for the\ncommon case where `sizeof(UD)` is 0, and thus where we can merely\nalign to `sizeof(NL)` -- which C does for us already.\n\nNote that currently only the Ruby parser is affected, as it's the only\ncurrent consumer of nesting level user data.\n\nFixes #3881.","shortMessageHtmlLink":"nestlevel: Fix user data alignment"}},{"before":null,"after":"a2253502b051a9351663861f45e86f4039933a1e","ref":"refs/heads/nestlevel-align","pushedAt":"2023-12-16T18:36:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"nestlevel: Fix user data alignment\n\nWe need to align the user data properly not to trigger undefined\nbehavior, which even apparently crashes on SPARC.\n\nAs `NestingLevels::levels` is actually a single allocation for all\nlevels and their user data mapped as `[NL0|UD0|NL1|UD1|...]` (where NL\nis a NestingLevel, and UD a user data), we need to align twice, as we\nneed every `NL*` and every `UD*` to align properly.\n\nHere we align everything to `2*sizeof(size_t)`, which is a logic\nborrowed from GLib, which seems to have borrowed the value from glibc.\nThis is pretty conservative in our case, because actually `NL*`s only\nneed aligning to `int`'s requirements currently, which on some\narchitectures is 4, not 16; but it's trickier to implement (and\nactually impossible with the current API) as we'd need to compute the\nactual alignment for each level taking into account it's position in\nthe overall memory region to still align `UD*`s to a conservative\nvalue.\nAlso, having all NL+UD group at the same size makes things a bit\nsimpler for debugging, I guess.\n\nWe make sure to only add alignment padding manually for cases where\nthere's actually some user data, not to waste memory needlessly for the\ncommon case where `sizeof(UD)` is 0, and thus where we can merely\nalign to `sizeof(NL)` -- which C does for us already.\n\nNote that currently only the Ruby parser is affected, as it's the only\ncurrent consumer of nesting level user data.\n\nFixes #3881.","shortMessageHtmlLink":"nestlevel: Fix user data alignment"}},{"before":"206167e128178acf0d525a751d030ded8a8ae3fb","after":"1504fc1196aa7636b4b8470ae1ab602d489f09aa","ref":"refs/heads/various-warnings","pushedAt":"2023-11-02T23:50:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"Restore semicolons after definition macros calls\n\nThey might help parsers (including uctags) not get confused by those\nmacros. To still not have extra semicolons ISO C doesn't like, add a\ndummy typedef at the end, that has no purpose but allow (actually,\nrequire) a semicolon after.\n\nThe macro uses a custom suffix to have an actually unique name for each\ntypedef not to risk triggering a redundant declaration warning.\nI am however not sure why I don't see the warning without the specific\nsuffix in dsl/* while I do see it in parsers/asm.c.","shortMessageHtmlLink":"Restore semicolons after definition macros calls"}},{"before":"e10a79b07043115b511eb7c9c96b344593980268","after":"206167e128178acf0d525a751d030ded8a8ae3fb","ref":"refs/heads/various-warnings","pushedAt":"2023-10-26T22:11:29.000Z","pushType":"push","commitsCount":4171,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"options: Add noreturn attribute to processListRolesOptions()\n\nThis prevents GCC from warning this is an infinite recursion loop, as\nwell as pointing out the intent of that function.","shortMessageHtmlLink":"options: Add noreturn attribute to processListRolesOptions()"}},{"before":"44dd85be53fb9b3ae92c4f5bd1d129b3688f39e6","after":"a76c937af59ce3212111cbec052e60e250dd1331","ref":"refs/heads/ctype-calls","pushedAt":"2023-05-25T21:28:59.141Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"Fix many calls to ctype functions\n\nAll ctype functions like `isspace()`, `tolower()` and alike expect a\ncharacter as an `unsigned char` or EOF, anything else has undefined\nbehavior.\n\nThis commit should fix all calls to the various ctype functions either:\n\n* adding `unsigned char` cast where appropriate;\n* removing useless `int` casts that are more confusing than useful.\n\nSome instances required slightly more involved changes though, but the\nfix itself is the same.\n\nTo find the calls to check, I used an equivalent to the following:\n\n```\ngit grep -P 'is(alnum|alpha|cntrl|x?digit|graph|lower|print|punct|'\\\n'space|upper|ascii|blank)|to(low|up)er'\n```\n\n...and then proceeded to manually check each one of them to see if the\ncall, or call chain, was using appropriate values and types.","shortMessageHtmlLink":"Fix many calls to ctype functions"}},{"before":"d82908fafd05a8ed29ffb53836ba2d2d606f80ac","after":"44dd85be53fb9b3ae92c4f5bd1d129b3688f39e6","ref":"refs/heads/ctype-calls","pushedAt":"2023-05-25T07:24:39.497Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"Fix many calls to ctype functions\n\nAll ctype functions like `isspace()`, `tolower()` and alike expect a\ncharacter as an `unsigned char` or EOF, anything else has undefined\nbehavior.\n\nThis commit should fix all calls to the various ctype functions either:\n\n* adding `unsigned char` cast where appropriate;\n* removing useless `int` casts that are more confusing than useful.\n\nSome instances required slightly more involved changes though, but the\nfix itself is the same.\n\nTo find the calls to check, I used an equivalent to the following:\n\n```\ngit grep -P 'is(alnum|alpha|cntrl|x?digit|graph|lower|print|punct|'\\\n'space|upper|ascii|blank)|to(low|up)er'\n```\n\n...and then proceeded to manually check each one of them to see if the\ncall, or call chain, was using appropriate values and types.","shortMessageHtmlLink":"Fix many calls to ctype functions"}},{"before":null,"after":"d82908fafd05a8ed29ffb53836ba2d2d606f80ac","ref":"refs/heads/ctype-calls","pushedAt":"2023-05-24T23:23:29.853Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"Fix many calls to ctype functions\n\nAll ctype functions like `isspace()`, `tolower()` and alike expect a\ncharacter as an `unsigned char` or EOF, anything else has undefined\nbehavior.\n\nThis commit should fix all calls to the various ctype functions either:\n\n* adding `unsigned char` cast where appropriate;\n* removing useless `int` casts that are more confusing than useful.\n\nSome instances required slightly more involved changes though, but the\nfix itself is the same.","shortMessageHtmlLink":"Fix many calls to ctype functions"}},{"before":"ebbb4ca87f1eb6c918258eaab15a1065a5185577","after":"1128712195c127b2bc549d4c63b8d59c782a9fd2","ref":"refs/heads/vstring/type","pushedAt":"2023-05-23T09:39:24.324Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"c-based: Fix adding non-ASCII when collecting a signature\n\n`cppGetc()` can return `CHAR_SYMBOL` and `STRING_SYMBOL` which need to\nbe properly handled when trying to represent as character.","shortMessageHtmlLink":"c-based: Fix adding non-ASCII when collecting a signature"}},{"before":"0c2e334c743f906daafa1ddde24a4545b99816c8","after":"ebbb4ca87f1eb6c918258eaab15a1065a5185577","ref":"refs/heads/vstring/type","pushedAt":"2023-05-23T09:12:04.226Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"c-based: Fix adding non-ASCII when collecting a signature\n\n`cppGetc()` can return `CHAR_SYMBOL` and `STRING_SYMBOL` which need to\nbe properly handled when trying to represent as character.","shortMessageHtmlLink":"c-based: Fix adding non-ASCII when collecting a signature"}},{"before":"6efe6e2e718d8bffc2f3abbecff50f544ba18d7e","after":"0c2e334c743f906daafa1ddde24a4545b99816c8","ref":"refs/heads/vstring/type","pushedAt":"2023-05-16T12:25:38.431Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"vstring: Make vStringPut*() usage more forgiving\n\nvStringPut() and friends take an `unsigned char` as an `int`, similar\nto ctype functions, in order to be easy to use with `fgetc()`-style\nfunctions.\n\nHowever, this API is also used on regular C strings, which require a\ncast if the value is larger than 0x7F (127) on systems where `char` is\na signed type.\n\nIn order to make the API easier to use, as it's easy to forget the cast\nwhen working with `char`, introduce wrapper macros that add the cast\nwhen called with `char`. The cast is conditional so the underlying\nimplementation can still verify the value is in the valid range when\ncalled with an `int` (to catch erroneous calls with EOF or other values\nthat do not fit a `char`).\n\nNote that this will still not work properly if the caller has an\nincorrect cast on its side, like e.g. `vStringPut(s, (int) c)` where\n`c` is a `char`, as there's only so many magic tricks up our sleeves.\nThese calls should be updated to either be `vStringPut(s, c)` with the\nadded macros, or `vStringPut(s, (unsigned char) c)` if one wants to be\nexplicit -- yet no need to go all the trouble to make them\n`vStringPut(s, (int) (unsigned char) c)`, as the `unsigned char` to\n`int` conversion is implicit and safe.\n\nBased off a suggestion from Masatake YAMATO ","shortMessageHtmlLink":"vstring: Make vStringPut*() usage more forgiving"}},{"before":"2cab33c5b8cacd2aeedcf4f8af5fe13ea68a561b","after":"6efe6e2e718d8bffc2f3abbecff50f544ba18d7e","ref":"refs/heads/vstring/type","pushedAt":"2023-05-16T12:19:41.033Z","pushType":"push","commitsCount":1,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"vstring: Make vStringPut*() usage more forgiving\n\nvStringPut() and friends take an `unsigned char` as an `int`, similar\nto ctype functions, in order to be easy to use with `fgetc()`-style\nfunctions.\n\nHowever, this API is also used on regular C strings, which require a\ncast if the value is larger than 0x7F (127) on systems where `char` is\na signed type.\n\nIn order to make the API easier to use, as it's easy to forget the cast\nwhen working with `char`, introduce wrapper macros that add the cast\nwhen called with `char`. The cast is conditional so the underlying\nimplementation can still verify the value is in the valid range when\ncalled with an `int` (to catch erroneous calls with EOF or other values\nthat do not fit a `char`).\n\nNot that this will still not work properly if the caller has an\nincorrect cast on its side, like e.g. `vStringPut(s, (int) c)` where\n`c` is a `char`, as there's only so many magic tricks up our sleeves.\n\nBased off a suggestion from Masatake YAMATO ","shortMessageHtmlLink":"vstring: Make vStringPut*() usage more forgiving"}},{"before":null,"after":"8e218a37719a1711340a929072704fac5172b6e8","ref":"refs/heads/erlang-invalid-pointer","pushedAt":"2023-05-15T14:47:45.748Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"erlang: Fix crash parsing directives longer than 31 characters\n\nEven if they might not exist, fix the code not to crash on them.\n\nThe issue was that the pointer to the vString buffer holding the\ndirective name was cached at its value right after the vString\ncreation, yet that buffer might get realloc()ated if it grows past the\ninitial length of 32, possibly making the initial pointer invalid.\n\nFix this by simply getting the pointer to the value later on.","shortMessageHtmlLink":"erlang: Fix crash parsing directives longer than 31 characters"}},{"before":null,"after":"3547021a009d3c4b89f17dfb7e6ffd4cacacfa0c","ref":"refs/heads/colprint-type","pushedAt":"2023-05-15T14:45:27.466Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"colprint: Fix column width truncation\n\nThis is very theoretical though, but pleases -Wconversion.","shortMessageHtmlLink":"colprint: Fix column width truncation"}},{"before":"e9aac1457bd59f0bdf5bd4a8378412b4fce6e170","after":"2cab33c5b8cacd2aeedcf4f8af5fe13ea68a561b","ref":"refs/heads/vstring/type","pushedAt":"2023-05-15T14:41:14.723Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"b4n","name":"Colomban Wendling","path":"/b4n","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/793526?s=80&v=4"},"commit":{"message":"c-based: Fix adding non-ASCII when collecting a signature\n\n`cppGetc()` can return `CHAR_SYMBOL` and `STRING_SYMBOL` which need to\nbe properly handled when trying to represent as character.","shortMessageHtmlLink":"c-based: Fix adding non-ASCII when collecting a signature"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUE0hWQA","startCursor":null,"endCursor":null}},"title":"Activity ยท b4n/fishman-ctags"}