SQLite3 is easy to integrate and use even for a beginner C programmer, and it's public domain, so it could really provide a much simpler and portable access to all user data. It also supports UTF-8 and UTF-16, so it would really be ideal and would probably reduce the code footprint.
An SQLite3 database only allows 1 instance of a program running simultaneously for writes, but measures can be taken for concurrent writes, like locking and timing out from instance threads of a same program. It can also enable journaling so it would be safer in case of frequent crashes.
Due to the fact that eMule is always running, it is very prone to losing data. For example, if eMule isn't closed normally, all performed searches are lost, but if SQLite3 was used, that data would be stored in the user database and it would be available for the next time eMule is used, instead of completely losing that data due to a sudden close. So it would be a solid improvement for eMule, and given that we are at version 0.50b BETA1, it would probably be possible to add SQLite3 for adding those improvements.
The easiest SQLite3 source code format to just #include <sqlite3.h> and is ready to use, is SQLite Amalgamation.
sqlite3 visual studio 2008
This post has been edited by 126: 28 October 2017 - 07:10 PM