<feed xmlns='http://www.w3.org/2005/Atom'>
<title>knr/ch4, branch master</title>
<subtitle>Category-0 solutions to The C Programming Language, 2nd Edition</subtitle>
<id>https://git.zlg.space/knr/atom/ch4?h=master</id>
<link rel='self' href='https://git.zlg.space/knr/atom/ch4?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/'/>
<updated>2016-06-16T17:15:33Z</updated>
<entry>
<title>The massive astyle sweep!</title>
<updated>2016-06-16T17:15:33Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2016-06-16T17:15:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=f8d9ff23eb8d3e3286ff5cf4d5f9493532991bb7'/>
<id>urn:sha1:f8d9ff23eb8d3e3286ff5cf4d5f9493532991bb7</id>
<content type='text'>
Code style should be consistent now. All future commits will be run through
astyle or they will be amended.
</content>
</entry>
<entry>
<title>Solve Exercise 4-14: Swap Macro</title>
<updated>2013-08-08T11:35:27Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-08-08T11:35:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=71eee1204d279fe7590d940a08423e3362609474'/>
<id>urn:sha1:71eee1204d279fe7590d940a08423e3362609474</id>
<content type='text'>
Thanks to ##c on Freenode for helping me understand what the text
didn't clarify.
</content>
</entry>
<entry>
<title>Solve Exercise 4-13: Recursive reverse()</title>
<updated>2013-07-22T09:38:53Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-07-22T09:38:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=dc209d744e8db39cf5a5f6eea59e4edda2051514'/>
<id>urn:sha1:dc209d744e8db39cf5a5f6eea59e4edda2051514</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-12: Recursive itoa()</title>
<updated>2013-07-15T11:38:40Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-07-15T11:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=990ad145ea2f1013dbe6aefa0533b9700c331b60'/>
<id>urn:sha1:990ad145ea2f1013dbe6aefa0533b9700c331b60</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-11: getop() without ungetch()</title>
<updated>2013-07-03T11:29:38Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-07-03T11:29:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=891836e014d474fc4176dbcd0cb72a8745a315dc'/>
<id>urn:sha1:891836e014d474fc4176dbcd0cb72a8745a315dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-10: getline()-based calculator</title>
<updated>2013-06-27T11:53:37Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-27T11:53:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=27249a10e801816810ec553ab4308cd7fb9c34dd'/>
<id>urn:sha1:27249a10e801816810ec553ab4308cd7fb9c34dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-9: Pushed EOF and [un]getch()</title>
<updated>2013-06-26T08:35:18Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-26T08:35:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=9a707bf8e71fcf58446135fc9daa4e2d45829f83'/>
<id>urn:sha1:9a707bf8e71fcf58446135fc9daa4e2d45829f83</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-8: Single character buffer</title>
<updated>2013-06-24T09:27:16Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-24T09:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=c5ae86e5e146c2107aaf6c04a01314f83b1b3ffd'/>
<id>urn:sha1:c5ae86e5e146c2107aaf6c04a01314f83b1b3ffd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-7: ungets()</title>
<updated>2013-06-22T09:25:51Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-22T09:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=a51ae6fbfdd8efb76acf1572bc58d906866cf331'/>
<id>urn:sha1:a51ae6fbfdd8efb76acf1572bc58d906866cf331</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-6: Variable support</title>
<updated>2013-06-21T07:09:25Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-21T07:09:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=59921a2bceb7df1728436f260281235a3fb8471c'/>
<id>urn:sha1:59921a2bceb7df1728436f260281235a3fb8471c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-5: adding sin(), exp(), pow()</title>
<updated>2013-06-20T04:44:09Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-20T04:44:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=920346f5b7373fd806511c61ea8c20d8306e5cb7'/>
<id>urn:sha1:920346f5b7373fd806511c61ea8c20d8306e5cb7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-4: Basic stack manipulation</title>
<updated>2013-06-19T10:47:29Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-19T10:47:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=5b001506a2701b0354c9a931295d8afa34021cec'/>
<id>urn:sha1:5b001506a2701b0354c9a931295d8afa34021cec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-3: Add modulus to RPN calculator</title>
<updated>2013-06-18T09:45:27Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-06-18T09:45:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=f42ae1643002dac0ededc9aae37ba28c047d89f4'/>
<id>urn:sha1:f42ae1643002dac0ededc9aae37ba28c047d89f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-2: atof() enhanced</title>
<updated>2013-05-08T05:59:24Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-05-08T05:59:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=da60299c2c4ae40eadb76c4a12aa471ede286d98'/>
<id>urn:sha1:da60299c2c4ae40eadb76c4a12aa471ede286d98</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Solve Exercise 4-1: strrindex()</title>
<updated>2013-05-05T05:54:37Z</updated>
<author>
<name>zlg</name>
<email>zlg@zlg.space</email>
</author>
<published>2013-05-05T05:54:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zlg.space/knr/commit/?id=e6819292b0d0a45a5d3f74af9ef320e544f42c82'/>
<id>urn:sha1:e6819292b0d0a45a5d3f74af9ef320e544f42c82</id>
<content type='text'>
</content>
</entry>
</feed>
er-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-10-18 18:14:52 -0700'>2018-10-18</span></td><td class='logsubject'><a href='/vgstash/commit/tests/test_vgstash_cli.py?h=v0.3b6&amp;id=09e2c47970a02be5a7e79a67b335f274f4c2c866&amp;follow=1'>cli: Tell the user when a game lacks notes</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+15</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-10-18 16:36:39 -0700'>2018-10-18</span></td><td class='logsubject'><a href='/vgstash/commit/tests/test_vgstash_cli.py?h=v0.3b6&amp;id=3ec2a2902caaf3e70deea650425339299af5d821&amp;follow=1'>Catch when an invalid list filter is passed</a></td><td>zlg</td><td>4</td><td><span class='deletions'>-3</span>/<span class='insertions'>+24</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Before, vgstash.DB.list_games() would default to 'allgames' and silently
hide it when a filter wasn't found. This commit ensures that the vgstash
package and CLI both indicate when an invalid filter is passed to them:

