a name='robots' content='index, nofollow'/> <link rel='stylesheet' type='text/css' href='/custom.css'/> <link rel='alternate' title='Atom feed' href='https://git.causal.agency/src/atom/port/file2c?h=master' type='application/atom+xml'/> <link rel='vcs-git' href='https://git.causal.agency/src' title='src Git repository'/> </head> <body> <div id='cgit'><table id='header'> <tr> <td class='main'><a href='/'>index</a> : <a href='/src/'>src</a></td><td class='form'><form method='get'> <input type='hidden' name='id' value='dc173ca9c660f775675d6c712f82dcedccdf9db0'/><input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'> <option value='a1ce71dcd1d46119de3390970ac7864511cd36f6'>this commit</option> <optgroup label='branches'><option value='master' selected='selected'>master</option> </optgroup></select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>dontfiles </td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/src/'>summary</a> <a href='/src/refs/?id=dc173ca9c660f775675d6c712f82dcedccdf9db0'>refs</a> <a class='active' href='/src/log/port/file2c?showmsg=1&follow=1'>log</a> <a href='/src/tree/port/file2c?id=dc173ca9c660f775675d6c712f82dcedccdf9db0'>tree</a> <a href='/src/commit/port/file2c?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&follow=1'>commit</a> <a href='/src/diff/port/file2c?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&follow=1'>diff</a></td><td class='form'><form class='right' method='get' action='/src/log/port/file2c'> <input type='hidden' name='id' value='dc173ca9c660f775675d6c712f82dcedccdf9db0'/><input type='hidden' name='showmsg' value='1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/src/log/?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&showmsg=1&follow=1'>root</a>/<a href='/src/log/port?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&showmsg=1&follow=1'>port</a>/<a href='/src/log/port/file2c?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&showmsg=1&follow=1'>file2c</a> (<a href='/src/log/port/file2c?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&showmsg=1'>unfollow</a>)</div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/src/log/port/file2c?id=dc173ca9c660f775675d6c712f82dcedccdf9db0&follow=1'>Collapse</a>)</th><th class='left'>Author</th></tr> <tr class='logheader'><td><span title='2021-09-22 21:13:12 +0000'>2021-09-22</span></td><td class='logsubject'><a href='/src/commit/www/temp.causal.agency/up.c?id=dbcf4c53325774c83d29cdd96a3e822e71029221&follow=1'>Call sandbox in CGI mode</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> Otherwise upload won't actually work. </td></tr> <tr class='logheader'><td><span title='2021-09-22 19:43:54 +0000'>2021-09-22</span></td><td class='logsubject'><a href='/src/commit/www/temp.causal.agency/up.c?id=6ded0a072c0e63c8062d5429deee7e988f24afe9&follow=1'>Support HTTP PUT in up</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> For use by Palaver[1]. Unfortunately, at least in the current App Store version of Palaver, this doesn't work correctly with basic auth. [1]: https://palaverapp.com/guides/commands/set.html#ui-image_service </td></tr> <tr class='logheader'><td><span title='2021-09-22 15:40:24 +0000'>2021-09-22</span></td><td class='logsubject'><a href='/src/commit/www/git.causal.agency/cgit/favicon.ico?id=b66b864a89e0a956e9d5d8909ccb3084df3c273e&follow=1'>Remove default favicon</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> I hate these things and also this one sucks. </td></tr> <tr class='logheader'><td><span title='2021-09-21 22:04:26 -0400'>2021-09-21</span></td><td class='logsubject'><a href='/src/commit/bin/pngo.c?id=f6e92ca67f72999ae9b520c9008a4855a339620b&follow=1'>Use Z_FILTERED strategy</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-21 21:33:33 -0400'>2021-09-21</span></td><td class='logsubject'><a href='/src/commit/bin/pngo.c?id=d16660acf755488a7ec936ab959b82dcb219ac67&follow=1'>Recalculate various lengths only as needed</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate. </td></tr> <tr class='logheader'><td><span title='2021-09-21 15:02:46 -0400'>2021-09-21</span></td><td class='logsubject'><a href='/src/commit/bin/pngo.c?id=9fc326b10ab2e20a8bdb100bbfef24e8b8f3934f&follow=1'>Rewrite pngo, add explicit options</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> Interesting to see how my code habits have changed. </td></tr> <tr class='logheader'><td><span title='2021-09-16 09:34:37 -0400'>2021-09-16</span></td><td class='logsubject'><a href='/src/commit/bin/c11.l?id=be809c51a57225e17897ca9e5243c259c65895f0&follow=1'>Fix /* **/ comment matching</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-15 19:02:12 -0400'>2021-09-15</span></td><td class='logsubject'><a href='/src/commit/bin/typer.c?id=e4e49b1b03e6eb666d6efaf2850cc15f2f71b713&follow=1'>Remove typer, add downgrade to README</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-15 12:13:31 -0400'>2021-09-15</span></td><td class='logsubject'><a href='/src/commit/bin/man1/downgrade.1?id=9932abb09e3204d6cbd44c92f3678b6184625693&follow=1'>Set bot mode on downgrade</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-15 14:48:03 +0000'>2021-09-15</span></td><td class='logsubject'><a href='/src/commit/bin/downgrade.c?id=68f41009e9283757b672bbafcaa7bb0bdd121e32&follow=1'>Enter capsicum in downgrade</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-15 10:46:21 -0400'>2021-09-15</span></td><td class='logsubject'><a href='/src/commit/bin/downgrade.c?id=48e911f761cb4593706bfeb721b478bf4e7ea7c6&follow=1'>Factor out common parts of downgrade messages</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> Also bump the message cap to 1024 because that is ostensibly useful for replying to older messages. </td></tr> <tr class='logheader'><td><span title='2021-09-14 23:37:51 -0400'>2021-09-14</span></td><td class='logsubject'><a href='/src/commit/bin/man1/downgrade.1?id=55dfaa3c16c9bfda165d823d74034fda0dc6b4f6&follow=1'>Add downgrade IRC bot</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-14 23:20:57 -0400'>2021-09-14</span></td><td class='logsubject'><a href='/src/commit/bin/bibsort.pl?id=b124bde2b6ec698b5468167cfaea63b598f77bd0&follow=1'>Sort by title if authors match</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> There are probably better things to sort by but title definitely always exists. </td></tr> <tr class='logheader'><td><span title='2021-09-13 09:14:02 -0400'>2021-09-13</span></td><td class='logsubject'><a href='/src/commit/bin/htagml.c?id=abda08060ecf83cf2ae3b47e7ba8af3701a5fb38&follow=1'>Swap-remove tags as they're found</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> This makes it even faster. From ~1s on a sqlite3.c amalgamation to ~0.85s. </td></tr> <tr class='logheader'><td><span title='2021-09-12 21:02:19 -0400'>2021-09-12</span></td><td class='logsubject'><a href='/src/commit/bin/htagml.c?id=e7b4d18510cf26a0a72fac72604f930d62b4fa7d&follow=1'>Replace htagml regex with strncmp</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> Since ctags only ever produces regular expressions of the form /^re$/ or /^re/ with no other special characters, instead unescape the pattern and simply use strncmp. Running on a sqlite3.c amalgamation, the regex version takes ~37s while the strncmp version takes ~1s, producing identical output. Big win! </td></tr> <tr class='logheader'><td><span title='2021-09-11 15:11:48 -0400'>2021-09-11</span></td><td class='logsubject'><a href='/src/commit/bin/git-comment.pl?id=9d3e8a88a0d06310ff0a9309a5439ab97b8f922f&follow=1'>Also defer printing comment for lone close-parens</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-10 20:06:21 -0400'>2021-09-10</span></td><td class='logsubject'><a href='/src/commit/www/text.causal.agency/Makefile?id=ae5823a4cda93b6def9ae017ba3d93daa2eceeb9&follow=1'>Publish "git-comment"</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-10 17:10:15 -0400'>2021-09-10</span></td><td class='logsubject'><a href='/src/commit/bin/man1/git-comment.1?id=4c6cb6a661e970cf6951f627390f65b59ec8a7de&follow=1'>Add git comment --pretty option</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-08 23:32:51 -0400'>2021-09-08</span></td><td class='logsubject'><a href='/src/commit/bin/git-comment.pl?id=774decfc311710c12a27a3c5cd827c96fea4d332&follow=1'>Defer printing comment if line is blank or closing brace</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> This fixes badly indented comments. </td></tr> <tr class='logheader'><td><span title='2021-09-08 22:17:13 -0400'>2021-09-08</span></td><td class='logsubject'><a href='/src/commit/bin/man1/git-comment.1?id=1a5ecb6c6d42d8e0a9284897c90d6047f8ad8842&follow=1'>Up default min-repeat to 30 lines</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-08 22:11:15 -0400'>2021-09-08</span></td><td class='logsubject'><a href='/src/commit/bin/git-comment.pl?id=5908b0ae469e5d20d6b05eb3aabf2ea7b3d65311&follow=1'>Handle dirty lines in git-comment</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-08 21:59:30 -0400'>2021-09-08</span></td><td class='logsubject'><a href='/src/commit/bin/man1/git-comment.1?id=a237a866bba3b7c4618ccef1347c0c01009e66f3&follow=1'>Document and install git-comment</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-08 21:05:33 -0400'>2021-09-08</span></td><td class='logsubject'><a href='/src/commit/bin/git-comment.pl?id=ce5d7b18c0143dda7b3c9a78260b6e5ce7eec11a&follow=1'>Add repeat and all options to git-comment</a></td><td>June McEnroe</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> </td></tr> <tr class='logheader'><td><span title='2021-09-08 19:05:36 -0400'>2021-09-08</span></td><td class='logsubject'><a href='/src/commit/bin/git-comment.pl?id=c06e03fe68c3f55ff251607a534c75ac5d419af8&follow=1'>Add group threshold to git-comment</a></td><td>June McEnroe