<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl, branch thumbnail-entr</title>
<subtitle>Small and lightweight cloud storage written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/slcl/atom?h=thumbnail-entr</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=thumbnail-entr'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2023-07-06T00:45:35+00:00</updated>
<entry>
<title>Rely on make(1)</title>
<updated>2023-07-06T00:45:35+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-06-19T13:23:09+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=2da827c9f8c2f75f58c6e3f2e0d746b752ae2114'/>
<id>urn:sha1:2da827c9f8c2f75f58c6e3f2e0d746b752ae2114</id>
<content type='text'>
</content>
</entry>
<entry>
<title>WIP thumbnail</title>
<updated>2023-07-06T00:45:26+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-06-18T23:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=9cc9d80008ab9398c62e54c4d80794074fa45163'/>
<id>urn:sha1:9cc9d80008ab9398c62e54c4d80794074fa45163</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cftw.c: Check errors from readdir(3)</title>
<updated>2023-07-05T23:56:43+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-07-05T23:56:43+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=74b7f7a902d9916dddb07d6adb26c63e765a6349'/>
<id>urn:sha1:74b7f7a902d9916dddb07d6adb26c63e765a6349</id>
<content type='text'>
According to POSIX.1-2017, applications are advised to assign errno(3)
to 0 before a call to readdir(3), and compare errno(3) after the call to
check for errors.
</content>
</entry>
<entry>
<title>main.c: Use ISO C99-compatible declaration for main</title>
<updated>2023-07-05T22:56:27+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-07-05T22:56:19+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=36ff7d81432308ba430414180c0ab7a41af228ba'/>
<id>urn:sha1:36ff7d81432308ba430414180c0ab7a41af228ba</id>
<content type='text'>
C99 §5.1.2.2.1 only defines the following declarations for main:

- int main(void)
- int main(int argc, char *argv[])

While the use of equivalent types (e.g.: char **argv) is allowed, const
char ** would not be considered equivalent, and thus an invalid
declaration depending on the implementation.
</content>
</entry>
<entry>
<title>server.c: Fix typo</title>
<updated>2023-07-05T22:42:12+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-07-05T22:42:12+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=640210a7f6f527c24924e95c51c5665b3cd76d03'/>
<id>urn:sha1:640210a7f6f527c24924e95c51c5665b3cd76d03</id>
<content type='text'>
</content>
</entry>
<entry>
<title>http.c: Accept resources with '&amp;' or '?'</title>
<updated>2023-07-05T22:19:05+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-07-05T21:34:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=7bd56e69dccec2794a7b568eb254a40f96b900c5'/>
<id>urn:sha1:7bd56e69dccec2794a7b568eb254a40f96b900c5</id>
<content type='text'>
Otherwise, client requests to resources such as '/me &amp; you', '/?' or
'/??preview=1' would fail.
</content>
</entry>
<entry>
<title>server.c: Fix undefined behaviour on &gt;1 clients</title>
<updated>2023-07-03T11:40:12+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-07-03T11:36:46+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=15c905f150927b16bd3d1ffe62d2bc9d92da26c5'/>
<id>urn:sha1:15c905f150927b16bd3d1ffe62d2bc9d92da26c5</id>
<content type='text'>
server.c kept an array of all of its active clients, calling realloc(3)
everytime its size had to be modified. However, reallocating this array
had the undesired consequence of moving other active clients to other
memory locations.

Potentially, this would result in dangling pointers from other
components that also kept pointers to struct server_client instances
e.g.: handler.c.

For this reason, the array-based approach has been completely dropped,
in favour of a doubly-linked list.
</content>
</entry>
<entry>
<title>Implement search</title>
<updated>2023-06-06T01:52:16+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-06-06T01:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=5a6c92d69bbb307ca09ac2ecbad54df4f2394bea'/>
<id>urn:sha1:5a6c92d69bbb307ca09ac2ecbad54df4f2394bea</id>
<content type='text'>
This new feature adds a HTML form on each directory listing that allows
to search files recursively, starting from the current user directory.
Wildcard patterns are also allowed.
</content>
</entry>
<entry>
<title>ctfw.c: Avoid trailing forward slash</title>
<updated>2023-06-06T01:48:51+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-06-06T01:36:45+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=6e9ce3a25b438a94ad870ba85dd8c9bf8a28e043'/>
<id>urn:sha1:6e9ce3a25b438a94ad870ba85dd8c9bf8a28e043</id>
<content type='text'>
Otherwise, this would generate strings such as "directory//resource" if
dirpath contained a trailing slash, which could be problematic for users
relying on ctfw.
</content>
</entry>
<entry>
<title>wildcard_cmp.c: Fix a couple of bugs</title>
<updated>2023-06-06T01:48:51+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2023-06-06T01:35:20+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=6adf1c44adb61a04bf37eb78eb5df5c4302bd768'/>
<id>urn:sha1:6adf1c44adb61a04bf37eb78eb5df5c4302bd768</id>
<content type='text'>
wildcard_cmp would otherwise fail with the following use cases:

s = "mymi", p = "*mi*"
s = "mymi", p = "*mi"
</content>
</entry>
</feed>