* vgstash.DB.list_games() will return False on a failure to match;
* vgstash_cli uses Click's Choice object to enforce the constraint


</td></tr>
<tr class='logheader'><td><span title='2018-10-12 17:50:53 -0700'>2018-10-12</span></td><td class='logsubject'><a href='/vgstash/commit/tests/test_vgstash_cli.py?h=v0.3b6&amp;id=c7d09704fb911d59139aff5ad0ab4c35a2ed9493&amp;follow=1'>cli: Add zero-game import/export messages</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-11</span>/<span class='insertions'>+18</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-10-10 21:31:02 -0700'>2018-10-10</span></td><td class='logsubject'><a href='/vgstash/commit/setup.py?h=v0.3b6&amp;id=8f72ad7e25595530035b504ecab86fbc98c8ee42&amp;follow=1'>Bump to 0.3beta1 for PyPI</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-10-10 21:29:08 -0700'>2018-10-10</span></td><td class='logsubject'><a href='/vgstash/commit/tox.ini?h=v0.3b6&amp;id=8775fcd12876f3acc5f9b919afe1cf3be238a186&amp;follow=1'>Move tests and data to dedicated directory</a></td><td>zlg</td><td>7</td><td><span class='deletions'>-10</span>/<span class='insertions'>+26</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Also tweaked the export command to report correctly.


</td></tr>
<tr class='logheader'><td><span title='2018-10-10 20:49:02 -0700'>2018-10-10</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=411e47351c996aa1d1f19dc10366ee824d091b40&amp;follow=1'>cli: Add "export" command</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-5</span>/<span class='insertions'>+54</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
The export command is like the import command; currently supporting YAML
output, but ready to be expanded as needed.


</td></tr>
<tr class='logheader'><td><span title='2018-10-10 19:44:18 -0700'>2018-10-10</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=669aed9ec7261c49c49ed26c31f218e42faa491a&amp;follow=1'>cli: Add "import" command</a></td><td>zlg</td><td>5</td><td><span class='deletions'>-1</span>/<span class='insertions'>+76</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Currently the import command will only accept YAML files, but is ready
for expansion to other formats as needed.


