Commit Graph

12 Commits

Author SHA1 Message Date
csoler
6cf2090149
relicensed tcponudp, turtle, unused, upnp, and part of util/ 2018-05-30 21:19:13 +02:00
csoler
ba78007cf1 added parameter to disallow hashing files which time is in the future (as they severely perturbate the synchronisation process) 2016-11-16 21:49:27 +01:00
csoler
6272856b5e added param to folderIterator to skip/follow symbolic links 2016-11-16 21:41:32 +01:00
cyril soler
d433713bd0 fixed possible uninitialised memory read in folderiterator for windows, and changed file folderiterator.cc to unix format 2016-11-14 14:10:49 +01:00
csoler
957d48b5fc removed folderIterator::d_name() because it duplicates file_name() 2016-10-09 21:43:31 +02:00
mr-alice
e03bd6cbac fixed bug causing call to closedir on invalid handle 2016-09-24 13:56:02 +02:00
mr-alice
d3b46221ff merged modifications from origin 2016-09-15 21:45:00 +02:00
mr-alice
25c824fd5f added iterators for directory storage class 2016-07-24 23:48:22 -04:00
mr-alice
3e48b0fd95 improved FolderIterator class 2016-07-23 22:14:43 -04:00
thunder2
78edc7687e Fixed compile of libretroshare on Windows. The corrected pro files are not included.
Moved the includes of rswin.h from the header files to the c files.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5655 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-10-09 23:07:51 +00:00
leander-256
913789b972 This is a patch for the previous patch *facepalms*
I got confused somehow between the different versions of my modifications and Linux/Windows, anyway it should work now.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-16 23:59:39 +00:00
leander-256
b30056e17f This patch allows Windows users to share files and folders with "exotic" characters.
The problem was that libretroshare handles files in UTF-8 but Windows's ANSI/POSIX C functions automatically assume that the char* parameters are encoded with the system's code page. There is no way to set that code page as UTF-8. So now under Windows the code translates the file name to UTF-16 before feeding it to one of the Unicode functions (they are usually prefixed or suffixed by 'w'). Please note that it is not very efficient.

Furthermore, Windows does not provide a Unicode version of opendir/readdir/closedir, so it was necessary to use FindFirstFileW/FindNextFileW/FindClose which has a different behaviour as well as different structures. The FolderIterator class was created in order to mimic the Unix way of traversing folders contents. Hence the algorithm is unchanged and the systems differences masked.

As it was necessary to use some functions from the Windows API, <windows.h> had to be included in a few files were it didn't appear before, creating macros and #define conflicts. In order to solve them, util/rswin.h must be included first in a file (if necessary). Otherwise the preprocessor will fail on purpose to avoid the code being compiled with different _WIN32_WINNT values.

As another side-effect, rstlvutil.h and rstlvutil.cc have been removed from libretroshare.pro file. They are only used by testing units and include util/utest.h which defines a macro FAILED that already exists in <windows.h>. I don't know if unit tests are still in use and I don't plan on coding often on Windows, so I'll leave that as an exercise (hot potato?) to a motivated fellow Windows programmer.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-16 23:26:45 +00:00