</td></tr>
<tr class='logheader'><td><span title='2018-10-09 23:43:36 -0700'>2018-10-09</span></td><td class='logsubject'><a href='/vgstash/commit/setup.py?h=v0.3b6&amp;id=56afecfa2831ed492f35e43de6ace1f0355c4c16&amp;follow=1'>Bump to 0.3alpha6 for PyPI</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-10-09 23:32:23 -0700'>2018-10-09</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=2fad4b705166d8bd8cd9783c16856d07c470d3e0&amp;follow=1'>cli: Add "notes" command</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+74</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
The "notes" command will show the user what their notes for a particular
game are. The output can be piped anywhere the user wants, such as a
pager or a file.

If "notes" is passed with the "--edit" or "-e" flag, vgstash will open a
temporary file with the game's notes already inside and edit it using
the program pointed to by the EDITOR environment variable. When the
editor is closed (with a successful exit status), vgstash updates the
game's notes and exits.

The defaults for the testing environment ("cat" for non-interactive,
"vim" for interactive) may need tweaking on other operating systems.
Patches for these platforms are very welcome.


</td></tr>
<tr class='logheader'><td><span title='2018-10-09 23:30:29 -0700'>2018-10-09</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash/__init__.py?h=v0.3b6&amp;id=bf567438a9720c18f7e0045f4b198cf143fa7053&amp;follow=1'>update_game: ensure notes are also saved</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-10-09 04:33:52 -0700'>2018-10-09</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=ac3e84c9438ef964a08f2acf40ab58fe1c04675e&amp;follow=1'>cli: add 'update' command</a></td><td>zlg</td><td>3</td><td><span class='deletions'>-20</span>/<span class='insertions'>+92</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Two helper functions were also added to the vgstash package to ease
client workflows.

This commit marks the final core function necessary to manipulate a
vgstash DB on the command line.


</td></tr>
<tr class='logheader'><td><span title='2018-10-06 22:28:40 -0700'>2018-10-06</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=9da20483b8aa26a3090093212d007e6dc756b2d2&amp;follow=1'>cli: Add "delete" command</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-0</span>/<span class='insertions'>+19</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Unlike the old version of vgstash, the new one does not accept row IDs
as arguments for removal. Instead, it accepts two mandatory arguments:
the title of the game, and the system it's on. This is in line with the
database itself, using the title and system as primary keys.


</td></tr>
<tr class='logheader'><td><span title='2018-10-06 22:26:21 -0700'>2018-10-06</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=e5875bb6b73f91db5a9982e2816de649e9bc4ef6&amp;follow=1'>Remove ID field from DB</a></td><td>zlg</td><td>3</td><td><span class='deletions'>-38</span>/<span class='insertions'>+46</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
The sqlite database already uses a game's title and system as the
primary keys. Row IDs are redundant.


</td></tr>
<tr class='logheader'><td><span title='2018-10-06 22:04:53 -0700'>2018-10-06</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=9de7357d758ab2253061ce7d68fb3942b52ee7a3&amp;follow=1'>cli: change "Status" heading to "Progress"</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-36</span>/<span class='insertions'>+40</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-09-29 23:34:59 -0700'>2018-09-29</span></td><td class='logsubject'><a href='/vgstash/commit/setup.py?h=v0.3b6&amp;id=aef722de5512a4770d91d718194c01bc77844687&amp;follow=1'>Bump to 0.3alpha5 for PyPI</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-09-29 23:34:35 -0700'>2018-09-29</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=7288560c5678991527c7b2c2ed0d7f3979f70c67&amp;follow=1'>cli: Add pretty printing to 'list' command</a></td><td>zlg</td><td>3</td><td><span class='deletions'>-17</span>/<span class='insertions'>+107</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Also add the "--width" option to specify the maximum width of the table.


</td></tr>
<tr class='logheader'><td><span title='2018-09-08 19:31:52 -0700'>2018-09-08</span></td><td class='logsubject'><a href='/vgstash/commit/setup.py?h=v0.3b6&amp;id=5979307c0a0197d20b3c1d92a9c391cd75731042&amp;follow=1'>setup.py: Bump to alpha4 for PyPI</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-09-08 19:15:48 -0700'>2018-09-08</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash_cli.py?h=v0.3b6&amp;id=b2d47d2ca978e2cd62be4cb6fe0471598427b8b7&amp;follow=1'>cli: add '--raw' option to list command</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-9</span>/<span class='insertions'>+45</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Add '--raw' option to the list command, in addition to proper note
expansion. Newline characters in notes are escaped to be friendly to
scripting. This option may be shortened to '-r' at the user's
convenience.

In raw output mode, the information is formatted in plain pipe-delimited
strings, one line per row:

title|system|ownership|progress|notes

ownership and progress are printed in their numeric form, consistent
with the OWNERSHIP and PROGRESS dictionaries in the vgstash package.

An empty notes field will result in a line ending with a pipe and no
whitespace following it.


</td></tr>
<tr class='logheader'><td><span title='2018-09-08 19:07:36 -0700'>2018-09-08</span></td><td class='logsubject'><a href='/vgstash/commit/src/vgstash/__init__.py?h=v0.3b6&amp;id=14162a862e50c35f44370daf1f525b27f3bafc85&amp;follow=1'>Add remaining filters to vgstash package</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+11</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-09-04 23:43:49 -0700'>2018-09-04</span></td><td class='logsubject'><a href='/vgstash/commit/LICENSE?h=v0.3b6&amp;id=eee8ed0c7b4de40f3568bdc08ad4af4837b54341&amp;follow=1'>Update LICENSE to match setup.py</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-80</span>/<span class='insertions'>+67</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Whoops.


</td></tr>
<tr class='logheader'><td><span title='2018-09-03 02:55:21 -0700'>2018-09-03</span></td><td class='logsubject'><a href='/vgstash/commit/vgstash?h=v0.3b6&amp;id=565812a92cd22d41aa6f5f85a6b451386422fb4a&amp;follow=1'>Branch off from master with pytest, tox, click</a></td><td>zlg</td><td>16</td><td><span class='deletions'>-778</span>/<span class='insertions'>+779</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
This commit is huge, but contains everything needed for a "proper" build
system built on pytest + tox and a CLI built with click.

For now, this branch will contain all new vgstash development activity
until it reaches feature parity with master.

The CLI is installed to pip's PATH. Only the 'init', 'add', and 'list'
commands work, with only two filters. This is pre-alpha software, and is
therefore not stable yet.


</td></tr>
<tr class='logheader'><td><span title='2018-03-18 21:48:41 -0700'>2018-03-18</span></td><td class='logsubject'><a href='/vgstash/commit/vgstash?h=v0.3b6&amp;id=9ec059873772b201ff8fc3b124f6d2b942493e84&amp;follow=1'>Flesh out filter types and ownership status</a></td><td>zlg</td><td>3</td><td><span class='deletions'>-82</span>/<span class='insertions'>+144</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
It's time for a refactor to a module; the functionality and interface
are clashing.


</td></tr>
<tr class='logheader'><td><span title='2018-03-18 17:53:47 -0700'>2018-03-18</span></td><td class='logsubject'><a href='/vgstash/commit/README.mdown?h=v0.3b6&amp;id=7171b4b21a773fd3013f0e465e8eb69e8c220128&amp;follow=1'>README.mdown: break line correctly</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-03-18 17:50:07 -0700'>2018-03-18</span></td><td class='logsubject'><a href='/vgstash/commit/vgstash?h=v0.3b6&amp;id=7686f310447e56518d3959c0aa7d62a69c3fb789&amp;follow=1'>add 'playlog' list filter</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-2</span>/<span class='insertions'>+9</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
This filter is used to get an idea of which games you're currently
playing through, so you can prioritize games to play when you're bored
and detect it when you've beaten a game but haven't marked it as such.


</td></tr>
<tr class='logheader'><td><span title='2018-03-13 13:21:18 -0700'>2018-03-13</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/helpers.sh?h=v0.3b6&amp;id=baecc58c1a1d246bbe032fcd0ca22106082d5db5&amp;follow=1'>Update helpers a bit</a></td><td>zlg</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+9</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
At present, user modification is needed to make these seamless. vgup()
may need to be axed in favor of telling the user to make an alias.


</td></tr>
<tr class='logheader'><td><span title='2018-03-13 13:16:41 -0700'>2018-03-13</span></td><td class='logsubject'><a href='/vgstash/commit/vgstash?h=v0.3b6&amp;id=acd531782fc521c6af2c38154b05a36306b92093&amp;follow=1'>Make VGSTASH_DB_LOCATION point to a file</a></td><td>zlg</td><td>2</td><td><span class='deletions'>-21</span>/<span class='insertions'>+20</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
It used to point to a directory, which would then look for .vgstash.db.
This behavior was kind of backwards and I don't remember why I did it
that way. This change gives users more control over where they put their
DB.

Be sure to update your environment variable if you have it set!


</td></tr>
<tr class='logheader'><td><span title='2016-11-18 02:03:23 -0800'>2016-11-18</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/helpers.sh?h=v0.3b6&amp;id=e5abc98d05231cfb0c1a99248050773b23019860&amp;follow=1'>Remove settings from helpers.sh</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-5</span>/<span class='insertions'>+0</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Sourcing them in .bash_profile screws up login if they're set.


</td></tr>
<tr class='logheader'><td><span title='2016-11-15 06:09:09 -0800'>2016-11-15</span></td><td class='logsubject'><a href='/vgstash/commit/README.mdown?h=v0.3b6&amp;id=8296b242f281eae5f2aff8cd9e223bdc66edf168&amp;follow=1'>Correct phrasing in README.</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2016-11-13 22:48:27 -0800'>2016-11-13</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/system-search.sh?h=v0.3b6&amp;id=a90ed3b7086677c04bc4c42fb867d75e1dfd64d6&amp;follow=1'>Derp</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2016-11-03 07:02:05 -0700'>2016-11-03</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/updater.sh?h=v0.3b6&amp;id=017536123a5d334759ed54aff610b22a8d6c8254&amp;follow=1'>Improve error handling in shell scripts</a></td><td>Ze Libertine Gamer</td><td>4</td><td><span class='deletions'>-3</span>/<span class='insertions'>+23</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2016-10-24 07:07:11 -0700'>2016-10-24</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/updater.sh?h=v0.3b6&amp;id=7f735dbe7544bf2837b1fa5fac38d3f001a8bb99&amp;follow=1'>Correct run_again, add recursion</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+4</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Loops and functions -- oh my, what a useful combination. :)


</td></tr>
<tr class='logheader'><td><span title='2016-10-21 03:17:35 -0700'>2016-10-21</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/updater.sh?h=v0.3b6&amp;id=1e6ce821f04beb4944327d13f506449015ebd4a4&amp;follow=1'>Add quotes to correct behavior for arglist</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2016-10-14 05:02:55 -0700'>2016-10-14</span></td><td class='logsubject'><a href='/vgstash/commit/scripts/updater.sh?h=v0.3b6&amp;id=7381b374e7508ece3584975f912032b8641d7ef0&amp;follow=1'>updater.sh: add recursion, error handling</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-43</span>/<span class='insertions'>+101</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2016-10-14 05:01:25 -0700'>2016-10-14</span></td><td class='logsubject'><a href='/vgstash/commit/vgstash?h=v0.3b6&amp;id=5907704f1a969052b7adf6e955cc17f0684b378b&amp;follow=1'>Correct pipe-handling behavior</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+9</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2016-10-12 02:51:22 -0700'>2016-10-12</span></td><td class='logsubject'><a href='/vgstash/commit/README.mdown?h=v0.3b6&amp;id=a0dc30263d6a8effa747d4e9a7430420f901cc2f&amp;follow=1'>Clarify a method to move between platforms</a></td><td>Ze Libertine Gamer</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+5</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Also correct a typo.


</td></tr>
