summaryrefslogtreecommitdiff
path: root/modules/fileio/src
diff options
context:
space:
mode:
Diffstat (limited to 'modules/fileio/src')
-rwxr-xr-xmodules/fileio/src/c/.deps/.dirstamp0
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-FileExist.Plo137
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-FindFileExtension.Plo149
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-Status2Mode.Plo55
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-URIFileToFilename.Plo134
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-addfile.Plo63
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-basename.Plo124
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-cluni0.Plo125
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-convert_tools.Plo53
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-copyfile_others.Plo221
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-createdirectory.Plo168
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-createtempfilename.Plo204
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-deleteafile.Plo136
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-delfile.Plo63
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-dlManager.Plo352
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-do_xxscanf.Plo221
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-expandPathVariable.Plo288
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-fileinfo.Plo149
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-filesmanagement.Plo193
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-findfiles.Plo192
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-fprintfMat.Plo212
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-fscanfMat.Plo182
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-fullpath.Plo219
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getFullFilename.Plo133
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getdrives.Plo104
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getfiledesc.Plo64
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getfileinfo.Plo89
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getfiletype.Plo64
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getlongpathname.Plo129
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getrelativefilename.Plo139
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-getshortpathname.Plo133
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-isDrive.Plo72
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-isdir.Plo174
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mclearerr.Plo63
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mclose.Plo206
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-meof.Plo63
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-merror.Plo79
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mget.Plo119
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mgeti.Plo156
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mgetl.Plo168
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mgetstr.Plo141
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mopen.Plo184
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-movefile.Plo57
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mput.Plo125
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mputi.Plo113
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mputl.Plo90
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mputstr.Plo82
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mseek.Plo119
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-mtell.Plo79
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-pathconvert.Plo127
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-readline.Plo165
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-removedir.Plo222
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-scanf_functions.Plo253
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-scicurdir.Plo210
-rwxr-xr-xmodules/fileio/src/c/.deps/libscifileio_algo_la-splitpath.Plo137
-rwxr-xr-xmodules/fileio/src/c/.dirstamp0
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-FileExist.obin0 -> 8008 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-FindFileExtension.obin0 -> 8192 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-Status2Mode.obin0 -> 4776 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-URIFileToFilename.obin0 -> 8304 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-addfile.obin0 -> 8712 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-basename.obin0 -> 6992 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-cluni0.obin0 -> 6472 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-convert_tools.obin0 -> 17760 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-copyfile_others.obin0 -> 28640 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-createdirectory.obin0 -> 6744 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-createtempfilename.obin0 -> 10496 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-deleteafile.obin0 -> 8984 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-delfile.obin0 -> 7128 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-dlManager.obin0 -> 61408 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-do_xxscanf.obin0 -> 23576 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-expandPathVariable.obin0 -> 17104 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-fileinfo.obin0 -> 14576 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-filesmanagement.obin0 -> 34472 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-findfiles.obin0 -> 13072 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-fprintfMat.obin0 -> 20704 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-fscanfMat.obin0 -> 50248 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-fullpath.obin0 -> 22624 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getFullFilename.obin0 -> 13912 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getdrives.obin0 -> 4904 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getfiledesc.obin0 -> 6472 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getfileinfo.obin0 -> 9472 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getfiletype.obin0 -> 6848 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getlongpathname.obin0 -> 7944 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getrelativefilename.obin0 -> 11160 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-getshortpathname.obin0 -> 7488 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-isDrive.obin0 -> 3688 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-isdir.obin0 -> 7520 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mclearerr.obin0 -> 6264 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mclose.obin0 -> 11200 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-meof.obin0 -> 6616 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-merror.obin0 -> 6392 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mget.obin0 -> 86960 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mgeti.obin0 -> 15736 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mgetl.obin0 -> 21760 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mgetstr.obin0 -> 8584 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mopen.obin0 -> 11936 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-movefile.obin0 -> 5872 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mput.obin0 -> 63392 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mputi.obin0 -> 14408 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mputl.obin0 -> 9136 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mputstr.obin0 -> 9848 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mseek.obin0 -> 10720 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-mtell.obin0 -> 8704 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-pathconvert.obin0 -> 22712 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-readline.obin0 -> 13216 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-removedir.obin0 -> 16000 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-scanf_functions.obin0 -> 28264 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-scicurdir.obin0 -> 10544 bytes
-rwxr-xr-xmodules/fileio/src/c/.libs/libscifileio_algo_la-splitpath.obin0 -> 21888 bytes
-rwxr-xr-xmodules/fileio/src/c/DllmainFileio.c37
-rwxr-xr-xmodules/fileio/src/c/FileExist.c82
-rwxr-xr-xmodules/fileio/src/c/FindFileExtension.c64
-rwxr-xr-xmodules/fileio/src/c/Status2Mode.c50
-rwxr-xr-xmodules/fileio/src/c/Status2Mode.h24
-rwxr-xr-xmodules/fileio/src/c/URIFileToFilename.c65
-rwxr-xr-xmodules/fileio/src/c/addfile.c52
-rwxr-xr-xmodules/fileio/src/c/basename.c60
-rwxr-xr-xmodules/fileio/src/c/basename.h27
-rwxr-xr-xmodules/fileio/src/c/cluni0.c41
-rwxr-xr-xmodules/fileio/src/c/convert_tools.c183
-rwxr-xr-xmodules/fileio/src/c/convert_tools.h47
-rwxr-xr-xmodules/fileio/src/c/copyfile.h36
-rwxr-xr-xmodules/fileio/src/c/copyfile_others.c313
-rwxr-xr-xmodules/fileio/src/c/copyfile_windows.c151
-rwxr-xr-xmodules/fileio/src/c/createdirectory.c108
-rwxr-xr-xmodules/fileio/src/c/createtempfilename.c115
-rwxr-xr-xmodules/fileio/src/c/deleteafile.c88
-rwxr-xr-xmodules/fileio/src/c/delfile.c32
-rwxr-xr-xmodules/fileio/src/c/dlManager.c435
-rwxr-xr-xmodules/fileio/src/c/dlManager.h29
-rwxr-xr-xmodules/fileio/src/c/do_xxscanf.c404
-rwxr-xr-xmodules/fileio/src/c/do_xxscanf.h45
-rwxr-xr-xmodules/fileio/src/c/expandPathVariable.c203
-rwxr-xr-xmodules/fileio/src/c/fileinfo.c267
-rwxr-xr-xmodules/fileio/src/c/fileinfo.h24
-rwxr-xr-xmodules/fileio/src/c/fileio.rc97
-rwxr-xr-xmodules/fileio/src/c/filesmanagement.c520
-rwxr-xr-xmodules/fileio/src/c/findfiles.c198
-rwxr-xr-xmodules/fileio/src/c/fprintfMat.c260
-rwxr-xr-xmodules/fileio/src/c/fprintfMat.h33
-rwxr-xr-xmodules/fileio/src/c/fscanfMat.c819
-rwxr-xr-xmodules/fileio/src/c/fscanfMat.h51
-rwxr-xr-xmodules/fileio/src/c/fullpath.c292
-rwxr-xr-xmodules/fileio/src/c/getFullFilename.c141
-rwxr-xr-xmodules/fileio/src/c/getdrives.c61
-rwxr-xr-xmodules/fileio/src/c/getdrives.h23
-rwxr-xr-xmodules/fileio/src/c/getfiledesc.c30
-rwxr-xr-xmodules/fileio/src/c/getfileinfo.c48
-rwxr-xr-xmodules/fileio/src/c/getfiletype.c32
-rwxr-xr-xmodules/fileio/src/c/getlongpathname.c104
-rwxr-xr-xmodules/fileio/src/c/getlongpathname.h41
-rwxr-xr-xmodules/fileio/src/c/getrelativefilename.c168
-rwxr-xr-xmodules/fileio/src/c/getrelativefilename.h39
-rwxr-xr-xmodules/fileio/src/c/getshortpathname.c117
-rwxr-xr-xmodules/fileio/src/c/isDrive.c71
-rwxr-xr-xmodules/fileio/src/c/isDrive.h38
-rwxr-xr-xmodules/fileio/src/c/isdir.c94
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-FileExist.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-FindFileExtension.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-Status2Mode.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-URIFileToFilename.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-addfile.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-basename.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-cluni0.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-convert_tools.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-copyfile_others.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-createdirectory.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-createtempfilename.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-deleteafile.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-delfile.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-dlManager.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-do_xxscanf.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-expandPathVariable.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-fileinfo.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-filesmanagement.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-findfiles.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-fprintfMat.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-fscanfMat.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-fullpath.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getFullFilename.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getdrives.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getfiledesc.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getfileinfo.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getfiletype.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getlongpathname.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getrelativefilename.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-getshortpathname.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-isDrive.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-isdir.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mclearerr.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mclose.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-meof.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-merror.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mget.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mgeti.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mgetl.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mgetstr.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mopen.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-movefile.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mput.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mputi.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mputl.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mputstr.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mseek.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-mtell.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-pathconvert.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-readline.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-removedir.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-scanf_functions.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-scicurdir.lo12
-rwxr-xr-xmodules/fileio/src/c/libscifileio_algo_la-splitpath.lo12
-rwxr-xr-xmodules/fileio/src/c/mclearerr.c26
-rwxr-xr-xmodules/fileio/src/c/mclearerr.h25
-rwxr-xr-xmodules/fileio/src/c/mclose.c95
-rwxr-xr-xmodules/fileio/src/c/meof.c23
-rwxr-xr-xmodules/fileio/src/c/meof.h27
-rwxr-xr-xmodules/fileio/src/c/merror.c33
-rwxr-xr-xmodules/fileio/src/c/merror.h27
-rwxr-xr-xmodules/fileio/src/c/mget.c275
-rwxr-xr-xmodules/fileio/src/c/mgeti.c180
-rwxr-xr-xmodules/fileio/src/c/mgeti.h41
-rwxr-xr-xmodules/fileio/src/c/mgetl.c387
-rwxr-xr-xmodules/fileio/src/c/mgetstr.c40
-rwxr-xr-xmodules/fileio/src/c/mgetstr.h29
-rwxr-xr-xmodules/fileio/src/c/mopen.c132
-rwxr-xr-xmodules/fileio/src/c/movefile.c62
-rwxr-xr-xmodules/fileio/src/c/movefile.h36
-rwxr-xr-xmodules/fileio/src/c/mput.c283
-rwxr-xr-xmodules/fileio/src/c/mputi.c144
-rwxr-xr-xmodules/fileio/src/c/mputi.h33
-rwxr-xr-xmodules/fileio/src/c/mputl.c72
-rwxr-xr-xmodules/fileio/src/c/mputl.h41
-rwxr-xr-xmodules/fileio/src/c/mputstr.c43
-rwxr-xr-xmodules/fileio/src/c/mputstr.h25
-rwxr-xr-xmodules/fileio/src/c/mseek.c105
-rwxr-xr-xmodules/fileio/src/c/mtell.c49
-rwxr-xr-xmodules/fileio/src/c/pathconvert.c266
-rwxr-xr-xmodules/fileio/src/c/pathconvert.h32
-rwxr-xr-xmodules/fileio/src/c/readline.c117
-rwxr-xr-xmodules/fileio/src/c/removedir.c301
-rwxr-xr-xmodules/fileio/src/c/scanf_functions.c371
-rwxr-xr-xmodules/fileio/src/c/scanf_functions.h50
-rwxr-xr-xmodules/fileio/src/c/scicurdir.c187
-rwxr-xr-xmodules/fileio/src/c/sendtorecyclebin.c57
-rwxr-xr-xmodules/fileio/src/c/splitpath.c235
246 files changed, 18455 insertions, 0 deletions
diff --git a/modules/fileio/src/c/.deps/.dirstamp b/modules/fileio/src/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/fileio/src/c/.deps/.dirstamp
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-FileExist.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-FileExist.Plo
new file mode 100755
index 000000000..d0860b134
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-FileExist.Plo
@@ -0,0 +1,137 @@
+src/c/libscifileio_algo_la-FileExist.lo: src/c/FileExist.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/FileExist.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/FileExist.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-FindFileExtension.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-FindFileExtension.Plo
new file mode 100755
index 000000000..36777e1b2
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-FindFileExtension.Plo
@@ -0,0 +1,149 @@
+src/c/libscifileio_algo_la-FindFileExtension.lo: \
+ src/c/FindFileExtension.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/FindFileExtension.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/FindFileExtension.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-Status2Mode.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-Status2Mode.Plo
new file mode 100755
index 000000000..a846dd97a
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-Status2Mode.Plo
@@ -0,0 +1,55 @@
+src/c/libscifileio_algo_la-Status2Mode.lo: src/c/Status2Mode.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/Status2Mode.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/Status2Mode.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-URIFileToFilename.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-URIFileToFilename.Plo
new file mode 100755
index 000000000..dcb43af3d
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-URIFileToFilename.Plo
@@ -0,0 +1,134 @@
+src/c/libscifileio_algo_la-URIFileToFilename.lo: \
+ src/c/URIFileToFilename.c /usr/include/stdc-predef.h \
+ /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/URIFileToFilename.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/URIFileToFilename.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-addfile.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-addfile.Plo
new file mode 100755
index 000000000..286141b8d
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-addfile.Plo
@@ -0,0 +1,63 @@
+src/c/libscifileio_algo_la-addfile.lo: src/c/addfile.c \
+ /usr/include/stdc-predef.h includes/addfile.h /usr/include/stdio.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/addfile.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-basename.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-basename.Plo
new file mode 100755
index 000000000..2fc466b92
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-basename.Plo
@@ -0,0 +1,124 @@
+src/c/libscifileio_algo_la-basename.lo: src/c/basename.c \
+ /usr/include/stdc-predef.h src/c/basename.h /usr/include/wchar.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ includes/expandPathVariable.h includes/dynlib_fileio.h \
+ includes/splitpath.h ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+src/c/basename.h:
+
+/usr/include/wchar.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/expandPathVariable.h:
+
+includes/dynlib_fileio.h:
+
+includes/splitpath.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-cluni0.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-cluni0.Plo
new file mode 100755
index 000000000..245bfe211
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-cluni0.Plo
@@ -0,0 +1,125 @@
+src/c/libscifileio_algo_la-cluni0.lo: src/c/cluni0.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/cluni0.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/expandPathVariable.h /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/cluni0.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/expandPathVariable.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-convert_tools.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-convert_tools.Plo
new file mode 100755
index 000000000..9ef614186
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-convert_tools.Plo
@@ -0,0 +1,53 @@
+src/c/libscifileio_algo_la-convert_tools.lo: src/c/convert_tools.c \
+ /usr/include/stdc-predef.h src/c/convert_tools.h /usr/include/stdio.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h
+
+/usr/include/stdc-predef.h:
+
+src/c/convert_tools.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-copyfile_others.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-copyfile_others.Plo
new file mode 100755
index 000000000..290842e12
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-copyfile_others.Plo
@@ -0,0 +1,221 @@
+src/c/libscifileio_algo_la-copyfile_others.lo: src/c/copyfile_others.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/utime.h \
+ /usr/include/xlocale.h /usr/include/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl2.h /usr/include/unistd.h \
+ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h /usr/include/errno.h \
+ /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/x86_64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/copyfile.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/localization/includes/charEncoding.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/isdir.h \
+ includes/dynlib_fileio.h includes/FileExist.h includes/createdirectory.h \
+ ../../modules/core/includes/PATH_MAX.h includes/fullpath.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/utime.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+/usr/include/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/errno.h:
+
+/usr/include/x86_64-linux-gnu/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/x86_64-linux-gnu/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/copyfile.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/isdir.h:
+
+includes/dynlib_fileio.h:
+
+includes/FileExist.h:
+
+includes/createdirectory.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+includes/fullpath.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-createdirectory.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-createdirectory.Plo
new file mode 100755
index 000000000..a310e2044
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-createdirectory.Plo
@@ -0,0 +1,168 @@
+src/c/libscifileio_algo_la-createdirectory.lo: src/c/createdirectory.c \
+ /usr/include/stdc-predef.h /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl2.h /usr/include/unistd.h \
+ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ ../../modules/localization/includes/charEncoding.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h includes/createdirectory.h \
+ includes/dynlib_fileio.h includes/isdir.h includes/splitpath.h \
+ includes/scicurdir.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+/usr/include/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/createdirectory.h:
+
+includes/dynlib_fileio.h:
+
+includes/isdir.h:
+
+includes/splitpath.h:
+
+includes/scicurdir.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-createtempfilename.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-createtempfilename.Plo
new file mode 100755
index 000000000..5c40d8904
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-createtempfilename.Plo
@@ -0,0 +1,204 @@
+src/c/libscifileio_algo_la-createtempfilename.lo: \
+ src/c/createtempfilename.c /usr/include/stdc-predef.h \
+ /usr/include/unistd.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ includes/createtempfilename.h includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/tmpdir.h \
+ ../../modules/core/includes/machine.h includes/splitpath.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ includes/getshortpathname.h includes/FileExist.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/unistd.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/createtempfilename.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/tmpdir.h:
+
+../../modules/core/includes/machine.h:
+
+includes/splitpath.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+includes/getshortpathname.h:
+
+includes/FileExist.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-deleteafile.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-deleteafile.Plo
new file mode 100755
index 000000000..e2b11bc49
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-deleteafile.Plo
@@ -0,0 +1,136 @@
+src/c/libscifileio_algo_la-deleteafile.lo: src/c/deleteafile.c \
+ /usr/include/stdc-predef.h includes/deleteafile.h /usr/include/wchar.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h includes/dynlib_fileio.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/localization/includes/charEncoding.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h
+
+/usr/include/stdc-predef.h:
+
+includes/deleteafile.h:
+
+/usr/include/wchar.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/dynlib_fileio.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-delfile.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-delfile.Plo
new file mode 100755
index 000000000..48d7956bc
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-delfile.Plo
@@ -0,0 +1,63 @@
+src/c/libscifileio_algo_la-delfile.lo: src/c/delfile.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/delfile.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/filesmanagement.h ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/delfile.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-dlManager.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-dlManager.Plo
new file mode 100755
index 000000000..cc3155497
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-dlManager.Plo
@@ -0,0 +1,352 @@
+src/c/libscifileio_algo_la-dlManager.lo: src/c/dlManager.c \
+ /usr/include/stdc-predef.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/curl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/curlver.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/curlbuild.h \
+ /usr/include/x86_64-linux-gnu/sys/socket.h \
+ /usr/include/x86_64-linux-gnu/sys/uio.h \
+ /usr/include/x86_64-linux-gnu/bits/uio.h \
+ /usr/include/x86_64-linux-gnu/bits/socket.h \
+ /usr/include/x86_64-linux-gnu/bits/socket_type.h \
+ /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
+ /usr/include/x86_64-linux-gnu/asm/socket.h \
+ /usr/include/asm-generic/socket.h \
+ /usr/include/x86_64-linux-gnu/asm/sockios.h \
+ /usr/include/asm-generic/sockios.h \
+ /usr/include/x86_64-linux-gnu/bits/socket2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/curlrules.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/sys/time.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/easy.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/multi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/curl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/curl/typecheck-gcc.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/uri.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/dlManager.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/SCIHOME.h ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/PATH_MAX.h includes/isdir.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/core/includes/getos.h includes/scicurdir.h \
+ includes/splitpath.h \
+ ../../modules/preferences/includes/getScilabPreference.h \
+ ../../modules/preferences/includes/dynlib_preferences_scilab.h \
+ ../../modules/string/includes/stricmp.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/curl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/curlver.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/curlbuild.h:
+
+/usr/include/x86_64-linux-gnu/sys/socket.h:
+
+/usr/include/x86_64-linux-gnu/sys/uio.h:
+
+/usr/include/x86_64-linux-gnu/bits/uio.h:
+
+/usr/include/x86_64-linux-gnu/bits/socket.h:
+
+/usr/include/x86_64-linux-gnu/bits/socket_type.h:
+
+/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
+
+/usr/include/x86_64-linux-gnu/asm/socket.h:
+
+/usr/include/asm-generic/socket.h:
+
+/usr/include/x86_64-linux-gnu/asm/sockios.h:
+
+/usr/include/asm-generic/sockios.h:
+
+/usr/include/x86_64-linux-gnu/bits/socket2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/curlrules.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/sys/time.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/easy.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/multi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/curl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/curl/typecheck-gcc.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/uri.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/dlManager.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/SCIHOME.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+includes/isdir.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/core/includes/getos.h:
+
+includes/scicurdir.h:
+
+includes/splitpath.h:
+
+../../modules/preferences/includes/getScilabPreference.h:
+
+../../modules/preferences/includes/dynlib_preferences_scilab.h:
+
+../../modules/string/includes/stricmp.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-do_xxscanf.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-do_xxscanf.Plo
new file mode 100755
index 000000000..60a1e3874
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-do_xxscanf.Plo
@@ -0,0 +1,221 @@
+src/c/libscifileio_algo_la-do_xxscanf.lo: src/c/do_xxscanf.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h src/c/do_xxscanf.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/do_xxprintf.h \
+ ../../modules/output_stream/includes/dynlib_output_stream.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+src/c/do_xxscanf.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/do_xxprintf.h:
+
+../../modules/output_stream/includes/dynlib_output_stream.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-expandPathVariable.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-expandPathVariable.Plo
new file mode 100755
index 000000000..17578267c
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-expandPathVariable.Plo
@@ -0,0 +1,288 @@
+src/c/libscifileio_algo_la-expandPathVariable.lo: \
+ src/c/expandPathVariable.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/sci_types.h includes/expandPathVariable.h \
+ /usr/include/wchar.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h src/c/getlongpathname.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/expandPathVariable.h:
+
+/usr/include/wchar.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+src/c/getlongpathname.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-fileinfo.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-fileinfo.Plo
new file mode 100755
index 000000000..babfbf231
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-fileinfo.Plo
@@ -0,0 +1,149 @@
+src/c/libscifileio_algo_la-fileinfo.lo: src/c/fileinfo.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/PATH_MAX.h src/c/fileinfo.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/returnanan.h \
+ ../../modules/core/includes/machine.h includes/expandPathVariable.h \
+ includes/dynlib_fileio.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+src/c/fileinfo.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/returnanan.h:
+
+../../modules/core/includes/machine.h:
+
+includes/expandPathVariable.h:
+
+includes/dynlib_fileio.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-filesmanagement.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-filesmanagement.Plo
new file mode 100755
index 000000000..8dc22bfea
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-filesmanagement.Plo
@@ -0,0 +1,193 @@
+src/c/libscifileio_algo_la-filesmanagement.lo: src/c/filesmanagement.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/PATH_MAX.h includes/filesmanagement.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h includes/fullpath.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+includes/filesmanagement.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+includes/fullpath.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-findfiles.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-findfiles.Plo
new file mode 100755
index 000000000..7e8c78bfc
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-findfiles.Plo
@@ -0,0 +1,192 @@
+src/c/libscifileio_algo_la-findfiles.lo: src/c/findfiles.c \
+ /usr/include/stdc-predef.h /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h /usr/include/errno.h \
+ /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/x86_64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/findfiles.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/errno.h:
+
+/usr/include/x86_64-linux-gnu/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/x86_64-linux-gnu/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/findfiles.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-fprintfMat.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-fprintfMat.Plo
new file mode 100755
index 000000000..a49eb01e3
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-fprintfMat.Plo
@@ -0,0 +1,212 @@
+src/c/libscifileio_algo_la-fprintfMat.lo: src/c/fprintfMat.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/fprintfMat.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/string/includes/strsubst.h \
+ ../../modules/string/includes/dynlib_string.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/fprintfMat.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/string/includes/strsubst.h:
+
+../../modules/string/includes/dynlib_string.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-fscanfMat.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-fscanfMat.Plo
new file mode 100755
index 000000000..131c67050
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-fscanfMat.Plo
@@ -0,0 +1,182 @@
+src/c/libscifileio_algo_la-fscanfMat.lo: src/c/fscanfMat.c \
+ /usr/include/stdc-predef.h /usr/include/ctype.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/fscanfMat.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/freeArrayOfString.h \
+ ../../modules/core/includes/BOOL.h includes/mgetl.h \
+ includes/dynlib_fileio.h includes/mopen.h includes/mclose.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/ctype.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/fscanfMat.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/mgetl.h:
+
+includes/dynlib_fileio.h:
+
+includes/mopen.h:
+
+includes/mclose.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-fullpath.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-fullpath.Plo
new file mode 100755
index 000000000..293f31e4a
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-fullpath.Plo
@@ -0,0 +1,219 @@
+src/c/libscifileio_algo_la-fullpath.lo: src/c/fullpath.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/sys/param.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/signal.h \
+ /usr/include/x86_64-linux-gnu/bits/signum.h \
+ /usr/include/x86_64-linux-gnu/bits/siginfo.h \
+ /usr/include/x86_64-linux-gnu/bits/sigaction.h \
+ /usr/include/x86_64-linux-gnu/bits/sigcontext.h \
+ /usr/include/x86_64-linux-gnu/bits/sigstack.h \
+ /usr/include/x86_64-linux-gnu/sys/ucontext.h \
+ /usr/include/x86_64-linux-gnu/bits/sigthread.h \
+ /usr/include/x86_64-linux-gnu/bits/param.h /usr/include/linux/param.h \
+ /usr/include/x86_64-linux-gnu/asm/param.h \
+ /usr/include/asm-generic/param.h includes/fullpath.h \
+ includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ ../../modules/string/includes/strsubst.h \
+ ../../modules/string/includes/dynlib_string.h includes/scicurdir.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/sys/param.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/signal.h:
+
+/usr/include/x86_64-linux-gnu/bits/signum.h:
+
+/usr/include/x86_64-linux-gnu/bits/siginfo.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigaction.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigcontext.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigstack.h:
+
+/usr/include/x86_64-linux-gnu/sys/ucontext.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigthread.h:
+
+/usr/include/x86_64-linux-gnu/bits/param.h:
+
+/usr/include/linux/param.h:
+
+/usr/include/x86_64-linux-gnu/asm/param.h:
+
+/usr/include/asm-generic/param.h:
+
+includes/fullpath.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+../../modules/string/includes/strsubst.h:
+
+../../modules/string/includes/dynlib_string.h:
+
+includes/scicurdir.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getFullFilename.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getFullFilename.Plo
new file mode 100755
index 000000000..9fbbf12a2
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getFullFilename.Plo
@@ -0,0 +1,133 @@
+src/c/libscifileio_algo_la-getFullFilename.lo: src/c/getFullFilename.c \
+ /usr/include/stdc-predef.h includes/getFullFilename.h \
+ /usr/include/wchar.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h includes/splitpath.h \
+ ../../modules/core/includes/PATH_MAX.h includes/scicurdir.h \
+ includes/isdir.h includes/fullpath.h
+
+/usr/include/stdc-predef.h:
+
+includes/getFullFilename.h:
+
+/usr/include/wchar.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/splitpath.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+includes/scicurdir.h:
+
+includes/isdir.h:
+
+includes/fullpath.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getdrives.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getdrives.Plo
new file mode 100755
index 000000000..64d1a160e
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getdrives.Plo
@@ -0,0 +1,104 @@
+src/c/libscifileio_algo_la-getdrives.lo: src/c/getdrives.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/getdrives.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/getdrives.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getfiledesc.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getfiledesc.Plo
new file mode 100755
index 000000000..fb03e1c7e
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getfiledesc.Plo
@@ -0,0 +1,64 @@
+src/c/libscifileio_algo_la-getfiledesc.lo: src/c/getfiledesc.c \
+ /usr/include/stdc-predef.h includes/getfiledesc.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/filesmanagement.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/getfiledesc.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getfileinfo.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getfileinfo.Plo
new file mode 100755
index 000000000..e5f0fdcd7
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getfileinfo.Plo
@@ -0,0 +1,89 @@
+src/c/libscifileio_algo_la-getfileinfo.lo: src/c/getfileinfo.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/getfileinfo.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/getfileinfo.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getfiletype.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getfiletype.Plo
new file mode 100755
index 000000000..b1cfe7d8f
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getfiletype.Plo
@@ -0,0 +1,64 @@
+src/c/libscifileio_algo_la-getfiletype.lo: src/c/getfiletype.c \
+ /usr/include/stdc-predef.h includes/getfiletype.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/filesmanagement.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/getfiletype.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getlongpathname.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getlongpathname.Plo
new file mode 100755
index 000000000..acb31ca4c
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getlongpathname.Plo
@@ -0,0 +1,129 @@
+src/c/libscifileio_algo_la-getlongpathname.lo: src/c/getlongpathname.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/getlongpathname.h \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/getlongpathname.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getrelativefilename.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getrelativefilename.Plo
new file mode 100755
index 000000000..173103fab
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getrelativefilename.Plo
@@ -0,0 +1,139 @@
+src/c/libscifileio_algo_la-getrelativefilename.lo: \
+ src/c/getrelativefilename.c /usr/include/stdc-predef.h \
+ /usr/include/ctype.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ /usr/include/string.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/machine.h src/c/getrelativefilename.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ ../../modules/string/includes/strsubst.h \
+ ../../modules/string/includes/dynlib_string.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/ctype.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/string.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/machine.h:
+
+src/c/getrelativefilename.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+../../modules/string/includes/strsubst.h:
+
+../../modules/string/includes/dynlib_string.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-getshortpathname.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-getshortpathname.Plo
new file mode 100755
index 000000000..ed4c63c1a
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-getshortpathname.Plo
@@ -0,0 +1,133 @@
+src/c/libscifileio_algo_la-getshortpathname.lo: src/c/getshortpathname.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/getshortpathname.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/charEncoding.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/getshortpathname.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-isDrive.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-isDrive.Plo
new file mode 100755
index 000000000..73d676f69
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-isDrive.Plo
@@ -0,0 +1,72 @@
+src/c/libscifileio_algo_la-isDrive.lo: src/c/isDrive.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/isDrive.h \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/isDrive.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-isdir.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-isdir.Plo
new file mode 100755
index 000000000..8308c7685
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-isdir.Plo
@@ -0,0 +1,174 @@
+src/c/libscifileio_algo_la-isdir.lo: src/c/isdir.c \
+ /usr/include/stdc-predef.h /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl2.h /usr/include/unistd.h \
+ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/isDrive.h \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h includes/isdir.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/charEncoding.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+/usr/include/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/isDrive.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/isdir.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/charEncoding.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mclearerr.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mclearerr.Plo
new file mode 100755
index 000000000..f34e8e833
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mclearerr.Plo
@@ -0,0 +1,63 @@
+src/c/libscifileio_algo_la-mclearerr.lo: src/c/mclearerr.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/mclearerr.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+src/c/mclearerr.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mclose.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mclose.Plo
new file mode 100755
index 000000000..43c085080
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mclose.Plo
@@ -0,0 +1,206 @@
+src/c/libscifileio_algo_la-mclose.lo: src/c/mclose.c \
+ /usr/include/stdc-predef.h includes/mclose.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ ../../modules/core/includes/BOOL.h includes/delfile.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/xlocale.h \
+ ../../modules/core/includes/warningmode.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+includes/mclose.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/delfile.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/xlocale.h:
+
+../../modules/core/includes/warningmode.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-meof.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-meof.Plo
new file mode 100755
index 000000000..67c3aec8d
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-meof.Plo
@@ -0,0 +1,63 @@
+src/c/libscifileio_algo_la-meof.lo: src/c/meof.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/meof.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+src/c/meof.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-merror.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-merror.Plo
new file mode 100755
index 000000000..6840f7062
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-merror.Plo
@@ -0,0 +1,79 @@
+src/c/libscifileio_algo_la-merror.lo: src/c/merror.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/errno.h \
+ /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/x86_64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ src/c/merror.h ../../modules/core/includes/machine.h \
+ includes/filesmanagement.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/errno.h:
+
+/usr/include/x86_64-linux-gnu/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/x86_64-linux-gnu/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+src/c/merror.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mget.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mget.Plo
new file mode 100755
index 000000000..90377dc2a
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mget.Plo
@@ -0,0 +1,119 @@
+src/c/libscifileio_algo_la-mget.lo: src/c/mget.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h includes/mget.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/islittleendian.h \
+ ../../modules/core/includes/machine.h src/c/convert_tools.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+includes/mget.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/islittleendian.h:
+
+../../modules/core/includes/machine.h:
+
+src/c/convert_tools.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mgeti.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mgeti.Plo
new file mode 100755
index 000000000..6d19f955c
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mgeti.Plo
@@ -0,0 +1,156 @@
+src/c/libscifileio_algo_la-mgeti.lo: src/c/mgeti.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h src/c/mgeti.h \
+ ../../modules/core/includes/machine.h includes/dynlib_fileio.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/BOOL.h includes/filesmanagement.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/islittleendian.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h src/c/convert_tools.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+src/c/mgeti.h:
+
+../../modules/core/includes/machine.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/islittleendian.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+src/c/convert_tools.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mgetl.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mgetl.Plo
new file mode 100755
index 000000000..db5fdd806
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mgetl.Plo
@@ -0,0 +1,168 @@
+src/c/libscifileio_algo_la-mgetl.lo: src/c/mgetl.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/mgetl.h \
+ includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h includes/filesmanagement.h \
+ /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/mopen.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/string/includes/strsubst.h \
+ ../../modules/string/includes/dynlib_string.h \
+ ../../modules/core/includes/freeArrayOfString.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/mgetl.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/filesmanagement.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/mopen.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/string/includes/strsubst.h:
+
+../../modules/string/includes/dynlib_string.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mgetstr.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mgetstr.Plo
new file mode 100755
index 000000000..e193cf80b
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mgetstr.Plo
@@ -0,0 +1,141 @@
+src/c/libscifileio_algo_la-mgetstr.lo: src/c/mgetstr.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/mgetstr.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/xlocale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+src/c/mgetstr.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/xlocale.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mopen.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mopen.Plo
new file mode 100755
index 000000000..c659804db
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mopen.Plo
@@ -0,0 +1,184 @@
+src/c/libscifileio_algo_la-mopen.lo: src/c/mopen.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/mopen.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ src/c/Status2Mode.h includes/filesmanagement.h \
+ ../../modules/core/includes/BOOL.h includes/getfiledesc.h \
+ includes/addfile.h ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/core/includes/warningmode.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h includes/isdir.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/mopen.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+src/c/Status2Mode.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/getfiledesc.h:
+
+includes/addfile.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/core/includes/warningmode.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+includes/isdir.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-movefile.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-movefile.Plo
new file mode 100755
index 000000000..5a44c9b5a
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-movefile.Plo
@@ -0,0 +1,57 @@
+src/c/libscifileio_algo_la-movefile.lo: src/c/movefile.c \
+ /usr/include/stdc-predef.h src/c/movefile.h /usr/include/wchar.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ includes/deleteafile.h ../../modules/core/includes/BOOL.h \
+ includes/dynlib_fileio.h includes/removedir.h src/c/copyfile.h \
+ includes/createdirectory.h includes/isdir.h
+
+/usr/include/stdc-predef.h:
+
+src/c/movefile.h:
+
+/usr/include/wchar.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+includes/deleteafile.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/dynlib_fileio.h:
+
+includes/removedir.h:
+
+src/c/copyfile.h:
+
+includes/createdirectory.h:
+
+includes/isdir.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mput.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mput.Plo
new file mode 100755
index 000000000..685dd0312
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mput.Plo
@@ -0,0 +1,125 @@
+src/c/libscifileio_algo_la-mput.lo: src/c/mput.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h includes/mput.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/islittleendian.h \
+ ../../modules/core/includes/machine.h src/c/convert_tools.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/core/includes/warningmode.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+includes/mput.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/islittleendian.h:
+
+../../modules/core/includes/machine.h:
+
+src/c/convert_tools.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/core/includes/warningmode.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mputi.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mputi.Plo
new file mode 100755
index 000000000..b4ce37508
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mputi.Plo
@@ -0,0 +1,113 @@
+src/c/libscifileio_algo_la-mputi.lo: src/c/mputi.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/mputi.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ ../../modules/core/includes/BOOL.h includes/filesmanagement.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/dynlib_fileio.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/core/includes/islittleendian.h \
+ ../../modules/core/includes/machine.h src/c/convert_tools.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/mputi.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/filesmanagement.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/core/includes/islittleendian.h:
+
+../../modules/core/includes/machine.h:
+
+src/c/convert_tools.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mputl.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mputl.Plo
new file mode 100755
index 000000000..402bb05cb
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mputl.Plo
@@ -0,0 +1,90 @@
+src/c/libscifileio_algo_la-mputl.lo: src/c/mputl.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/mputl.h \
+ includes/filesmanagement.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/sciprint.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+src/c/mputl.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/sciprint.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mputstr.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mputstr.Plo
new file mode 100755
index 000000000..d3b9309a0
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mputstr.Plo
@@ -0,0 +1,82 @@
+src/c/libscifileio_algo_la-mputstr.lo: src/c/mputstr.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/mputstr.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/filesmanagement.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/xlocale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+src/c/mputstr.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/xlocale.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mseek.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mseek.Plo
new file mode 100755
index 000000000..c3072ef0d
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mseek.Plo
@@ -0,0 +1,119 @@
+src/c/libscifileio_algo_la-mseek.lo: src/c/mseek.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/errno.h \
+ /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/x86_64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ includes/mseek.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/machine.h includes/filesmanagement.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/errno.h:
+
+/usr/include/x86_64-linux-gnu/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/x86_64-linux-gnu/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+includes/mseek.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-mtell.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-mtell.Plo
new file mode 100755
index 000000000..92d19225a
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-mtell.Plo
@@ -0,0 +1,79 @@
+src/c/libscifileio_algo_la-mtell.lo: src/c/mtell.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/mtell.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/filesmanagement.h ../../modules/core/includes/BOOL.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/xlocale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+includes/mtell.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/filesmanagement.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/xlocale.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-pathconvert.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-pathconvert.Plo
new file mode 100755
index 000000000..3af85f0e0
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-pathconvert.Plo
@@ -0,0 +1,127 @@
+src/c/libscifileio_algo_la-pathconvert.lo: src/c/pathconvert.c \
+ /usr/include/stdc-predef.h /usr/include/wctype.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \
+ src/c/pathconvert.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ includes/expandPathVariable.h includes/dynlib_fileio.h \
+ includes/splitpath.h ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/wctype.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/xlocale.h:
+
+src/c/pathconvert.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+includes/expandPathVariable.h:
+
+includes/dynlib_fileio.h:
+
+includes/splitpath.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-readline.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-readline.Plo
new file mode 100755
index 000000000..49f20f332
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-readline.Plo
@@ -0,0 +1,165 @@
+src/c/libscifileio_algo_la-readline.lo: src/c/readline.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/readline.h \
+ includes/dynlib_fileio.h ../../modules/core/includes/machine.h \
+ includes/mgetl.h ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/freeArrayOfString.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/readline.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/machine.h:
+
+includes/mgetl.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-removedir.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-removedir.Plo
new file mode 100755
index 000000000..48e606666
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-removedir.Plo
@@ -0,0 +1,222 @@
+src/c/libscifileio_algo_la-removedir.lo: src/c/removedir.c \
+ /usr/include/stdc-predef.h /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
+ /usr/include/x86_64-linux-gnu/bits/fcntl2.h /usr/include/unistd.h \
+ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h /usr/include/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/dirent.h \
+ /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h /usr/include/errno.h \
+ /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/x86_64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/BOOL.h includes/removedir.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ includes/isdir.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/localization/includes/charEncoding.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
+
+/usr/include/x86_64-linux-gnu/bits/fcntl2.h:
+
+/usr/include/unistd.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+/usr/include/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/dirent.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/errno.h:
+
+/usr/include/x86_64-linux-gnu/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/x86_64-linux-gnu/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/removedir.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+includes/isdir.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/localization/includes/charEncoding.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-scanf_functions.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-scanf_functions.Plo
new file mode 100755
index 000000000..07c717a90
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-scanf_functions.Plo
@@ -0,0 +1,253 @@
+src/c/libscifileio_algo_la-scanf_functions.lo: src/c/scanf_functions.c \
+ /usr/include/stdc-predef.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/output_stream/includes/do_xxprintf.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ ../../modules/output_stream/includes/dynlib_output_stream.h \
+ src/c/do_xxscanf.h src/c/scanf_functions.h \
+ ../../modules/string/includes/cvstr.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/string/includes/dynlib_string.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/output_stream/includes/do_xxprintf.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+../../modules/output_stream/includes/dynlib_output_stream.h:
+
+src/c/do_xxscanf.h:
+
+src/c/scanf_functions.h:
+
+../../modules/string/includes/cvstr.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/string/includes/dynlib_string.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-scicurdir.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-scicurdir.Plo
new file mode 100755
index 000000000..1486fec9b
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-scicurdir.Plo
@@ -0,0 +1,210 @@
+src/c/libscifileio_algo_la-scicurdir.lo: src/c/scicurdir.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/errno.h \
+ /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/x86_64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/unistd.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h \
+ ../../modules/output_stream/includes/sciprint.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ ../../modules/core/includes/BOOL.h includes/scicurdir.h \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ ../../modules/core/includes/warningmode.h \
+ ../../modules/core/includes/BOOL.h ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/PATH_MAX.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+/usr/include/errno.h:
+
+/usr/include/x86_64-linux-gnu/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/x86_64-linux-gnu/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/unistd.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/scicurdir.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+../../modules/core/includes/warningmode.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
diff --git a/modules/fileio/src/c/.deps/libscifileio_algo_la-splitpath.Plo b/modules/fileio/src/c/.deps/libscifileio_algo_la-splitpath.Plo
new file mode 100755
index 000000000..d0e5ffb74
--- /dev/null
+++ b/modules/fileio/src/c/.deps/libscifileio_algo_la-splitpath.Plo
@@ -0,0 +1,137 @@
+src/c/libscifileio_algo_la-splitpath.lo: src/c/splitpath.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/splitpath.h \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/BOOL.h includes/dynlib_fileio.h \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ ../../modules/core/includes/PATH_MAX.h includes/expandPathVariable.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/splitpath.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/dynlib_fileio.h:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+../../modules/core/includes/PATH_MAX.h:
+
+includes/expandPathVariable.h:
diff --git a/modules/fileio/src/c/.dirstamp b/modules/fileio/src/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/fileio/src/c/.dirstamp
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-FileExist.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-FileExist.o
new file mode 100755
index 000000000..383ae1ddf
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-FileExist.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-FindFileExtension.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-FindFileExtension.o
new file mode 100755
index 000000000..d39182473
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-FindFileExtension.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-Status2Mode.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-Status2Mode.o
new file mode 100755
index 000000000..1bec967bf
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-Status2Mode.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-URIFileToFilename.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-URIFileToFilename.o
new file mode 100755
index 000000000..c6b80ee5a
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-URIFileToFilename.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-addfile.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-addfile.o
new file mode 100755
index 000000000..a67bb484c
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-addfile.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-basename.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-basename.o
new file mode 100755
index 000000000..508bcd9e2
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-basename.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-cluni0.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-cluni0.o
new file mode 100755
index 000000000..019e8f704
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-cluni0.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-convert_tools.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-convert_tools.o
new file mode 100755
index 000000000..6a66a2ed7
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-convert_tools.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-copyfile_others.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-copyfile_others.o
new file mode 100755
index 000000000..b1b5730d4
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-copyfile_others.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-createdirectory.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-createdirectory.o
new file mode 100755
index 000000000..7f51043a7
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-createdirectory.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-createtempfilename.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-createtempfilename.o
new file mode 100755
index 000000000..65b43e113
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-createtempfilename.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-deleteafile.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-deleteafile.o
new file mode 100755
index 000000000..cacd0fb22
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-deleteafile.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-delfile.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-delfile.o
new file mode 100755
index 000000000..ae58b9dd6
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-delfile.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-dlManager.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-dlManager.o
new file mode 100755
index 000000000..690aec289
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-dlManager.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-do_xxscanf.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-do_xxscanf.o
new file mode 100755
index 000000000..3679dfc1c
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-do_xxscanf.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-expandPathVariable.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-expandPathVariable.o
new file mode 100755
index 000000000..e71a9600d
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-expandPathVariable.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-fileinfo.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-fileinfo.o
new file mode 100755
index 000000000..5843be343
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-fileinfo.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-filesmanagement.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-filesmanagement.o
new file mode 100755
index 000000000..27e77858e
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-filesmanagement.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-findfiles.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-findfiles.o
new file mode 100755
index 000000000..f63d0c104
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-findfiles.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-fprintfMat.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-fprintfMat.o
new file mode 100755
index 000000000..c2855ac3f
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-fprintfMat.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-fscanfMat.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-fscanfMat.o
new file mode 100755
index 000000000..9332bd969
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-fscanfMat.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-fullpath.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-fullpath.o
new file mode 100755
index 000000000..65cb5c008
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-fullpath.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getFullFilename.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getFullFilename.o
new file mode 100755
index 000000000..a4d50a1e1
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getFullFilename.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getdrives.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getdrives.o
new file mode 100755
index 000000000..cefe3aa5f
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getdrives.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getfiledesc.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getfiledesc.o
new file mode 100755
index 000000000..ffde2ba8b
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getfiledesc.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getfileinfo.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getfileinfo.o
new file mode 100755
index 000000000..8b3a9df7d
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getfileinfo.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getfiletype.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getfiletype.o
new file mode 100755
index 000000000..938ade49a
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getfiletype.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getlongpathname.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getlongpathname.o
new file mode 100755
index 000000000..c67ce7af3
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getlongpathname.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getrelativefilename.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getrelativefilename.o
new file mode 100755
index 000000000..c001811cf
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getrelativefilename.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-getshortpathname.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-getshortpathname.o
new file mode 100755
index 000000000..0beda5320
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-getshortpathname.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-isDrive.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-isDrive.o
new file mode 100755
index 000000000..16796525f
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-isDrive.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-isdir.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-isdir.o
new file mode 100755
index 000000000..b6acfd23f
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-isdir.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mclearerr.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mclearerr.o
new file mode 100755
index 000000000..2185b845d
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mclearerr.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mclose.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mclose.o
new file mode 100755
index 000000000..98c1cb700
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mclose.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-meof.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-meof.o
new file mode 100755
index 000000000..bfc14a3ea
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-meof.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-merror.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-merror.o
new file mode 100755
index 000000000..7efaf3a01
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-merror.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mget.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mget.o
new file mode 100755
index 000000000..f78a59f90
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mget.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mgeti.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mgeti.o
new file mode 100755
index 000000000..e5f576e9e
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mgeti.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mgetl.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mgetl.o
new file mode 100755
index 000000000..8415b8832
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mgetl.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mgetstr.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mgetstr.o
new file mode 100755
index 000000000..d89e3cafb
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mgetstr.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mopen.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mopen.o
new file mode 100755
index 000000000..5ccd77ec6
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mopen.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-movefile.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-movefile.o
new file mode 100755
index 000000000..c1975934c
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-movefile.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mput.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mput.o
new file mode 100755
index 000000000..bedd8c51d
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mput.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mputi.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mputi.o
new file mode 100755
index 000000000..d6486669d
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mputi.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mputl.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mputl.o
new file mode 100755
index 000000000..2714c5b50
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mputl.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mputstr.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mputstr.o
new file mode 100755
index 000000000..2dbd06314
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mputstr.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mseek.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mseek.o
new file mode 100755
index 000000000..e303affea
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mseek.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-mtell.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-mtell.o
new file mode 100755
index 000000000..3625056b0
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-mtell.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-pathconvert.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-pathconvert.o
new file mode 100755
index 000000000..900a0da42
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-pathconvert.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-readline.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-readline.o
new file mode 100755
index 000000000..8b62b5ba2
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-readline.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-removedir.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-removedir.o
new file mode 100755
index 000000000..b33550d6c
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-removedir.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-scanf_functions.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-scanf_functions.o
new file mode 100755
index 000000000..f7c43893a
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-scanf_functions.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-scicurdir.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-scicurdir.o
new file mode 100755
index 000000000..ed0813ad7
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-scicurdir.o
Binary files differ
diff --git a/modules/fileio/src/c/.libs/libscifileio_algo_la-splitpath.o b/modules/fileio/src/c/.libs/libscifileio_algo_la-splitpath.o
new file mode 100755
index 000000000..17f276476
--- /dev/null
+++ b/modules/fileio/src/c/.libs/libscifileio_algo_la-splitpath.o
Binary files differ
diff --git a/modules/fileio/src/c/DllmainFileio.c b/modules/fileio/src/c/DllmainFileio.c
new file mode 100755
index 000000000..3e2af84cd
--- /dev/null
+++ b/modules/fileio/src/c/DllmainFileio.c
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <windows.h>
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../bin/libintl.lib")
+#pragma comment(lib,"../../bin/libxml2.lib")
+#pragma comment(lib,"../../bin/libcurl.lib")
+
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/FileExist.c b/modules/fileio/src/c/FileExist.c
new file mode 100755
index 000000000..e1910ed39
--- /dev/null
+++ b/modules/fileio/src/c/FileExist.c
@@ -0,0 +1,82 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2005 - INRIA - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <Windows.h>
+#else
+#include <stdio.h>
+#endif
+#include "FileExist.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+BOOL FileExist(char *filename)
+{
+#ifdef _MSC_VER
+ wchar_t *wcFilename = to_wide_string(filename);
+ if (wcFilename)
+ {
+ BOOL bOK = FileExistW(wcFilename);
+ FREE(wcFilename);
+ return bOK;
+ }
+ return FALSE;
+#else
+ FILE* tmpFile = fopen(filename, "r");
+ if (tmpFile)
+ {
+ fclose(tmpFile);
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+#endif
+
+}
+/*--------------------------------------------------------------------------*/
+BOOL FileExistW(wchar_t *wcfilename)
+{
+#ifdef _MSC_VER
+ if (wcfilename)
+ {
+ WIN32_FIND_DATAW FindFileData;
+ HANDLE handle = FindFirstFileW (wcfilename, &FindFileData);
+ if (handle != INVALID_HANDLE_VALUE)
+ {
+ FindClose (handle);
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+ }
+ else
+ {
+ return FALSE;
+ }
+
+#else
+ char *filename = wide_string_to_UTF8(wcfilename);
+ if (filename)
+ {
+ BOOL bOK = FileExist(filename);
+ FREE(filename);
+ return bOK;
+ }
+ return FALSE;
+#endif
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/FindFileExtension.c b/modules/fileio/src/c/FindFileExtension.c
new file mode 100755
index 000000000..0853ace98
--- /dev/null
+++ b/modules/fileio/src/c/FindFileExtension.c
@@ -0,0 +1,64 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#if _MSC_VER
+#include <Windows.h>
+#include <shlwapi.h>
+#pragma comment(lib, "shlwapi.lib")
+#include "strdup_windows.h"
+#else
+#include <string.h>
+#include <stdio.h>
+#endif
+#include "FindFileExtension.h"
+#include "MALLOC.h"
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+char *FindFileExtension(char *filename)
+{
+ char *extension = NULL;
+ if (filename)
+ {
+#ifndef _MSC_VER
+ int lengthfilename = (int) strlen(filename);
+ int i = lengthfilename;
+
+ while (filename[i] != '.' && i > 0)
+ {
+ i--;
+ }
+
+ if (i > 0)
+ {
+ int lengthextension = lengthfilename - i;
+ extension = (char*)MALLOC(sizeof(char) * (lengthextension + 1));
+ if (extension)
+ {
+ sprintf(extension, "%s", &filename[i]);
+ }
+ }
+#else
+ {
+ wchar_t *wcFilename = to_wide_string(filename);
+ if (wcFilename)
+ {
+ extension = wide_string_to_UTF8(PathFindExtensionW(wcFilename));
+ FREE(wcFilename);
+ wcFilename = NULL;
+ }
+ }
+#endif
+ }
+ return extension;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/Status2Mode.c b/modules/fileio/src/c/Status2Mode.c
new file mode 100755
index 000000000..02f5e32d6
--- /dev/null
+++ b/modules/fileio/src/c/Status2Mode.c
@@ -0,0 +1,50 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "Status2Mode.h"
+/*--------------------------------------------------------------------------*/
+int Status2Mode(char *status)
+{
+ int bin, plus, md, n, k;
+ /* default values */
+ bin = 0;
+ plus = 0;
+ md = 0;
+ n = (int)strlen(status);
+ for (k = 0; k < n; k++)
+ {
+ if (status[k] == 'r')
+ {
+ md = 1;
+ }
+ else if (status[k] == 'w')
+ {
+ md = 2;
+ }
+ else if (status[k] == 'a')
+ {
+ md = 3;
+ }
+ else if (status[k] == '+')
+ {
+ plus = 1;
+ }
+ else if (status[k] == 'b')
+ {
+ bin = 1;
+ }
+ }
+ return(100 * md + 10 * plus + bin);
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/Status2Mode.h b/modules/fileio/src/c/Status2Mode.h
new file mode 100755
index 000000000..08f586848
--- /dev/null
+++ b/modules/fileio/src/c/Status2Mode.h
@@ -0,0 +1,24 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __STATUS2MODE_H__
+#define __STATUS2MODE_H__
+
+/**
+* convert status to an int (open a file)
+* @param status path example : "rt" "rb"
+* @return an integer
+*/
+int Status2Mode(char *status);
+
+#endif /* __STATUS2MODE_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/URIFileToFilename.c b/modules/fileio/src/c/URIFileToFilename.c
new file mode 100755
index 000000000..757fd7d51
--- /dev/null
+++ b/modules/fileio/src/c/URIFileToFilename.c
@@ -0,0 +1,65 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "URIFileToFilename.h"
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+#if _MSC_VER
+#define strnicmp _strnicmp
+#else
+#define strnicmp strncasecmp
+#endif
+/*--------------------------------------------------------------------------*/
+#define URI_BEGIN "file://"
+/*--------------------------------------------------------------------------*/
+char *URIFileToFilename(char *uri)
+{
+ char *filename = NULL;
+
+ if (uri)
+ {
+ if (isURIFile(uri))
+ {
+ int pos = (int) strlen(URI_BEGIN);
+ filename = strdup(&uri[pos]);
+ }
+ else
+ {
+ filename = strdup(uri);
+ }
+ }
+ return filename;
+}
+/*--------------------------------------------------------------------------*/
+BOOL isURIFile(char *uri)
+{
+ BOOL bOK = FALSE;
+ if (uri)
+ {
+ if (strlen(uri) > strlen(URI_BEGIN))
+ {
+ if ( strnicmp(uri, URI_BEGIN, strlen(URI_BEGIN)) == 0)
+ {
+ bOK = TRUE;
+ }
+ }
+ }
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/addfile.c b/modules/fileio/src/c/addfile.c
new file mode 100755
index 000000000..9c1b56003
--- /dev/null
+++ b/modules/fileio/src/c/addfile.c
@@ -0,0 +1,52 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include "addfile.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(addfile)(int *fd, FILE *fa, int *swap2, int *type, int *mode, char *filename, int *ierr)
+{
+ if (SetFileNameOpenedInScilab(*fd, filename) == FALSE )
+ {
+ *ierr = 1;
+ return;
+ }
+ if (*type == 2)
+ {
+ SetFileOpenedInScilab(*fd, fa);
+ }
+ else if (*type == -1)
+ {
+ SetFileOpenedInScilab(*fd, stdin);
+ }
+ else if (*type == -2)
+ {
+ SetFileOpenedInScilab(*fd, stdout);
+ }
+ else if (*type == -3)
+ {
+ SetFileOpenedInScilab(*fd, stderr);
+ }
+ else
+ {
+ SetFileOpenedInScilab(*fd, (FILE *) 0);
+ }
+
+ SetSwapStatus(*fd, *swap2);
+ SetFileTypeOpenedInScilab(*fd, *type);
+ SetFileModeOpenedInScilab(*fd, *mode);
+
+ *ierr = 0;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/basename.c b/modules/fileio/src/c/basename.c
new file mode 100755
index 000000000..9da28d875
--- /dev/null
+++ b/modules/fileio/src/c/basename.c
@@ -0,0 +1,60 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include "basename.h"
+#include "MALLOC.h"
+#include "expandPathVariable.h"
+#include "splitpath.h"
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+wchar_t *basenameW(wchar_t *wcfullfilename, BOOL bExpand)
+{
+ wchar_t *basename_str = NULL;
+ if (wcfullfilename)
+ {
+ wchar_t *expandedPath = expandPathVariableW(wcfullfilename);
+ if (expandedPath)
+ {
+ wchar_t *wcdrv = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(expandedPath) + 1));
+ wchar_t* wcdir = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(expandedPath) + 1));
+ wchar_t* wcname = (wchar_t*) MALLOC(sizeof(wchar_t) * ((int)wcslen(expandedPath) + 1));
+ wchar_t* wcext = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(expandedPath) + 1));
+
+ splitpathW(expandedPath, bExpand, wcdrv, wcdir, wcname, wcext);
+
+ if (wcname)
+ {
+ basename_str = wcname;
+ }
+
+ if (wcdrv)
+ {
+ FREE(wcdrv);
+ wcdrv = NULL;
+ }
+ if (wcdir)
+ {
+ FREE(wcdir);
+ wcdir = NULL;
+ }
+ if (wcext)
+ {
+ FREE(wcext);
+ wcext = NULL;
+ }
+
+ FREE(expandedPath);
+ expandedPath = NULL;
+ }
+ }
+ return basename_str;
+}
diff --git a/modules/fileio/src/c/basename.h b/modules/fileio/src/c/basename.h
new file mode 100755
index 000000000..e187c6640
--- /dev/null
+++ b/modules/fileio/src/c/basename.h
@@ -0,0 +1,27 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+#ifndef __BASENAME_H__
+#define __BASENAME_H__
+
+#include <wchar.h>
+#include "BOOL.h"
+
+/**
+* strip directory and suffix from filenames (wide string)
+* @param[in] filename
+* @param[in] BOOL flagexpand
+* @return basename
+*/
+wchar_t *basenameW(wchar_t *wcfullfilename, BOOL bExpand);
+
+#endif
diff --git a/modules/fileio/src/c/cluni0.c b/modules/fileio/src/c/cluni0.c
new file mode 100755
index 000000000..b66d8fa48
--- /dev/null
+++ b/modules/fileio/src/c/cluni0.c
@@ -0,0 +1,41 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) INRIA
+* Copyright (C) ENPC
+* Copyright (C) DIGITEO - 2009 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "cluni0.h"
+#include "expandPathVariable.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+int C2F(cluni0)(char *in_name, char *out_name, int *out_n, long int lin, long int lout)
+{
+ char *expandedVar = NULL;
+ in_name[lin] = 0;
+
+ expandedVar = expandPathVariable(in_name);
+ if (expandedVar)
+ {
+ strcpy(out_name, expandedVar);
+ FREE(expandedVar);
+ expandedVar = NULL;
+ *out_n = (int) strlen(out_name);
+ }
+ else
+ {
+ strcpy(out_name, in_name);
+ *out_n = (int) strlen(out_name);
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/convert_tools.c b/modules/fileio/src/c/convert_tools.c
new file mode 100755
index 000000000..f083026d0
--- /dev/null
+++ b/modules/fileio/src/c/convert_tools.c
@@ -0,0 +1,183 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include "convert_tools.h"
+
+void swap_generic(char* _in, char* _out, int _len)
+{
+ int i = 0;
+ for (i = 0 ; i < _len ; i++)
+ {
+ _out[i] = _in[(_len - 1) - i];
+ }
+}
+/*--------------------------------------------------------------------------*/
+short swap_short(short _val)
+{
+ short res = 0;
+ swap_generic((char*)&_val, (char*)&res, 2);
+ return res;
+}
+/*--------------------------------------------------------------------------*/
+int swap_int(int _val)
+{
+ int res = 0;
+ swap_generic((char*)&_val, (char*)&res, sizeof(int));
+ return res;
+}
+/*--------------------------------------------------------------------------*/
+long long swap_long_long(long long _val)
+{
+ long long res = 0;
+ swap_generic((char*)&_val, (char*)&res, sizeof(long long));
+ return res;
+}
+/*--------------------------------------------------------------------------*/
+char swap_char(char _val)
+{
+ return _val;
+}
+/*--------------------------------------------------------------------------*/
+int writeInt(int _val, FILE* _pF, int _iEndian)
+{
+ //reverse _val bytes and write
+ int newVal = _val;
+ if (_iEndian == BIG_ENDIAN)
+ {
+ newVal = swap_int(_val);
+ }
+
+ return fwrite(&newVal, sizeof(int), 1, _pF) != 1 ? -1 : 0;
+}
+/*--------------------------------------------------------------------------*/
+int writeLongLong(long long _val, FILE* _pF, int _iEndian)
+{
+ //reverse _val bytes and write
+ long long newVal = _val;
+ if (_iEndian == BIG_ENDIAN)
+ {
+ newVal = swap_long_long(_val);
+ }
+
+ return fwrite(&newVal, sizeof(long long), 1, _pF) != 1 ? -1 : 0;
+}
+/*--------------------------------------------------------------------------*/
+int writeShort(short _val, FILE* _pF, int _iEndian)
+{
+ //reverse _val bytes and write
+ short newVal = _val;
+ if (_iEndian == BIG_ENDIAN)
+ {
+ newVal = swap_short(_val);
+ }
+
+ return fwrite(&newVal, sizeof(short), 1, _pF) != 1 ? -1 : 0;
+}
+/*--------------------------------------------------------------------------*/
+int writeChar(char _val, FILE* _pF, int _iEndian)
+{
+ return fwrite(&_val, sizeof(char), 1, _pF) != 1 ? -1 : 0;
+}
+/*--------------------------------------------------------------------------*/
+int readInt(FILE* _pF, int _iEndian, unsigned int* val)
+{
+ if (fread(val, sizeof(int), 1, _pF) != 1)
+ {
+ return -1;
+ }
+
+ if (_iEndian == BIG_ENDIAN)
+ {
+ *val = swap_int(*val);
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int readLongLong(FILE* _pF, int _iEndian, unsigned long long* val)
+{
+ if (fread(val, sizeof(long long), 1, _pF) != 1)
+ {
+ return -1;
+ }
+
+ if (_iEndian == BIG_ENDIAN)
+ {
+ *val = swap_long_long(*val);
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int readShort(FILE* _pF, int _iEndian, unsigned short* val)
+{
+ if (fread(val, sizeof(short), 1, _pF) != 1)
+ {
+ return -1;
+ }
+
+ if (_iEndian == BIG_ENDIAN)
+ {
+ *val = swap_short(*val);
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int readChar(FILE* _pF, int _iEndian, unsigned char* val)
+{
+ if (fread(val, sizeof(char), 1, _pF) != 1)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int checkType(char _type)
+{
+ if (_type == 'l')
+ {
+ return TYPE_LONG_LONG;
+ }
+
+ if (_type == 'i')
+ {
+ return TYPE_INT;
+ }
+
+ if (_type == 's')
+ {
+ return TYPE_SHORT;
+ }
+
+ if (_type == 'c')
+ {
+ return TYPE_CHAR;
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int checkEndian(char _endian)
+{
+ if (_endian == 'b')
+ {
+ return BIG_ENDIAN;
+ }
+
+ if (_endian == 'l')
+ {
+ return LITTLE_ENDIAN;
+ }
+
+ return 0;
+}
diff --git a/modules/fileio/src/c/convert_tools.h b/modules/fileio/src/c/convert_tools.h
new file mode 100755
index 000000000..94636765f
--- /dev/null
+++ b/modules/fileio/src/c/convert_tools.h
@@ -0,0 +1,47 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) - 2013 - Scilab Enterprises - Antoine ELIAS
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <stdio.h>
+
+#ifndef __CONVERT_TOOLS_H__
+#define __CONVERT_TOOLS_H__
+
+#define SIGNED -1
+#define UNSIGNED 1
+
+#define LITTLE_ENDIAN 1
+#define BIG_ENDIAN -1
+
+#define TYPE_LONG_LONG 8
+#define TYPE_INT 4
+#define TYPE_SHORT 2
+#define TYPE_CHAR 1
+
+void swap_generic(char* _in, char* _out, int _len);
+short swap_short(short _val);
+int swap_int(int _val);
+char swap_char(char _val);
+long long swap_long_long(long long _val);
+
+int writeInt(int _val, FILE* _pF, int _iEndian);
+int writeLongLong(long long _val, FILE* _pF, int _iEndian);
+int writeShort(short _val, FILE* _pF, int _iEndian);
+int writeChar(char _val, FILE* _pF, int _iEndian);
+
+int readInt(FILE* _pF, int _iEndian, unsigned int* val);
+int readLongLong(FILE* _pF, int _iEndian, unsigned long long* val);
+int readShort(FILE* _pF, int _iEndian, unsigned short* val);
+int readChar(FILE* _pF, int _iEndian, unsigned char* val);
+
+int checkEndian(char _endian);
+int checkType(char _type);
+
+#endif /* !__CONVERT_TOOLS_H__ */ \ No newline at end of file
diff --git a/modules/fileio/src/c/copyfile.h b/modules/fileio/src/c/copyfile.h
new file mode 100755
index 000000000..08151e543
--- /dev/null
+++ b/modules/fileio/src/c/copyfile.h
@@ -0,0 +1,36 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __COPYFILE_H__
+#define __COPYFILE_H__
+
+#include <wchar.h>
+#include "dynlib_fileio.h"
+
+/**
+* copy a file
+* @param[in] destination filename
+* @param[in] source filename
+* @return error number
+*/
+FILEIO_IMPEXP int CopyFileFunction(wchar_t *DestinationFilename, wchar_t *SourceFilename);
+
+/**
+* copy a directory
+* @param[in] destination directory
+* @param[in] source directory
+* @return error number
+*/
+FILEIO_IMPEXP int CopyDirectoryFunction(wchar_t *DestinationDirectory, wchar_t *SourceDirectory);
+
+#endif /* __COPYFILE_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/copyfile_others.c b/modules/fileio/src/c/copyfile_others.c
new file mode 100755
index 000000000..9272f203b
--- /dev/null
+++ b/modules/fileio/src/c/copyfile_others.c
@@ -0,0 +1,313 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <utime.h>
+#include <time.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <errno.h>
+#include <string.h>
+#include "copyfile.h"
+#include "BOOL.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "isdir.h"
+#include "FileExist.h"
+#include "createdirectory.h"
+#include "PATH_MAX.h"
+#include "fullpath.h"
+/*--------------------------------------------------------------------------*/
+static int CopyFileFunction_others(wchar_t *DestinationFilename, wchar_t *SourceFilename);
+static int CopyDirectoryFunction_others(wchar_t *DestinationDirectory, wchar_t *SourceDirectory);
+static int RecursiveCopyDirectory(char *DestinationDir, char *SourceDir);
+/*--------------------------------------------------------------------------*/
+int CopyFileFunction(wchar_t *DestinationFilename, wchar_t *SourceFilename)
+{
+ if (wcsicmp(DestinationFilename, SourceFilename) == 0)
+ {
+ return EPERM;
+ }
+ return CopyFileFunction_others(DestinationFilename, SourceFilename);
+}
+/*--------------------------------------------------------------------------*/
+int CopyDirectoryFunction(wchar_t *DestinationDirectory, wchar_t *SourceDirectory)
+{
+ /* remove last file separator if it does not exists */
+ if ( (SourceDirectory[wcslen(SourceDirectory) - 1] == L'\\') ||
+ (SourceDirectory[wcslen(SourceDirectory) - 1] == L'/') )
+ {
+ SourceDirectory[wcslen(SourceDirectory) - 1] = L'\0';
+ }
+
+ /* remove last file separator if it does not exists */
+ if ( (DestinationDirectory[wcslen(DestinationDirectory) - 1] == L'\\') ||
+ (DestinationDirectory[wcslen(DestinationDirectory) - 1] == L'/') )
+ {
+ DestinationDirectory[wcslen(DestinationDirectory) - 1] = L'\0';
+ }
+
+ return CopyDirectoryFunction_others(DestinationDirectory, SourceDirectory);
+
+}
+/*--------------------------------------------------------------------------*/
+/* Copy file with all attributes */
+static int CopyFileFunction_others(wchar_t *DestinationFilename, wchar_t *SourceFilename)
+{
+ char *pStrDest = wide_string_to_UTF8(DestinationFilename);
+ char *pStrSrc = wide_string_to_UTF8(SourceFilename);
+
+ char strDestFullPath[PATH_MAX * 2 + 1];
+ char strSrcFullPath[PATH_MAX * 2 + 1];
+
+ int sfd = -1;
+ int dfd = -1;
+ struct stat st;
+ char buf[1024 * 32];
+ char *ptr = NULL;
+ int nread = 0, nwritten = 0;
+ int status = 0;
+
+ get_full_path(strDestFullPath, pStrDest, PATH_MAX * 2);
+ get_full_path(strSrcFullPath, pStrSrc, PATH_MAX * 2);
+
+ if (strcmp(strDestFullPath, strSrcFullPath) == 0)
+ {
+ status = EPERM;
+ goto err;
+ }
+
+ if ((sfd = open (pStrSrc, O_RDONLY, 0)) < 0)
+ {
+ status = errno;
+ goto err;
+ }
+
+ if (fstat (sfd, &st) < 0)
+ {
+ status = errno;
+ goto err;
+ }
+
+ if ((dfd = open (pStrDest, O_WRONLY | O_CREAT | O_TRUNC, st.st_mode & 0777)) < 0)
+ {
+ status = errno;
+ goto err;
+ }
+
+ while ((nread = read (sfd, buf, sizeof (buf))) > 0)
+ {
+ ptr = buf;
+ while (nread > 0)
+ {
+ nwritten = write (dfd, ptr, nread);
+ if (nwritten <= 0)
+ {
+ status = errno;
+ goto err;
+ }
+ nread -= nwritten;
+ ptr += nwritten;
+ }
+ }
+
+ if (nread < 0)
+ {
+ status = errno;
+ goto err;
+ }
+
+ if (close (dfd) < 0)
+ {
+ status = errno;
+ goto err;
+ }
+
+ fchmod (dfd, st.st_mode & 0777);
+ close (sfd);
+ if (pStrDest)
+ {
+ FREE(pStrDest);
+ pStrDest = NULL;
+ }
+ if (pStrSrc)
+ {
+ FREE(pStrSrc);
+ pStrSrc = NULL;
+ }
+ return 0;
+
+err:
+ if (sfd >= 0)
+ {
+ close (sfd);
+ }
+ if (dfd >= 0)
+ {
+ close (dfd);
+ unlink (pStrDest);
+ }
+
+ if (pStrDest)
+ {
+ FREE(pStrDest);
+ pStrDest = NULL;
+ }
+ if (pStrSrc)
+ {
+ FREE(pStrSrc);
+ pStrSrc = NULL;
+ }
+ return status;
+}
+/*--------------------------------------------------------------------------*/
+static int CopyDirectoryFunction_others(wchar_t *DestinationDirectory, wchar_t *SourceDirectory)
+{
+ char *pStrDest = wide_string_to_UTF8(DestinationDirectory);
+ char *pStrSrc = wide_string_to_UTF8(SourceDirectory);
+
+ int ierr = 0;
+
+ /* we check directory source exists */
+ if (!isdir(pStrSrc))
+ {
+ if (pStrDest)
+ {
+ FREE(pStrDest);
+ pStrDest = NULL;
+ }
+ FREE(pStrSrc);
+ return ENOTDIR;
+ }
+
+ /* we check destination directory exists */
+ if (!isdir(pStrDest))
+ {
+ if (FileExistW(DestinationDirectory))
+ {
+ FREE(pStrDest);
+ FREE(pStrSrc);
+ return ENOTDIR;
+ }
+ else
+ {
+ if (!createdirectoryW(DestinationDirectory))
+ {
+ FREE(pStrDest);
+ FREE(pStrSrc);
+ return ENOTDIR;
+ }
+ }
+ }
+
+ ierr = RecursiveCopyDirectory(pStrDest, pStrSrc);
+
+ FREE(pStrDest);
+ FREE(pStrSrc);
+
+ if (ierr)
+ {
+ return errno;
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+static int RecursiveCopyDirectory(char *DestinationDir, char *SourceDir)
+{
+ DIR *dir;
+ struct dirent *ent;
+
+ dir = opendir(SourceDir) ;
+
+ if (dir == NULL)
+ {
+ return errno;
+ }
+
+ while ((ent = readdir(dir)) != NULL)
+ {
+ char *filenameSRC = NULL;
+ char *filenameDST = NULL;
+
+ if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
+ {
+ continue ;
+ }
+
+ filenameSRC = (char*)MALLOC(sizeof(char) * (strlen(SourceDir) + 1 + strlen(ent->d_name) + 1 + 1)) ;
+ filenameDST = (char*)MALLOC(sizeof(char) * (strlen(DestinationDir) + 1 + strlen(ent->d_name) + 1 + 1)) ;
+
+ sprintf(filenameSRC, "%s/%s", SourceDir, ent->d_name);
+
+ if (DestinationDir[strlen(DestinationDir) - 1] == '/')
+ {
+ sprintf(filenameDST, "%s%s", DestinationDir, ent->d_name);
+ }
+ else
+ {
+ sprintf(filenameDST, "%s/%s", DestinationDir, ent->d_name);
+ }
+
+ if (isdir(filenameSRC))
+ {
+ int ierr = 0;
+ BOOL bOK = createdirectory(filenameDST);
+ if (!bOK)
+ {
+ FREE(filenameDST);
+ FREE(filenameSRC);
+ closedir(dir);
+ return EACCES;
+ }
+
+ ierr = RecursiveCopyDirectory(filenameDST, filenameSRC);
+ if (ierr)
+ {
+ FREE(filenameDST);
+ FREE(filenameSRC);
+ closedir(dir);
+ return ierr;
+ }
+ }
+ else
+ {
+ wchar_t* wcfileDest = to_wide_string(filenameDST);
+ wchar_t* wcfileSrc = to_wide_string(filenameSRC);
+
+ int ierr = CopyFileFunction_others(wcfileDest, wcfileSrc);
+ FREE(wcfileDest);
+ FREE(wcfileSrc);
+
+ if (ierr)
+ {
+ FREE(filenameDST);
+ FREE(filenameSRC);
+ closedir(dir);
+ return ierr;
+ }
+ }
+
+ FREE(filenameDST);
+ FREE(filenameSRC);
+ }
+
+ closedir(dir);
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+#endif /* #ifndef _MSC_VER */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/copyfile_windows.c b/modules/fileio/src/c/copyfile_windows.c
new file mode 100755
index 000000000..e41a8178b
--- /dev/null
+++ b/modules/fileio/src/c/copyfile_windows.c
@@ -0,0 +1,151 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <windows.h>
+#include <shellapi.h>
+#include <string.h>
+#include "copyfile.h"
+#include "BOOL.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "isdir.h"
+#include "createdirectory.h"
+#include "PATH_MAX.h"
+/*--------------------------------------------------------------------------*/
+static int CopyFileFunction_windows(wchar_t *DestinationFilename, wchar_t *SourceFilename);
+static int CopyDirectoryFunction_windows(wchar_t *DestinationDirectory, wchar_t *SourceDirectory);
+/*--------------------------------------------------------------------------*/
+int CopyFileFunction(wchar_t *DestinationFilename, wchar_t *SourceFilename)
+{
+ if (wcsicmp(DestinationFilename, SourceFilename) == 0)
+ {
+ SetLastError(ERROR_ACCESS_DENIED);
+ return 1;
+ }
+ return CopyFileFunction_windows(DestinationFilename, SourceFilename);
+}
+/*--------------------------------------------------------------------------*/
+int CopyDirectoryFunction(wchar_t *DestinationDirectory, wchar_t *SourceDirectory)
+{
+ /* remove last file separator if it does not exists */
+ if ( (SourceDirectory[wcslen(SourceDirectory) - 1] == L'\\') ||
+ (SourceDirectory[wcslen(SourceDirectory) - 1] == L'/') )
+ {
+ SourceDirectory[wcslen(SourceDirectory) - 1] = L'\0';
+ }
+
+ /* remove last file separator if it does not exists */
+ if ( (DestinationDirectory[wcslen(DestinationDirectory) - 1] == L'\\') ||
+ (DestinationDirectory[wcslen(DestinationDirectory) - 1] == L'/') )
+ {
+ DestinationDirectory[wcslen(DestinationDirectory) - 1] = L'\0';
+ }
+
+ if (wcsicmp(DestinationDirectory, SourceDirectory) == 0)
+ {
+ SetLastError(ERROR_ACCESS_DENIED);
+ return 1;
+ }
+
+
+ return CopyDirectoryFunction_windows(DestinationDirectory, SourceDirectory);
+}
+/*--------------------------------------------------------------------------*/
+static int CopyFileFunction_windows(wchar_t *DestinationFilename, wchar_t *SourceFilename)
+{
+ BOOL bFailIfExists = FALSE;
+ if (!CopyFileW(SourceFilename, DestinationFilename, bFailIfExists))
+ {
+ return 1;
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+static int CopyDirectoryFunction_windows(wchar_t *DestinationDirectory, wchar_t *SourceDirectory)
+{
+ WIN32_FIND_DATAW dir_find_data;
+ wchar_t src_buffer[MAX_PATH * 2 + 1];
+ wchar_t dest_buffer[MAX_PATH * 2 + 1];
+ HANDLE find_handle = FindFirstFileW(DestinationDirectory, &dir_find_data);
+ BOOL ans;
+
+ if (find_handle && (find_handle != INVALID_HANDLE_VALUE))
+ {
+ /* destdir exists, now make sure it is a directory */
+ if (dir_find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ {
+ ans = 1;
+ }
+ else
+ {
+ ans = 0;
+ }
+ FindClose(find_handle);
+ }
+ else
+ {
+ /* Create the destdir */
+ ans = createdirectoryW(DestinationDirectory);
+ }
+ FindClose(find_handle);
+
+ if (!ans)
+ {
+ return 1;
+ }
+
+ /* Get ready to do some copying */
+ wcscpy(src_buffer, SourceDirectory);
+ wcscat(src_buffer, L"\\*");
+
+ wcscpy(dest_buffer, DestinationDirectory);
+ wcscat(dest_buffer, L"\\");
+
+ find_handle = FindFirstFileW(src_buffer, &dir_find_data);
+ if (find_handle && find_handle != INVALID_HANDLE_VALUE)
+ {
+ do
+ {
+ if (wcscmp(dir_find_data.cFileName, L".") == 0)
+ {
+ continue;
+ }
+ if (wcscmp(dir_find_data.cFileName, L"..") == 0)
+ {
+ continue;
+ }
+
+ wcscpy(src_buffer + wcslen(SourceDirectory) + 1, dir_find_data.cFileName);
+ wcscpy(dest_buffer + wcslen(DestinationDirectory) + 1, dir_find_data.cFileName);
+
+ if (dir_find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ {
+ ans = (CopyDirectoryFunction_windows( dest_buffer, src_buffer) == 0);
+ }
+ else
+ {
+ ans = CopyFileW(src_buffer, dest_buffer, FALSE);
+ }
+ if (!ans)
+ {
+ break;
+ }
+ }
+ while (FindNextFileW(find_handle, &dir_find_data));
+ FindClose(find_handle);
+ }
+ return (ans ? 0 : 1);
+}
+/*--------------------------------------------------------------------------*/
+#endif /* #ifdef _MSC_VER */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/createdirectory.c b/modules/fileio/src/c/createdirectory.c
new file mode 100755
index 000000000..79c915701
--- /dev/null
+++ b/modules/fileio/src/c/createdirectory.c
@@ -0,0 +1,108 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007 - INRIA
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <dirent.h>
+#else
+#include <Windows.h>
+#include <stdio.h>
+#endif
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "createdirectory.h"
+#include "isdir.h"
+#include "splitpath.h"
+#include "scicurdir.h"
+/*--------------------------------------------------------------------------*/
+#define DIRMODE 0777
+/*--------------------------------------------------------------------------*/
+BOOL createdirectory(const char *path)
+{
+ BOOL bOK = FALSE;
+
+ if (path)
+ {
+ if (!isdir(path))
+ {
+#ifndef _MSC_VER
+ if (mkdir(path, DIRMODE) == 0)
+ {
+ bOK = TRUE;
+ }
+#else
+ wchar_t *widePath = to_wide_string((char*)path);
+ if (widePath)
+ {
+ bOK = createdirectoryW(widePath);
+ FREE(widePath);
+ widePath = NULL;
+ }
+#endif
+ }
+ }
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+BOOL createdirectoryW(const wchar_t *pathW)
+{
+ BOOL bOK = FALSE;
+ if (pathW)
+ {
+ if (!isdirW(pathW))
+ {
+#ifndef _MSC_VER
+ char *path = wide_string_to_UTF8(pathW);
+ if (path)
+ {
+ bOK = createdirectory(path);
+ FREE(path);
+ path = NULL;
+ }
+#else
+ wchar_t path_out[MAX_PATH];
+ wchar_t drv[MAX_PATH];
+ wchar_t dir[MAX_PATH];
+ splitpathW(pathW, TRUE, drv, dir, NULL, NULL);
+
+ wcscpy(path_out, drv);
+ wcscat(path_out, dir);
+
+ //if there is no path_out, get current dir as reference.
+ if (wcslen(path_out) == 0)
+ {
+ int err = 0;
+ wchar_t * cur = NULL;
+ if (wcslen(pathW) == 0)
+ {
+ return FALSE;
+ }
+
+ cur = scigetcwdW(&err);
+ wcscpy(path_out, cur);
+ FREE(cur);
+ }
+
+ if (CreateDirectoryExW(path_out, pathW, NULL))
+ {
+ bOK = TRUE;
+ }
+#endif
+ }
+ }
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/ \ No newline at end of file
diff --git a/modules/fileio/src/c/createtempfilename.c b/modules/fileio/src/c/createtempfilename.c
new file mode 100755
index 000000000..94879224a
--- /dev/null
+++ b/modules/fileio/src/c/createtempfilename.c
@@ -0,0 +1,115 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2011 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+#include <unistd.h>
+#else
+#include <windows.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "createtempfilename.h"
+#include "tmpdir.h"
+#include "splitpath.h"
+#include "machine.h"
+#include "PATH_MAX.h"
+#include "getshortpathname.h"
+#include "FileExist.h"
+/*--------------------------------------------------------------------------*/
+char *createtempfilename(const char *prefix, BOOL bShortFormat)
+{
+ char *tempfilename = NULL;
+#ifdef _MSC_VER
+ wchar_t *wcprefix = to_wide_string(prefix);
+ wchar_t *wcresult = createtempfilenameW(wcprefix, bShortFormat);
+
+ tempfilename = wide_string_to_UTF8(wcresult);
+
+ if (wcresult)
+ {
+ FREE(wcresult);
+ wcresult = NULL;
+ }
+ if (wcresult)
+ {
+ FREE(wcresult);
+ wcresult = NULL;
+ }
+#else
+ char *TmpDir = getTMPDIR();
+ if (TmpDir)
+ {
+ char TempFileName[PATH_MAX];
+ int fd = 0;
+ sprintf(TempFileName, "%s/%sXXXXXX", TmpDir, prefix);
+ fd = mkstemp(TempFileName);
+ if (fd != -1)
+ {
+ close(fd);
+ }
+ tempfilename = strdup(TempFileName);
+ }
+#endif
+ return tempfilename;
+}
+/*--------------------------------------------------------------------------*/
+wchar_t *createtempfilenameW(const wchar_t *wcprefix, BOOL bShortFormat)
+{
+ wchar_t *wcReturnedTempFilename = NULL;
+
+#ifdef _MSC_VER
+ wchar_t *wcTmpDir = getTMPDIRW();
+ if (wcTmpDir)
+ {
+ unsigned int uRetVal = 0;
+ wchar_t wcTempFileName[MAX_PATH];
+ uRetVal = GetTempFileNameW(wcTmpDir, wcprefix, 0, wcTempFileName);
+ if (uRetVal != 0)
+ {
+ size_t len = wcslen(wcTempFileName) + 1;
+ wchar_t* shortTempFilename = (wchar_t *)MALLOC(len * sizeof(wchar_t));
+ if (shortTempFilename)
+ {
+ if (bShortFormat)
+ {
+ GetShortPathNameW(wcTempFileName, shortTempFilename, (DWORD)len);
+ }
+ wcReturnedTempFilename = shortTempFilename;
+ }
+ }
+ }
+#else
+ char *prefix = wide_string_to_UTF8(wcprefix);
+ char *result = createtempfilename(prefix, bShortFormat);
+
+ wcReturnedTempFilename = to_wide_string(result);
+
+ if (result)
+ {
+ FREE(result);
+ result = NULL;
+ }
+ if (prefix)
+ {
+ FREE(prefix);
+ prefix = NULL;
+ }
+ if (result)
+ {
+ FREE(result);
+ result = NULL;
+ }
+#endif
+ return wcReturnedTempFilename;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/deleteafile.c b/modules/fileio/src/c/deleteafile.c
new file mode 100755
index 000000000..1a17167e5
--- /dev/null
+++ b/modules/fileio/src/c/deleteafile.c
@@ -0,0 +1,88 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include "deleteafile.h"
+#ifndef _MSC_VER
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#else
+#include <Windows.h>
+#endif
+#include "charEncoding.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+BOOL deleteafile(char *filename)
+{
+#ifndef _MSC_VER
+ {
+ FILE *f = fopen(filename, "r") ;
+ if (! f)
+ {
+ return FALSE;
+ }
+
+ fclose(f) ;
+
+ if (chmod(filename, S_IWRITE))
+ {
+ return FALSE;
+ }
+
+ if (remove(filename) == 0)
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+ }
+#else
+ {
+ BOOL bOK = FALSE;
+ if (filename)
+ {
+ wchar_t *wcfilename = to_wide_string(filename);
+ if (wcfilename)
+ {
+ bOK = deleteafileW(wcfilename);
+ FREE(wcfilename);
+ }
+ }
+
+ return bOK;
+ }
+#endif
+}
+/*--------------------------------------------------------------------------*/
+BOOL deleteafileW(wchar_t *filenameW)
+{
+ BOOL bOK = FALSE;
+#ifndef _MSC_VER
+ {
+ char *filename = wide_string_to_UTF8(filenameW);
+ if (filename)
+ {
+ bOK = deleteafile(filename);
+ FREE(filename);
+ filename = NULL;
+ }
+ }
+#else
+ if (filenameW)
+ {
+ bOK = DeleteFileW(filenameW);
+ }
+#endif
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/delfile.c b/modules/fileio/src/c/delfile.c
new file mode 100755
index 000000000..0fb5498da
--- /dev/null
+++ b/modules/fileio/src/c/delfile.c
@@ -0,0 +1,32 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+/* Scilab */
+/* INRIA 2007 */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include "delfile.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(delfile)(int *fd)
+{
+ if (*fd >= 0 && *fd < GetMaximumFileOpenedInScilab() )
+ {
+ SetFileOpenedInScilab(*fd, (FILE*) NULL);
+ SetSwapStatus(*fd, 0);
+ SetFileTypeOpenedInScilab(*fd, 0);
+ SetFileModeOpenedInScilab(*fd, 0);
+ FreeFileNameOpenedInScilab(*fd);
+ }
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/dlManager.c b/modules/fileio/src/c/dlManager.c
new file mode 100755
index 000000000..d26ddca66
--- /dev/null
+++ b/modules/fileio/src/c/dlManager.c
@@ -0,0 +1,435 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012-2013 - S/E - Sylvestre LEDRU
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef _MSC_VER
+#define _GNU_SOURCE /* basename crashes this extension otherwise */
+#endif
+#include "MALLOC.h"
+#include <curl/curl.h>
+#include <libxml/uri.h>
+#include <string.h>
+#include "dlManager.h"
+#include "Scierror.h"
+#include "SCIHOME.h"
+#include "PATH_MAX.h"
+#include "isdir.h"
+#include "charEncoding.h"
+#include "localization.h"
+#include "getos.h"
+#include "machine.h"
+#include "scicurdir.h"
+#include "splitpath.h"
+#include "getScilabPreference.h"
+#include "stricmp.h"
+#include "freeArrayOfString.h"
+/* ==================================================================== */
+#ifndef HAVE_BASENAME
+static char *Curl_basename(char *path);
+#define basename(x) Curl_basename((x))
+#endif
+/* ==================================================================== */
+static char errorBuffer[CURL_ERROR_SIZE];
+/* ==================================================================== */
+static int getProxyValues(char **proxyHost, long *proxyPort, char **proxyUserPwd);
+/* ==================================================================== */
+typedef struct __INPUTSTRING__
+{
+ char *ptr;
+ size_t len;
+} inputString;
+/* ==================================================================== */
+static void init_string(inputString *s)
+{
+ s->len = 0;
+ s->ptr = (char*)CALLOC(s->len + 1, sizeof(char));
+ if (s->ptr == NULL)
+ {
+ Scierror(999, "Internal error: calloc() failed.\n");
+ return;
+ }
+}
+/* ==================================================================== */
+static void free_string(inputString *s)
+{
+ if (s->len && s->ptr)
+ {
+ FREE(s->ptr);
+ s->ptr = NULL;
+ }
+}
+/* ==================================================================== */
+static size_t writefunc(void *ptr, size_t size, size_t nmemb, inputString *s)
+{
+ size_t new_len = s->len + size * nmemb;
+
+ s->ptr = (char*)REALLOC(s->ptr, new_len + 1);
+ if (s->ptr == NULL)
+ {
+ Scierror(999, "Internal error: realloc() failed.\n");
+ return 0;
+ }
+ memcpy(s->ptr + s->len, ptr, size * nmemb);
+ s->ptr[new_len] = '\0';
+ s->len = new_len;
+
+ return size * nmemb;
+}
+/* ==================================================================== */
+static char *getFileNameFromURL(char *url)
+{
+ char *filename = NULL;
+ xmlURIPtr c = xmlParseURI(url);
+
+ if (c == NULL)
+ {
+ Scierror(999, _("Could not parse the URL.\n"));
+ return NULL;
+ }
+
+ if (c->path == NULL || strstr(c->path, "/") == 0 || strcmp(c->path, "/") == 0)
+ {
+ filename = (char *)MALLOC((strlen(DEFAULT_FILENAME) + 1) * sizeof(char));
+ strcpy(filename, DEFAULT_FILENAME);
+ }
+ else
+ {
+ char bname[PATH_MAX] = {0};
+ strncpy(bname, basename(c->path), sizeof(bname));
+ filename = (char *)MALLOC((strlen(bname) + 1) * sizeof(char));
+ strcpy(filename, bname);
+ }
+ return filename;
+
+}
+/* ==================================================================== */
+int getProxyValues(char **proxyHost, long *proxyPort, char **proxyUserPwd)
+{
+ const char * attrs[] = {"enabled", "host", "port", "user", "password"};
+ const unsigned int N = sizeof(attrs) / sizeof(char*);
+ char ** values = getPrefAttributesValues("//web/body/proxy", attrs, N);
+
+ if (!values)
+ {
+ return 0;
+ }
+
+ if (stricmp(values[0]/*enabled*/, "true") == 0)
+ {
+ const unsigned int ulen = (const unsigned int)strlen(values[3]);
+ const unsigned int plen = (const unsigned int)strlen(values[4]);
+
+ *proxyHost = values[1]; //host;
+ *proxyPort = strtol(values[2], NULL, 10); //port;
+ FREE(values[2]);
+
+ if (plen == 0)
+ {
+ *proxyUserPwd = values[3]; //user
+ }
+ else
+ {
+ *proxyUserPwd = (char *)MALLOC((ulen + 1 + plen + 1) * sizeof(char *));
+ sprintf(*proxyUserPwd, "%s:%s", values[3]/*user*/, values[4]/*password*/);
+ (*proxyUserPwd)[ulen + 1 + plen] = '\0';
+ FREE(values[3]);
+ }
+
+ FREE(values[4]);
+ FREE(values);
+ }
+ else
+ {
+ freeArrayOfString(values, N);
+ return 0;
+ }
+
+ return 1;
+}
+/* ==================================================================== */
+char *downloadFile(char *url, char *dest, char *username, char *password, char **content)
+{
+ CURL *curl;
+ CURLcode res;
+ char *filename = NULL;
+ FILE *file;
+ inputString buffer;
+ char *destdir = NULL;
+ char *destfile = NULL;
+
+ curl = curl_easy_init();
+ if (curl == NULL)
+ {
+ Scierror(999, "Failed opening the curl handle.\n");
+ return NULL;
+ }
+
+ init_string(&buffer);
+
+ res = curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
+ if (res != CURLE_OK)
+ {
+ Scierror(999, "Failed to set error buffer [%d]\n", res);
+ return NULL;
+ }
+
+ // Get destination directory and filename
+ if (dest != NULL)
+ {
+ // Destination is specified in argument
+ char* pathdrive = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+ char* pathdir = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+ char* pathfile = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+ char* pathext = (char*)MALLOC(sizeof(char) * (PATH_MAX + 1));
+
+ splitpath(dest, TRUE, pathdrive, pathdir, pathfile, pathext);
+
+ if (!isdir(dest))
+ {
+ // Destination is a file
+ destdir = (char *)MALLOC((strlen(pathdrive) + strlen(pathdir) + 1) * sizeof(char));
+ strcpy(destdir, pathdrive);
+ strcat(destdir, pathdir);
+
+ // Get filename
+ destfile = (char *)MALLOC((strlen(pathfile) + strlen(pathext) + 1) * sizeof(char));
+ strcpy(destfile, pathfile);
+ strcat(destfile, pathext);
+ }
+ else
+ {
+ // Destination is a directory
+ destdir = (char *)MALLOC((strlen(pathdrive) + strlen(pathdir) + strlen(pathfile) + strlen(pathext) + strlen(DIR_SEPARATOR) + 1) * sizeof(char));
+ strcpy(destdir, pathdrive);
+ strcat(destdir, pathdir);
+ strcat(destdir, pathfile);
+ strcat(destdir, pathext);
+ strcat(destdir, DIR_SEPARATOR);
+
+ // Retrieve filename from URL
+ destfile = getFileNameFromURL(url);
+ }
+
+ FREE(pathdrive);
+ FREE(pathdir);
+ FREE(pathfile);
+ FREE(pathext);
+ }
+ else
+ {
+ // Destination is not specified in argument
+ // Destination directory is current dir
+ int err = 0;
+ char *currentdir;
+ currentdir = scigetcwd(&err);
+ if (!err)
+ {
+ destdir = (char *)MALLOC((strlen(currentdir) + strlen(DIR_SEPARATOR) + 1) * sizeof(char));
+ strcpy(destdir, currentdir);
+ strcat(destdir, DIR_SEPARATOR);
+ FREE(currentdir);
+ }
+ else
+ {
+ Scierror(999, _("Failed getting current dir, error code: %d\n"), err);
+ return NULL;
+ }
+
+ // Destination filename retrieved from URL
+ destfile = getFileNameFromURL(url);
+ }
+
+ if (destfile == NULL)
+ {
+ return NULL;
+ }
+
+ // Build file path
+ filename = (char *)MALLOC((strlen(destdir) + strlen(destfile) + 1) * sizeof(char));
+ strcpy(filename, destdir);
+ strcat(filename, destfile);
+ FREE(destdir);
+ FREE(destfile);
+
+ res = curl_easy_setopt(curl, CURLOPT_URL, url);
+ if (res != CURLE_OK)
+ {
+ Scierror(999, _("Failed to set URL [%s]\n"), errorBuffer);
+ FREE(filename);
+ return NULL;
+ }
+
+ //Set authentication variables
+ if (username != NULL)
+ {
+ char * userpass;
+ int uplen = (int)strlen(username);
+ if (password != NULL)
+ {
+ uplen = uplen + (int)strlen(password);
+ }
+
+ userpass = (char *)MALLOC((uplen + 2) * sizeof(char));
+
+ strcpy(userpass, username);
+ strcat(userpass, ":");
+ if (password != NULL)
+ {
+ strcat(userpass, password);
+ }
+
+ res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
+ if (res != CURLE_OK)
+ {
+ FREE(filename);
+ FREE(userpass);
+ Scierror(999, "Failed to set httpauth type to ANY [%s]\n", errorBuffer);
+ return NULL;
+ }
+
+ res = curl_easy_setopt(curl, CURLOPT_USERPWD, userpass);
+ if (res != CURLE_OK)
+ {
+ FREE(filename);
+ Scierror(999, _("Failed to set user:pwd [%s]\n"), errorBuffer);
+ return NULL;
+ }
+ } /* end authentication section */
+
+ {
+ //Set proxy variables
+ char *proxyHost = NULL;
+ char *proxyUserPwd = NULL;
+ long proxyPort = 1080;
+ int proxySet = 0;
+
+ proxySet = getProxyValues(&proxyHost, &proxyPort, &proxyUserPwd);
+
+ if (proxySet == 1)
+ {
+ res = curl_easy_setopt(curl, CURLOPT_PROXY, proxyHost);
+ if (res != CURLE_OK)
+ {
+ FREE(proxyHost);
+ FREE(proxyUserPwd);
+ FREE(filename);
+ Scierror(999, _("Failed to set proxy host [%s]\n"), errorBuffer);
+ return NULL;
+ }
+
+ res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, proxyPort);
+ if (res != CURLE_OK)
+ {
+ FREE(proxyHost);
+ FREE(proxyUserPwd);
+ FREE(filename);
+ Scierror(999, _("Failed to set proxy port [%s]\n"), errorBuffer);
+ return NULL;
+ }
+ if (proxyUserPwd != NULL)
+ {
+ res = curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, proxyUserPwd);
+ if (res != CURLE_OK)
+ {
+ FREE(proxyHost);
+ FREE(proxyUserPwd);
+ FREE(filename);
+ Scierror(999, _("Failed to set proxy user:password [%s]\n"), errorBuffer);
+ return NULL;
+ }
+ }
+
+ FREE(proxyHost);
+ FREE(proxyUserPwd);
+ }
+ } /* end of the set of the proxy */
+
+ res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writefunc);
+ if (res != CURLE_OK)
+ {
+ FREE(filename);
+ Scierror(999, _("Failed to set write function [%s]\n"), errorBuffer);
+ return NULL;
+ }
+
+ //Get data to be written to the variable
+ res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
+ if (res != CURLE_OK)
+ {
+ FREE(filename);
+ free_string(&buffer);
+ Scierror(999, _("Failed to set write data [%s]\n"), errorBuffer);
+ return NULL;
+ }
+
+ // Follow redirects
+ res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
+ if (res != CURLE_OK)
+ {
+ FREE(filename);
+ free_string(&buffer);
+ Scierror(999, _("Failed to set 'Follow Location' [%s]\n"), errorBuffer);
+ return NULL;
+ }
+
+ res = curl_easy_perform(curl);
+ if (res != 0)
+ {
+ FREE(filename);
+ free_string(&buffer);
+ Scierror(999, _("Transfer did not complete successfully: %s\n"), errorBuffer);
+ return NULL;
+ }
+
+ wcfopen(file, (char*)filename, "wb");
+ if (file == NULL)
+ {
+ Scierror(999, _("Failed opening '%s' for writing.\n"), filename);
+ FREE(filename);
+ return NULL;
+ }
+
+ /* Write the file */
+ fwrite(buffer.ptr, sizeof(char), buffer.len, file);
+
+ /* Create the variable which contains the output argument */
+ *content = buffer.ptr;
+
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+
+ fclose(file);
+ return filename;
+}
+/* ==================================================================== */
+static char *Curl_basename(char *path)
+{
+ char *s1 = NULL;
+ char *s2 = NULL;
+
+ s1 = strrchr(path, '/');
+ s2 = strrchr(path, '\\');
+
+ if (s1 && s2)
+ {
+ path = (s1 > s2 ? s1 : s2) + 1;
+ }
+ else if (s1)
+ {
+ path = s1 + 1;
+ }
+ else if (s2)
+ {
+ path = s2 + 1;
+ }
+ return path;
+}
+/* ==================================================================== */
diff --git a/modules/fileio/src/c/dlManager.h b/modules/fileio/src/c/dlManager.h
new file mode 100755
index 000000000..8e48baca9
--- /dev/null
+++ b/modules/fileio/src/c/dlManager.h
@@ -0,0 +1,29 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2012 - SE - Sylvestre LEDRU
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+#ifndef __DLMANAGER_H__
+#define __DLMANAGER_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "BOOL.h"
+
+#define DEFAULT_FILENAME "index.html"
+
+/**
+ * Download a file
+ * @param[in] fileUrl the location of the file
+ * @param[in] dest where to save the file
+ * @return the file pointer
+*/
+char *downloadFile(char *url, char *dest, char *username, char *password, char **content);
+
+#endif /* __DLMANAGER_H__ */
diff --git a/modules/fileio/src/c/do_xxscanf.c b/modules/fileio/src/c/do_xxscanf.c
new file mode 100755
index 000000000..969be74f3
--- /dev/null
+++ b/modules/fileio/src/c/do_xxscanf.c
@@ -0,0 +1,404 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#if defined(__linux__)
+#define _GNU_SOURCE /* Bug 5673 fix: avoid dependency on GLIBC_2.7 */
+#endif
+
+#include <stdio.h>
+#include <ctype.h> /* isdigit */
+#include <string.h>
+#include "BOOL.h"
+#include "MALLOC.h"
+#include "do_xxscanf.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "do_xxprintf.h"
+#include "core_math.h"
+/*--------------------------------------------------------------------------*/
+typedef int (*XXSCANF) (FILE *, char *, ...);
+typedef int (*FLUSH) (FILE *);
+
+/*--------------------------------------------------------------------------*/
+static void set_xxscanf(FILE * fp, XXSCANF * xxscanf, char **target, char **strv)
+{
+ if (fp == (FILE *) 0)
+ {
+ *target = *strv;
+ *xxscanf = (XXSCANF) sscanf;
+ }
+ else
+ {
+ *target = (char *)fp;
+ *xxscanf = (XXSCANF) fscanf;
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+int do_xxscanf(char *fname, FILE * fp, char *format, int *nargs, char *strv, int *retval, rec_entry * buf, sfdir * type)
+{
+ int nc[MAXSCAN];
+ int n_directive_count = 0;
+ int i = 0;
+ int l_flag = 0;
+ int h_flag = 0;
+ int width_flag = 0;
+ int width_val = 0;
+ int ignore_flag = 0;
+ int str_width_flag = 0;
+ int num_conversion = -1;
+ void *ptrtab[MAXSCAN] = {NULL};
+ char sformat[MAX_STR];
+ char backupcurrrentchar;
+ char directive;
+ char *p1 = NULL;
+ char *target = NULL;
+ char *sval = NULL;
+ register char *currentchar = NULL;
+
+ XXSCANF xxscanf;
+
+ set_xxscanf(fp, &xxscanf, &target, &strv);
+ currentchar = format;
+ *retval = 0;
+
+ while (TRUE)
+ {
+ /* scanf */
+ while (*currentchar != '%' && *currentchar != '\0')
+ {
+ currentchar++;
+ }
+ if (*currentchar == '%' && *(currentchar + 1) == '%')
+ {
+ currentchar = currentchar + 2;
+ while (*currentchar != '%' && *currentchar != '\0')
+ {
+ currentchar++;
+ }
+ }
+
+ if (*currentchar == 0)
+ {
+ break;
+ }
+
+ currentchar++;
+ p1 = currentchar - 1;
+
+ while (isdigit(((int)*currentchar)))
+ {
+ currentchar++;
+ }
+
+ width_flag = 0;
+
+ if (p1 + 1 != currentchar)
+ {
+ char w = *currentchar;
+
+ *currentchar = '\0';
+ width_flag = 1;
+ sscanf(p1 + 1, "%d", &width_val);
+ *currentchar = w;
+ }
+
+ ignore_flag = 0;
+
+ if (*currentchar == '*')
+ {
+ ignore_flag = 1;
+ currentchar++;
+ }
+ else
+ {
+ l_flag = h_flag = 0;
+ }
+
+ if (*currentchar == 'l')
+ {
+ currentchar++;
+ l_flag = 1;
+ }
+ else if (*currentchar == 'h')
+ {
+ currentchar++;
+ h_flag = 1;
+ }
+
+ /* directive points to the scan directive */
+
+ directive = *currentchar++;
+
+ if (directive == '[')
+ {
+ char *currentchar1 = currentchar--;
+
+ while (*currentchar1 != '\0' && *currentchar1 != ']')
+ {
+ currentchar1++;
+ }
+
+ if (*currentchar1 == '\0')
+ {
+ Scierror(998, _("%s: An error occurred: %s\n"), fname, _("unclosed [ directive."));
+ return RET_BUG;
+ }
+
+ if (currentchar1 == currentchar + 1 || strncmp(currentchar, "[^]", 3) == 0)
+ {
+ currentchar1++;
+ while (*currentchar1 != '\0' && *currentchar1 != ']')
+ {
+ currentchar1++;
+ }
+
+ if (*currentchar1 == '\0')
+ {
+ Scierror(998, _("%s: An error occurred: %s\n"), fname, _("unclosed [ directive."));
+ return RET_BUG;
+ }
+ }
+
+ directive = *currentchar1++;
+ currentchar = currentchar1;
+ }
+
+ backupcurrrentchar = *currentchar;
+
+ if (ignore_flag != 1)
+ {
+ num_conversion++;
+
+ if (num_conversion >= MAXSCAN)
+ {
+ Scierror(998, _("%s: An error occurred: too many (> %d) conversion required.\n"), fname, MAXSCAN);
+ return RET_BUG;
+ }
+
+ switch (directive)
+ {
+ case ']':
+ if (width_flag == 0)
+ {
+ str_width_flag = 1;
+ }
+
+ if (width_flag == 1 && width_val > MAX_STR - 1)
+ {
+ Scierror(998, _("%s: An error occurred: field %d is too long (> %d) for %%[ directive.\n"), fname, width_val, MAX_STR - 1);
+ return RET_BUG;
+ }
+
+ if ((buf[num_conversion].c = MALLOC(MAX_STR)) == NULL)
+ {
+ return MEM_LACK;
+ }
+ ptrtab[num_conversion] = buf[num_conversion].c;
+ type[num_conversion] = SF_S;
+ break;
+
+ case 's':
+ if (l_flag + h_flag)
+ {
+ Scierror(998, _("%s: An error occurred: %s\n"), fname, _("Bad conversion."));
+ return RET_BUG;
+ }
+
+ if (width_flag == 0)
+ {
+ str_width_flag = 1;
+ }
+ if (width_flag == 1 && width_val > MAX_STR - 1)
+ {
+ Scierror(998, _("%s: An error occurred: field %d is too long (< %d) for %%s directive.\n"), fname, width_val, MAX_STR - 1);
+ return RET_BUG;
+ }
+
+ if ((buf[num_conversion].c = MALLOC(MAX_STR)) == NULL)
+ {
+ return MEM_LACK;
+ }
+
+ ptrtab[num_conversion] = buf[num_conversion].c;
+ type[num_conversion] = SF_S;
+ break;
+
+ case 'c':
+ if (l_flag + h_flag)
+ {
+ Scierror(998, _("%s: An error occurred: %s\n"), fname, _("Bad conversion."));
+ return RET_BUG;
+ }
+
+ if (width_flag == 1)
+ {
+ nc[num_conversion] = width_val;
+ }
+ else
+ {
+ nc[num_conversion] = 1;
+ }
+
+ if (width_flag == 1 && width_val > MAX_STR - 1)
+ {
+ Scierror(998, _("%s: An error occurred: field %d is too long (< %d) for %%c directive.\n"), fname, width_val, MAX_STR - 1);
+ return RET_BUG;
+ }
+
+ if ((buf[num_conversion].c = MALLOC(MAX_STR)) == NULL)
+ {
+ return MEM_LACK;
+ }
+
+ ptrtab[num_conversion] = buf[num_conversion].c;
+ type[num_conversion] = SF_C;
+ break;
+
+ case 'o':
+ case 'u':
+ case 'x':
+ case 'X':
+ if (l_flag)
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].lui;
+ type[num_conversion] = SF_LUI;
+ }
+ else if (h_flag)
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].sui;
+ type[num_conversion] = SF_SUI;
+ }
+ else
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].ui;
+ type[num_conversion] = SF_UI;
+ }
+ break;
+
+ case 'D':
+ ptrtab[num_conversion] = &buf[num_conversion].li;
+ type[num_conversion] = SF_LI;
+ break;
+
+ case 'n':
+ n_directive_count++;
+ //pass to next statement
+
+ case 'i':
+ case 'd':
+ if (l_flag)
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].li;
+ type[num_conversion] = SF_LI;
+ }
+ else if (h_flag)
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].si;
+ type[num_conversion] = SF_SI;
+ }
+ else
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].i;
+ type[num_conversion] = SF_I;
+ }
+ break;
+
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'E':
+ case 'G':
+ if (h_flag)
+ {
+ Scierror(998, _("%s: An error occurred: %s\n"), fname, _("Bad conversion."));
+ return RET_BUG;
+ }
+ else if (l_flag)
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].lf;
+ type[num_conversion] = SF_LF;
+ }
+ else
+ {
+ ptrtab[num_conversion] = &buf[num_conversion].f;
+ type[num_conversion] = SF_F;
+ }
+ break;
+
+ default:
+ Scierror(998, _("%s: An error occurred: %s\n"), fname, _("Bad conversion."));
+ return RET_BUG;
+ }
+ *currentchar = backupcurrrentchar;
+ }
+ }
+
+ if (str_width_flag == 1)
+ {
+ char *f1 = format;
+ char *f2 = sformat;
+ char *slast = sformat + MAX_STR - 1 - 4;
+
+ while (*f1 != '\0')
+ {
+ int n;
+
+ *f2++ = *f1++;
+
+ if (*(f1 - 1) == '%' && (*(f1) == 's' || *(f1) == '['))
+ {
+ n = sprintf(f2, "%d", MAX_STR - 1);
+ f2 += n;
+ *f2++ = *f1++;
+ }
+
+ if (f2 == slast)
+ {
+ Scierror(998, _("%s: An error occurred: format is too long (> %d).\n"), fname, MAX_STR - 1);
+ return RET_BUG;
+ }
+ }
+
+ *f2 = '\0';
+ format = sformat;
+ }
+
+ *retval = (*xxscanf) ((VPTR) target, format,
+ ptrtab[0], ptrtab[1], ptrtab[2], ptrtab[3], ptrtab[4], ptrtab[5], ptrtab[6], ptrtab[7], ptrtab[8], ptrtab[9],
+ ptrtab[10], ptrtab[11], ptrtab[12], ptrtab[13], ptrtab[14], ptrtab[15], ptrtab[16], ptrtab[17], ptrtab[18], ptrtab[19],
+ ptrtab[20], ptrtab[21], ptrtab[22], ptrtab[23], ptrtab[24], ptrtab[25], ptrtab[26], ptrtab[27], ptrtab[28], ptrtab[29],
+ ptrtab[30], ptrtab[31], ptrtab[32], ptrtab[33], ptrtab[34], ptrtab[35], ptrtab[36], ptrtab[37], ptrtab[38], ptrtab[39],
+ ptrtab[40], ptrtab[41], ptrtab[42], ptrtab[43], ptrtab[44], ptrtab[45], ptrtab[46], ptrtab[47], ptrtab[48], ptrtab[49],
+ ptrtab[50], ptrtab[51], ptrtab[52], ptrtab[53], ptrtab[54], ptrtab[55], ptrtab[56], ptrtab[57], ptrtab[58], ptrtab[59],
+ ptrtab[60], ptrtab[61], ptrtab[62], ptrtab[63], ptrtab[64], ptrtab[65], ptrtab[66], ptrtab[67], ptrtab[68], ptrtab[69],
+ ptrtab[70], ptrtab[71], ptrtab[72], ptrtab[73], ptrtab[74], ptrtab[75], ptrtab[76], ptrtab[77], ptrtab[78], ptrtab[79],
+ ptrtab[80], ptrtab[81], ptrtab[82], ptrtab[83], ptrtab[84], ptrtab[85], ptrtab[86], ptrtab[87], ptrtab[88], ptrtab[89],
+ ptrtab[90], ptrtab[91], ptrtab[92], ptrtab[93], ptrtab[94], ptrtab[95], ptrtab[96], ptrtab[97], ptrtab[98],
+ ptrtab[MAXSCAN - 1]);
+
+ *nargs = Min(num_conversion + 1, Max(*retval + n_directive_count, 0));
+
+ for (i = 1; i <= *nargs; i++)
+ {
+ if (type[i - 1] == SF_C)
+ {
+ sval = (char *)ptrtab[i - 1];
+ sval[nc[i - 1]] = '\0';
+ }
+ }
+
+ return 0;
+}
+
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/do_xxscanf.h b/modules/fileio/src/c/do_xxscanf.h
new file mode 100755
index 000000000..940fe4795
--- /dev/null
+++ b/modules/fileio/src/c/do_xxscanf.h
@@ -0,0 +1,45 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __DO_XXSCANF_H__
+#define __DO_XXSCANF_H__
+
+#include <stdio.h>
+
+/*if maxscan is increased don't forget to change the (*xxscanf)(......)
+in do_xxscanf procedure */
+#define MAXSCAN 100
+#define MAX_STR 1024
+
+typedef union
+{
+ char * c;
+ long unsigned int lui;
+ short unsigned int sui;
+ unsigned int ui;
+ long int li;
+ short int si;
+ int i;
+ double lf;
+ float f;
+} rec_entry;
+
+typedef union
+{
+ double d;
+ char * s;
+} entry;
+typedef enum {SF_C, SF_S, SF_LUI, SF_SUI, SF_UI, SF_LI, SF_SI, SF_I, SF_LF, SF_F} sfdir;
+
+int do_xxscanf (char *fname, FILE *fp, char *format, int *nargs, char *strv, int *retval, rec_entry *buf, sfdir *type);
+#endif /* __DO_XXSCANF_H__ */
+
diff --git a/modules/fileio/src/c/expandPathVariable.c b/modules/fileio/src/c/expandPathVariable.c
new file mode 100755
index 000000000..caa8e2264
--- /dev/null
+++ b/modules/fileio/src/c/expandPathVariable.c
@@ -0,0 +1,203 @@
+/*--------------------------------------------------------------------------*/
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include "sci_types.h"
+#include "expandPathVariable.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "PATH_MAX.h"
+#include "api_scilab.h"
+#include "getlongpathname.h"
+/*--------------------------------------------------------------------------*/
+struct VARIABLEALIAS
+{
+ wchar_t *Alias;
+ wchar_t *VariableName;
+};
+/*--------------------------------------------------------------------------*/
+#define NB_ALIAS 7
+static struct VARIABLEALIAS VARIABLES_words[NB_ALIAS] =
+{
+ {L"SCIHOME", L"SCIHOME"},
+ {L"WSCI", L"WSCI"},
+ {L"SCI", L"SCI"},
+ {L"~", L"home"},
+ {L"HOME", L"home"},
+ {L"home", L"home"},
+ {L"TMPDIR", L"TMPDIR"}
+};
+/*--------------------------------------------------------------------------*/
+static wchar_t *getVariableValueDefinedInScilab(wchar_t *wcVarName);
+static wchar_t *convertFileSeparators(wchar_t *wcStr);
+/*--------------------------------------------------------------------------*/
+wchar_t *expandPathVariableW(wchar_t *wcstr)
+{
+ wchar_t *wcexpanded = NULL;
+ if (wcstr)
+ {
+ int i = 0;
+ int lenStr = (int)wcslen(wcstr);
+
+ for (i = 0; i < NB_ALIAS; i++)
+ {
+ int lenAlias = 0;
+
+ /* input is ALIAS without subdirectory */
+ if (wcscmp(VARIABLES_words[i].Alias, wcstr) == 0)
+ {
+ wchar_t *wcexpanded = getVariableValueDefinedInScilab(VARIABLES_words[i].VariableName);
+ if (wcexpanded)
+ {
+ return convertFileSeparators(wcexpanded);
+ }
+ }
+
+ lenAlias = (int)wcslen(VARIABLES_words[i].Alias);
+
+ if (lenStr > lenAlias)
+ {
+ wchar_t *wcBegin = (wchar_t *)MALLOC(sizeof(wchar_t) * (lenAlias + 1));
+ if (wcBegin)
+ {
+ wcsncpy(wcBegin, wcstr, lenAlias);
+ wcBegin[lenAlias] = 0;
+
+ if (wcscmp(wcBegin, VARIABLES_words[i].Alias) == 0 )
+ {
+ if ( (wcstr[lenAlias] == L'/') || (wcstr[lenAlias] == L'\\') )
+ {
+ wchar_t * newBegin = getVariableValueDefinedInScilab(VARIABLES_words[i].VariableName);
+ if (newBegin)
+ {
+ int lengthnewBegin = (int)wcslen(newBegin);
+ wcexpanded = (wchar_t *)MALLOC(sizeof(wchar_t) * (lengthnewBegin + (int)wcslen(&wcstr[lenAlias]) + 1));
+ if (wcexpanded)
+ {
+ wcscpy(wcexpanded, newBegin);
+ wcscat(wcexpanded, &wcstr[lenAlias]);
+ FREE(wcBegin);
+ wcBegin = NULL;
+ FREE(newBegin);
+ newBegin = NULL;
+ return convertFileSeparators(wcexpanded);
+ }
+ FREE(newBegin);
+ newBegin = NULL;
+ }
+ }
+ }
+ FREE(wcBegin);
+ wcBegin = NULL;
+ }
+ }
+ }
+
+ /* Variables not founded returns a copy of input */
+ wcexpanded = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(wcstr) + 1));
+ if (wcexpanded)
+ {
+ wcscpy(wcexpanded, wcstr);
+ return convertFileSeparators(wcexpanded);
+ }
+ }
+ return wcexpanded;
+}
+/*--------------------------------------------------------------------------*/
+char *expandPathVariable(char* str)
+{
+ char *expanded = NULL;
+ wchar_t *wstr = to_wide_string(str);
+
+ if (wstr)
+ {
+ wchar_t *wcexpanded = expandPathVariableW(wstr);
+ if (wcexpanded)
+ {
+ expanded = wide_string_to_UTF8(wcexpanded);
+ FREE(wcexpanded);
+ wcexpanded = NULL;
+ }
+ FREE(wstr);
+ wstr = NULL;
+ }
+ return expanded;
+}
+/*--------------------------------------------------------------------------*/
+wchar_t *getVariableValueDefinedInScilab(wchar_t *wcVarName)
+{
+ wchar_t *VARVALUE = NULL;
+ char *varname = NULL;
+ BOOL bConvLong = FALSE;
+ wchar_t *LongName = NULL;
+
+ if (wcVarName == NULL)
+ {
+ return NULL;
+ }
+
+ varname = wide_string_to_UTF8(wcVarName);
+ if (varname == NULL)
+ {
+ return NULL;
+ }
+
+ if (isNamedStringType(pvApiCtx, varname) == 0 || isNamedScalar(pvApiCtx, varname) == 0)
+ {
+ FREE(varname);
+ return NULL;
+ }
+
+ if (getAllocatedNamedSingleWideString(pvApiCtx, varname, &VARVALUE))
+ {
+ if (VARVALUE)
+ {
+ freeAllocatedSingleWideString(VARVALUE);
+ }
+
+ FREE(varname);
+ return NULL;
+ }
+
+ LongName = getlongpathnameW(VARVALUE, &bConvLong);
+ if (LongName)
+ {
+ freeAllocatedSingleWideString(VARVALUE);
+ VARVALUE = LongName;
+ }
+
+ FREE(varname);
+ return VARVALUE;
+}
+/*--------------------------------------------------------------------------*/
+wchar_t *convertFileSeparators(wchar_t *wcStr)
+{
+ if (wcStr)
+ {
+ int k = 0;
+ int len = (int)wcslen(wcStr);
+
+#ifdef _MSC_VER
+ for (k = 0 ; k < len ; k++) if (wcStr[k] == L'/')
+ {
+ wcStr[k] = L'\\';
+ }
+#else
+ for (k = 0 ; k < len ; k++) if (wcStr[k] == L'\\')
+ {
+ wcStr[k] = L'/';
+ }
+#endif
+ }
+ return wcStr;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fileinfo.c b/modules/fileio/src/c/fileinfo.c
new file mode 100755
index 000000000..918cd7e68
--- /dev/null
+++ b/modules/fileio/src/c/fileinfo.c
@@ -0,0 +1,267 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <windows.h>
+#endif
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "PATH_MAX.h"
+#include "fileinfo.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "returnanan.h"
+#include "expandPathVariable.h"
+/*--------------------------------------------------------------------------*/
+#define FILEINFO_ARRAY_SIZE 13
+
+#define FILEINFO_TOTAL_SIZE_INDICE 0
+#define FILEINFO_MODE_INDICE 1
+#define FILEINFO_UID_INDICE 2
+#define FILEINFO_GID_INDICE 3
+#define FILEINFO_DEV_INDICE 4
+#define FILEINFO_MTIME_INDICE 5
+#define FILEINFO_CTIME_INDICE 6
+#define FILEINFO_ATIME_INDICE 7
+#define FILEINFO_RDEV_INDICE 8
+#define FILEINFO_BLKSIZE_INDICE 9
+#define FILEINFO_BLOCKS_INDICE 10
+#define FILEINFO_INO_INDICE 11
+#define FILEINFO_NLINK_INDICE 12
+
+#define FILEINFO_DEFAULT_ERROR -1
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+static double *fileinfo_Windows(char *filepathname, int *ierr);
+#else
+static double *fileinfo_Others(char *filepathname, int *ierr);
+#endif
+/*--------------------------------------------------------------------------*/
+double * fileinfo(char *filename, int *ierr)
+{
+ char *expandedpath = NULL;
+ double *FILEINFO_ARRAY = NULL;
+
+ if (filename == NULL)
+ {
+ *ierr = FILEINFO_DEFAULT_ERROR;
+ return NULL;
+ }
+
+ expandedpath = expandPathVariable(filename);
+ if (expandedpath)
+ {
+#ifdef _MSC_VER
+ FILEINFO_ARRAY = fileinfo_Windows(expandedpath, ierr);
+#else
+ FILEINFO_ARRAY = fileinfo_Others(expandedpath, ierr);
+#endif
+ FREE(expandedpath);
+ expandedpath = NULL;
+ }
+
+ return FILEINFO_ARRAY;
+}
+/*--------------------------------------------------------------------------*/
+double * filesinfo(char **filenames, int dim_filenames, int *ierrs)
+{
+ double *FILES_INFO_ARRAY = NULL;
+
+ if (dim_filenames > 0)
+ {
+ int i = 0;
+ int j = 0;
+ FILES_INFO_ARRAY = (double*)MALLOC(sizeof(double ) * (dim_filenames * FILEINFO_ARRAY_SIZE));
+ if (FILES_INFO_ARRAY == NULL)
+ {
+ return NULL;
+ }
+
+ for (i = 0; i < dim_filenames; i++)
+ {
+ int k = 0;
+ int ierr = 0;
+ double * FILEINFO_ARRAY = fileinfo(filenames[i], &ierr);
+ if (FILEINFO_ARRAY == NULL)
+ {
+ FILEINFO_ARRAY = (double*)MALLOC(sizeof(double) * FILEINFO_ARRAY_SIZE);
+
+ FILEINFO_ARRAY[FILEINFO_TOTAL_SIZE_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_MODE_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_UID_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_GID_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_DEV_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_MTIME_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_CTIME_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_ATIME_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_RDEV_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_BLKSIZE_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_BLOCKS_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_INO_INDICE] = C2F(returnanan)();
+ FILEINFO_ARRAY[FILEINFO_NLINK_INDICE] = C2F(returnanan)();
+ }
+
+ for (k = 0; k < FILEINFO_ARRAY_SIZE; k++)
+ {
+ FILES_INFO_ARRAY[j + k] = FILEINFO_ARRAY[k];
+ }
+ j = j + FILEINFO_ARRAY_SIZE;
+ FREE(FILEINFO_ARRAY);
+ FILEINFO_ARRAY = NULL;
+ ierrs[i] = ierr;
+ }
+ }
+ return FILES_INFO_ARRAY;
+}
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+static double *fileinfo_Windows(char *filepathname, int *ierr)
+{
+ struct _stat buf;
+ wchar_t* wcpath = to_wide_string(filepathname);
+ wchar_t DriveTemp[PATH_MAX + FILENAME_MAX + 1];
+
+ double *FILEINFO_ARRAY = NULL;
+ int result = 0;
+
+ *ierr = 0;
+
+ if (wcpath == NULL)
+ {
+ *ierr = FILEINFO_DEFAULT_ERROR;
+ return NULL;
+ }
+
+ swprintf(DriveTemp, wcslen(wcpath) + 1, L"%s", wcpath);
+ if ( (DriveTemp[wcslen(DriveTemp) - 1] == L'/') || (DriveTemp[wcslen(DriveTemp) - 1] == L'\\') )
+ {
+ DriveTemp[wcslen(DriveTemp) - 1] = L'\0';
+ }
+
+ result = _wstat(DriveTemp, &buf );
+
+ FREE(wcpath);
+ wcpath = NULL;
+
+ if ( result != 0 )
+ {
+ if ( (wcslen(DriveTemp) == 2) || (wcslen(DriveTemp) == 3) )
+ {
+ UINT DriveType = GetDriveTypeW(DriveTemp);
+ if ( (DriveType == DRIVE_UNKNOWN) || (DriveType == DRIVE_NO_ROOT_DIR) )
+ {
+ *ierr = result;
+ return NULL;
+ }
+ else
+ {
+ FILEINFO_ARRAY = (double*)MALLOC(sizeof(double) * FILEINFO_ARRAY_SIZE);
+ if (FILEINFO_ARRAY)
+ {
+ FILEINFO_ARRAY[FILEINFO_TOTAL_SIZE_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_MODE_INDICE] = 16895; /* default file mode for a directory on Windows 40777*/
+ FILEINFO_ARRAY[FILEINFO_UID_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_GID_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_DEV_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_MTIME_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_CTIME_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_ATIME_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_RDEV_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_BLKSIZE_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_BLOCKS_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_INO_INDICE] = 0;
+ FILEINFO_ARRAY[FILEINFO_NLINK_INDICE] = 0;
+ *ierr = result;
+ }
+ else
+ {
+ *ierr = FILEINFO_DEFAULT_ERROR;
+ return NULL;
+ }
+ }
+ }
+ else
+ {
+ *ierr = result;
+ return NULL;
+ }
+ }
+ else
+ {
+ FILEINFO_ARRAY = (double*)MALLOC(sizeof(double) * FILEINFO_ARRAY_SIZE);
+ if (FILEINFO_ARRAY)
+ {
+ FILEINFO_ARRAY[FILEINFO_TOTAL_SIZE_INDICE] = (double) buf.st_size;/* total size, in bytes */
+ FILEINFO_ARRAY[FILEINFO_MODE_INDICE] = (double) buf.st_mode;/* protection */
+ FILEINFO_ARRAY[FILEINFO_UID_INDICE] = (double) buf.st_uid;/* user ID of owner */
+ FILEINFO_ARRAY[FILEINFO_GID_INDICE] = (double) buf.st_gid;/* group ID of owner */
+ FILEINFO_ARRAY[FILEINFO_DEV_INDICE] = (double) buf.st_dev;/* device */
+ FILEINFO_ARRAY[FILEINFO_MTIME_INDICE] = (double) buf.st_mtime;/* time of last modification */
+ FILEINFO_ARRAY[FILEINFO_CTIME_INDICE] = (double) buf.st_ctime;/* time of last change */
+ FILEINFO_ARRAY[FILEINFO_ATIME_INDICE] = (double) buf.st_atime;/* time of last access */
+ FILEINFO_ARRAY[FILEINFO_RDEV_INDICE] = (double) buf.st_rdev;/* device type (if inode device) */
+ FILEINFO_ARRAY[FILEINFO_BLKSIZE_INDICE] = 0;/* blocksize for filesystem I/O */
+ FILEINFO_ARRAY[FILEINFO_BLOCKS_INDICE] = 0;/* number of blocks allocated */
+ FILEINFO_ARRAY[FILEINFO_INO_INDICE] = (double) buf.st_ino;/* inode */
+ FILEINFO_ARRAY[FILEINFO_NLINK_INDICE] = (double) buf.st_nlink;/* number of hard links */
+ *ierr = result;
+ }
+ else
+ {
+ *ierr = FILEINFO_DEFAULT_ERROR;
+ return NULL;
+ }
+ }
+ return FILEINFO_ARRAY;
+}
+/*--------------------------------------------------------------------------*/
+#else
+static double *fileinfo_Others(char *filepathname, int *ierr)
+{
+ struct stat buf;
+ double *FILEINFO_ARRAY = NULL;
+ int result = 0;
+
+ *ierr = 0;
+
+ result = stat(filepathname, &buf );
+ if (result == 0)
+ {
+ FILEINFO_ARRAY = (double*)MALLOC(sizeof(double) * FILEINFO_ARRAY_SIZE);
+ if (FILEINFO_ARRAY)
+ {
+ FILEINFO_ARRAY[FILEINFO_TOTAL_SIZE_INDICE] = (double) buf.st_size;/* total size, in bytes */
+ FILEINFO_ARRAY[FILEINFO_MODE_INDICE] = (double) buf.st_mode;/* protection */
+ FILEINFO_ARRAY[FILEINFO_UID_INDICE] = (double) buf.st_uid;/* user ID of owner */
+ FILEINFO_ARRAY[FILEINFO_GID_INDICE] = (double) buf.st_gid;/* group ID of owner */
+ FILEINFO_ARRAY[FILEINFO_DEV_INDICE] = (double) buf.st_dev;/* device */
+ FILEINFO_ARRAY[FILEINFO_MTIME_INDICE] = (double) buf.st_mtime;/* time of last modification */
+ FILEINFO_ARRAY[FILEINFO_CTIME_INDICE] = (double) buf.st_ctime;/* time of last change */
+ FILEINFO_ARRAY[FILEINFO_ATIME_INDICE] = (double) buf.st_atime;/* time of last access */
+ FILEINFO_ARRAY[FILEINFO_RDEV_INDICE] = (double) buf.st_rdev;/* device type (if inode device) */
+ FILEINFO_ARRAY[FILEINFO_BLKSIZE_INDICE] = (double) buf.st_blksize;/* blocksize for filesystem I/O */
+ FILEINFO_ARRAY[FILEINFO_BLOCKS_INDICE] = (double) buf.st_blocks;/* number of blocks allocated */
+ FILEINFO_ARRAY[FILEINFO_INO_INDICE] = (double) buf.st_ino;/* inode */
+ FILEINFO_ARRAY[FILEINFO_NLINK_INDICE] = (double) buf.st_nlink;/* number of hard links */
+ }
+ else
+ {
+ *ierr = FILEINFO_DEFAULT_ERROR;
+ return NULL;
+ }
+ }
+ *ierr = result;
+ return FILEINFO_ARRAY;
+}
+#endif
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fileinfo.h b/modules/fileio/src/c/fileinfo.h
new file mode 100755
index 000000000..33c745d98
--- /dev/null
+++ b/modules/fileio/src/c/fileinfo.h
@@ -0,0 +1,24 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+
+#ifndef __FILEINFO_H__
+#define __FILEINFO_H__
+
+#define FILEINFO_ARRAY_SIZE 13
+
+double * fileinfo(char *filename, int *ierr);
+
+double * filesinfo(char **filenames, int dim_filenames, int *ierrs);
+
+#endif /* __FILEINFO_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fileio.rc b/modules/fileio/src/c/fileio.rc
new file mode 100755
index 000000000..cd80a77b7
--- /dev/null
+++ b/modules/fileio/src/c/fileio.rc
@@ -0,0 +1,97 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x0L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "FileDescription", "fileio module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "fileio module"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "fileio.dll"
+ VALUE "ProductName", " fileio"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/fileio/src/c/filesmanagement.c b/modules/fileio/src/c/filesmanagement.c
new file mode 100755
index 000000000..8218dc4a8
--- /dev/null
+++ b/modules/fileio/src/c/filesmanagement.c
@@ -0,0 +1,520 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007 - INRIA - Allan CORNET
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+#include <string.h>
+#include <stdlib.h>
+#include "PATH_MAX.h"
+#include "filesmanagement.h"
+#include "core_math.h" /* Min Max */
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "fullpath.h"
+/*--------------------------------------------------------------------------*/
+typedef struct
+{
+ FILE *ftformat;
+ int ftswap; /* swap status for each file */
+ int ftmode; /* mode for each file */
+ int fttype; /* type (Fortran,C) for each file must be zero initialized */
+ char *ftname; /* name for each file */
+
+} scilabfile;
+/*--------------------------------------------------------------------------*/
+static scilabfile *ScilabFileList = NULL;
+static int CurFile = -1;
+static int PreviousFile = -1;
+static int CurrentMaxFiles = DEFAULT_MAX_FILES;
+/*--------------------------------------------------------------------------*/
+FILE *GetFileOpenedInScilab(int Id)
+{
+ int fd1 = 0;
+
+ fd1 = (Id != -1) ? Min(Max(Id, 0), GetMaximumFileOpenedInScilab() - 1) : CurFile ;
+
+ if ( fd1 != -1 )
+ {
+ return ScilabFileList[fd1].ftformat;
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+int GetCurrentFileId(void)
+{
+ return CurFile;
+}
+/*--------------------------------------------------------------------------*/
+int GetPreviousFileId(void)
+{
+ return PreviousFile;
+}
+/*--------------------------------------------------------------------------*/
+void SetCurrentFileId(int Id)
+{
+ if (Id == -1)
+ {
+ PreviousFile = -1;
+ }
+ else
+ {
+ PreviousFile = CurFile;
+ }
+
+ CurFile = Id;
+}
+/*--------------------------------------------------------------------------*/
+void SetFileOpenedInScilab(int Id, FILE *fptr)
+{
+ ScilabFileList[Id].ftformat = fptr;
+}
+/*--------------------------------------------------------------------------*/
+int GetSwapStatus(int Id)
+{
+ int fd1;
+ fd1 = (Id != -1) ? Min(Max(Id, 0), GetMaximumFileOpenedInScilab() - 1) : GetCurrentFileId() ;
+ if ( fd1 != -1 )
+ {
+ return(ScilabFileList[fd1].ftswap);
+ }
+ return(0);
+}
+/*--------------------------------------------------------------------------*/
+void SetSwapStatus(int Id, int newswap)
+{
+ ScilabFileList[Id].ftswap = newswap;
+}
+/*--------------------------------------------------------------------------*/
+int GetMaximumFileOpenedInScilab(void)
+{
+ return CurrentMaxFiles;
+}
+/*--------------------------------------------------------------------------*/
+int GetFileModeOpenedInScilab(int Id)
+{
+ return ScilabFileList[Id].ftmode;
+}
+/*--------------------------------------------------------------------------*/
+void SetFileModeOpenedInScilab(int Id, int mode)
+{
+ ScilabFileList[Id].ftmode = mode;
+}
+/*--------------------------------------------------------------------------*/
+int GetFileTypeOpenedInScilab(int Id)
+{
+ if ( (Id > 0) && (Id < GetMaximumFileOpenedInScilab()) )
+ {
+ return ScilabFileList[Id].fttype;
+ }
+ else
+ {
+ return 0;
+ }
+}
+/*--------------------------------------------------------------------------*/
+char *GetFileTypeOpenedInScilabAsString(int Id)
+{
+ char *ret = NULL;
+ switch (GetFileTypeOpenedInScilab(Id))
+ {
+ case 1:
+ ret = strdup("F");
+ break;
+ case 2:
+ ret = strdup("C");
+ break;
+ case 0:
+ default:
+ ret = strdup("Error");
+ break;
+ }
+ return ret;
+}
+/*--------------------------------------------------------------------------*/
+void SetFileTypeOpenedInScilab(int Id, int Type)
+{
+ ScilabFileList[Id].fttype = Type;
+}
+/*--------------------------------------------------------------------------*/
+char* GetFileNameOpenedInScilab(int Id)
+{
+ if (GetFileTypeOpenedInScilab(Id) == 1) // Fortran file
+ {
+ /* A exception for Id 5 and 6 */
+ /* no name */
+ if ((Id != 5) && (Id != 6))
+ {
+ return ScilabFileList[Id].ftname;
+ }
+ }
+ else
+ {
+ if (GetFileOpenedInScilab(Id) != NULL)
+ {
+ return ScilabFileList[Id].ftname;
+ }
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+BOOL SetFileNameOpenedInScilab(int Id, char *name)
+{
+ BOOL bOK = FALSE;
+ char *ptrName = NULL;
+ char fullpath[PATH_MAX * 4];
+
+ /* A exception for Id 5 and 6 */
+ /* no filename */
+ if ( name[0] == '\0' )
+ {
+ ptrName = "";
+ bOK = TRUE;
+ }
+ else
+ {
+ if ( get_full_path( fullpath, name, PATH_MAX * 4 ) != NULL )
+ {
+ ptrName = strdup(fullpath);
+ if (ptrName)
+ {
+ bOK = TRUE;
+ }
+ }
+ else
+ {
+ ptrName = strdup(name);
+ if (ptrName)
+ {
+ bOK = TRUE;
+ }
+ }
+ }
+ ScilabFileList[Id].ftname = ptrName;
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+BOOL FreeFileNameOpenedInScilab(int Id)
+{
+ char *ptr = ScilabFileList[Id].ftname;
+ if (ptr && ptr[0])
+ {
+ FREE(ptr);
+ ptr = NULL;
+ return TRUE;
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL InitializeScilabFilesList(void)
+{
+ if (!ScilabFileList)
+ {
+ CurrentMaxFiles = DEFAULT_MAX_FILES;
+ ScilabFileList = (scilabfile *) MALLOC(sizeof(scilabfile) * CurrentMaxFiles);
+
+ if (ScilabFileList)
+ {
+ int i = 0;
+ scilabfile initializedScilabFile;
+
+ initializedScilabFile.ftformat = NULL;
+ initializedScilabFile.ftmode = 0;
+ initializedScilabFile.ftname = NULL;
+ initializedScilabFile.ftswap = 0;
+ initializedScilabFile.fttype = 0;
+
+ for (i = 0; i < CurrentMaxFiles; i++)
+ {
+ scilabfile *ptrScilabFile = &ScilabFileList[i];
+ memcpy(ptrScilabFile, &initializedScilabFile, sizeof(scilabfile));
+ }
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL TerminateScilabFilesList(void)
+{
+ if (ScilabFileList)
+ {
+ FREE(ScilabFileList);
+ ScilabFileList = NULL;
+ return TRUE;
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL ExtendScilabFilesList(int NewSize)
+{
+ if (ScilabFileList)
+ {
+ if (NewSize > CurrentMaxFiles)
+ {
+
+ scilabfile *ScilabFileListTmp = NULL;
+ ScilabFileListTmp = (scilabfile *)REALLOC(ScilabFileList, NewSize * sizeof(scilabfile));
+ if (ScilabFileListTmp)
+ {
+ int i = 0;
+ ScilabFileList = ScilabFileListTmp;
+ for (i = CurrentMaxFiles; i < NewSize; i++)
+ {
+ ScilabFileList[i].ftformat = NULL;
+ ScilabFileList[i].ftmode = 0;
+ ScilabFileList[i].ftname = NULL;
+ ScilabFileList[i].ftswap = 0;
+ ScilabFileList[i].fttype = 0;
+ }
+ CurrentMaxFiles = NewSize;
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL IsAlreadyOpenedInScilab(char *filename)
+{
+ if (ScilabFileList)
+ {
+ char fullpath[PATH_MAX * 4] = {0};
+ int i = 0;
+
+ if (filename == NULL || strcmp(filename, "") == 0)
+ {
+ return FALSE;
+ }
+
+ if ( get_full_path( fullpath, filename, PATH_MAX * 4 ) == NULL )
+ {
+ /* if we are a problem */
+ strncpy(fullpath, filename, sizeof(fullpath));
+ }
+
+ for (i = 0; i < CurrentMaxFiles; i++)
+ {
+ if ( (ScilabFileList[i].ftformat) && ScilabFileList[i].ftname)
+ {
+ if (strcmp(ScilabFileList[i].ftname, fullpath) == 0)
+ {
+ return TRUE;
+ }
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+int GetIdFromFilename(char *filename)
+{
+ if (ScilabFileList)
+ {
+ char fullpath[PATH_MAX * 4] = {0};
+ int i = 0;
+ if ( get_full_path( fullpath, filename, PATH_MAX * 4 ) == NULL )
+ {
+ /* if we are a problem */
+ strncpy(fullpath, filename, sizeof(fullpath));
+ }
+
+ for (i = 0; i < CurrentMaxFiles; i++)
+ {
+ if ( (ScilabFileList[i].ftformat) && ScilabFileList[i].ftname)
+ {
+ if (strcmp(ScilabFileList[i].ftname, fullpath) == 0)
+ {
+ return i;
+ }
+ }
+ }
+ }
+ return FILE_ID_NOT_DEFINED;
+}
+/*--------------------------------------------------------------------------*/
+double *GetFilesIdUsed(int *sizeArrayReturned)
+{
+ int i = 0, j = 0;
+ double* ArrayIdUsed = NULL;
+ *sizeArrayReturned = GetNumberOfIdsUsed();
+
+ ArrayIdUsed = (double*)MALLOC(sizeof(double) * (*sizeArrayReturned));
+ if (ArrayIdUsed == NULL)
+ {
+ *sizeArrayReturned = 0;
+ return NULL;
+ }
+
+ j = 0;
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ ArrayIdUsed[j] = (double)i;
+ j++;
+ }
+ }
+ return ArrayIdUsed;
+}
+/*--------------------------------------------------------------------------*/
+double *GetSwapsUsed(int *sizeArrayReturned)
+{
+ double *ArraySwapUsed = NULL;
+ int i = 0, j = 0;
+
+ *sizeArrayReturned = GetNumberOfIdsUsed();
+
+ ArraySwapUsed = (double*)MALLOC(sizeof(double) * (*sizeArrayReturned));
+ if (ArraySwapUsed == NULL)
+ {
+ *sizeArrayReturned = 0;
+ return NULL;
+ }
+
+ j = 0;
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ ArraySwapUsed[j] = (double)GetSwapStatus(i);
+ j++;
+ }
+ }
+ return ArraySwapUsed;
+}
+/*--------------------------------------------------------------------------*/
+double *GetModesUsed(int *sizeArrayReturned)
+{
+ double *ArrayModeUsed = NULL;
+ int i = 0, j = 0;
+
+ *sizeArrayReturned = GetNumberOfIdsUsed();
+
+ ArrayModeUsed = (double*)MALLOC(sizeof(double) * (*sizeArrayReturned));
+ if (ArrayModeUsed == NULL)
+ {
+ *sizeArrayReturned = 0;
+ return NULL;
+ }
+
+ j = 0;
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ ArrayModeUsed[j] = (double)GetFileModeOpenedInScilab(i);
+ j++;
+ }
+ }
+ return ArrayModeUsed;
+}
+/*--------------------------------------------------------------------------*/
+int *GetTypesUsed(int *sizeArrayReturned)
+{
+ int *ArrayTypeUsed = NULL;
+ int i = 0, j = 0;
+
+ *sizeArrayReturned = GetNumberOfIdsUsed();
+
+ ArrayTypeUsed = (int*)MALLOC(sizeof(int) * (*sizeArrayReturned));
+ if (ArrayTypeUsed == NULL)
+ {
+ *sizeArrayReturned = 0;
+ return NULL;
+ }
+
+ j = 0;
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ ArrayTypeUsed[j] = GetFileTypeOpenedInScilab(i);
+ j++;
+ }
+ }
+ return ArrayTypeUsed;
+}
+/*--------------------------------------------------------------------------*/
+char **GetTypesUsedAsString(int *sizeArrayReturned)
+{
+ char **ArrayTypeUsedAsString = NULL;
+ int i = 0, j = 0;
+
+ *sizeArrayReturned = GetNumberOfIdsUsed();
+
+ ArrayTypeUsedAsString = (char**)MALLOC(sizeof(char*) * (*sizeArrayReturned));
+ if (ArrayTypeUsedAsString == NULL)
+ {
+ *sizeArrayReturned = 0;
+ return NULL;
+ }
+
+ j = 0;
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ ArrayTypeUsedAsString[j] = GetFileTypeOpenedInScilabAsString(i);
+ j++;
+ }
+ }
+ return ArrayTypeUsedAsString;
+}
+/*--------------------------------------------------------------------------*/
+char **GetFilenamesUsed(int *sizeArrayReturned)
+{
+ char **FilenamesArray = NULL;
+ int i = 0, j = 0;
+
+ *sizeArrayReturned = GetNumberOfIdsUsed();
+
+ FilenamesArray = (char**)MALLOC(sizeof(char*) * (*sizeArrayReturned));
+ if (FilenamesArray == NULL)
+ {
+ *sizeArrayReturned = 0;
+ return NULL;
+ }
+
+ j = 0;
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ if (GetFileNameOpenedInScilab(i))
+ {
+ FilenamesArray[j] = strdup(GetFileNameOpenedInScilab(i));
+ }
+ else
+ {
+ FilenamesArray[j] = strdup("");
+ }
+ j++;
+ }
+ }
+ return FilenamesArray;
+}
+/*--------------------------------------------------------------------------*/
+int GetNumberOfIdsUsed(void)
+{
+ int i = 0;
+ int numberOfIds = 0;
+
+ for (i = 0; i < GetMaximumFileOpenedInScilab(); i++)
+ {
+ if (GetFileTypeOpenedInScilab(i) != 0)
+ {
+ numberOfIds++;
+ }
+ }
+ return numberOfIds;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/findfiles.c b/modules/fileio/src/c/findfiles.c
new file mode 100755
index 000000000..8f49fd3a0
--- /dev/null
+++ b/modules/fileio/src/c/findfiles.c
@@ -0,0 +1,198 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <Windows.h>
+#else
+#include <sys/types.h>
+#include <dirent.h>
+#include <errno.h>
+#endif
+#include <stdio.h>
+#include <string.h>
+#include "findfiles.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "sciprint.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+static BOOL find_spec( char *filename , char *filespec);
+#endif
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+char **findfiles(char *path, char *filespec, int *sizeListReturned, BOOL warning)
+{
+ char **ListFiles = NULL;
+ wchar_t *wcstrPattern = NULL;
+ wchar_t *wcfilespec = NULL;
+ wchar_t *wcpath = NULL;
+ HANDLE hFile;
+ WIN32_FIND_DATAW FileInformation;
+ int nbElements = 0;
+ int len = 0;
+
+ wcfilespec = to_wide_string(filespec);
+ wcpath = to_wide_string(path);
+
+ len = (int)( wcslen(wcpath) + wcslen(wcfilespec) + 8);
+ wcstrPattern = (wchar_t*)MALLOC(sizeof(wchar_t) * len);
+ swprintf(wcstrPattern, len, L"%s/%s", wcpath, wcfilespec);
+
+ hFile = FindFirstFileW(wcstrPattern, &FileInformation);
+ if (wcstrPattern)
+ {
+ FREE(wcstrPattern);
+ wcstrPattern = NULL;
+ }
+
+ if (hFile != INVALID_HANDLE_VALUE)
+ {
+ do
+ {
+ if ( wcscmp(FileInformation.cFileName, L".") && wcscmp(FileInformation.cFileName, L"..") )
+ {
+ nbElements++;
+ if (ListFiles)
+ {
+ ListFiles = (char**)REALLOC(ListFiles, sizeof(char*) * (nbElements));
+ }
+ else
+ {
+ ListFiles = (char**)MALLOC(sizeof(char*) * (nbElements));
+ }
+ ListFiles[nbElements - 1] = wide_string_to_UTF8(FileInformation.cFileName);
+ }
+ }
+ while (FindNextFileW(hFile, &FileInformation) == TRUE);
+ }
+ else
+ {
+ if (warning)
+ {
+ sciprint(_("Warning: Could not open directory %s: %s\n"), path, strerror(errno));
+ }
+ }
+ FindClose(hFile);
+ *sizeListReturned = nbElements;
+ return ListFiles;
+}
+#else
+/*--------------------------------------------------------------------------*/
+char **findfiles(char *path, char *filespec, int *sizeListReturned, BOOL warning)
+{
+ char **ListFiles = NULL;
+ int nbElements = 0;
+ DIR *folder = NULL;
+ struct dirent *read = NULL;
+
+ *sizeListReturned = 0;
+
+ folder = opendir(path);
+ if (folder)
+ {
+ while ((read = readdir(folder)))
+ {
+ if ( strcmp(read->d_name, ".") && strcmp(read->d_name, "..") )
+ {
+ if ( find_spec(read->d_name , filespec) )
+ {
+ nbElements++;
+ if (ListFiles)
+ {
+ ListFiles = (char**)REALLOC(ListFiles, sizeof(char*) * (nbElements));
+ }
+ else
+ {
+ ListFiles = (char**)MALLOC(sizeof(char*) * (nbElements));
+ }
+ ListFiles[nbElements - 1] = strdup(read->d_name);
+ }
+ }
+ }
+ closedir(folder);
+ }
+ else
+ {
+ if (warning)
+ {
+ sciprint(_("Warning: Could not open directory %s: %s\n"), path, strerror(errno));
+ }
+ }
+
+ *sizeListReturned = nbElements;
+ return ListFiles;
+}
+#endif
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+/**
+ * Check if the file matches the mask
+ * '*' for all chars
+ * '?' for only one
+ * @TODO check if it can be optimized
+ * @param filename the filename
+ * @param filespec the mask
+ */
+static BOOL find_spec( char *filename , char *filespec)
+{
+ char *any = NULL;
+
+ while ( ( *filespec ) || ( *filename ) )
+ {
+ switch ( *filespec )
+ {
+ case '*':
+ any = filespec;
+ filespec++;
+ while ( ( *filename != *filespec ) && ( *filename ) )
+ {
+ filename++;
+ }
+ break;
+
+ case '?':
+ filespec++;
+ if ( *filename )
+ {
+ filename++;
+ }
+ break;
+
+ default:
+ if ( *filespec != *filename )
+ {
+ if ( ( any ) && ( *filename ) )
+ {
+ filespec = any;
+ }
+ else
+ {
+ return FALSE;
+ }
+ }
+ else
+ {
+ filespec++;
+ filename++;
+ }
+ break;
+ }
+ }
+
+ return TRUE;
+}
+#endif
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fprintfMat.c b/modules/fileio/src/c/fprintfMat.c
new file mode 100755
index 000000000..95095528e
--- /dev/null
+++ b/modules/fileio/src/c/fprintfMat.c
@@ -0,0 +1,260 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#if defined(__linux__)
+#define _GNU_SOURCE /* Bug 5673 fix: avoid dependency on GLIBC_2.7 */
+#endif
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include <ctype.h> /* isdigit */
+#include <string.h>
+#include "fprintfMat.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "core_math.h"
+#include "strsubst.h"
+#include "BOOL.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#define finite(x) _finite(x)
+#endif
+#define EOL "\n"
+#define NanString "Nan"
+#define InfString "Inf"
+#define NegInfString "-Inf"
+/*--------------------------------------------------------------------------*/
+#define NB_FORMAT_SUPPORTED 7
+static char *supportedFormat[NB_FORMAT_SUPPORTED] =
+{"lf", "lg", "d", "i", "e", "f", "g"};
+/*--------------------------------------------------------------------------*/
+static BOOL checkFprintfMatFormat(char *format);
+static char *getCleanedFormat(char *format);
+static char *replaceInFormat(char *format);
+/*--------------------------------------------------------------------------*/
+#ifndef signbit
+static int signbit(double x)
+{
+ union
+ {
+ double d;
+ short s[4];
+ int i[2];
+ } u;
+
+ u.d = x;
+#if SIZEOF_INT == 4
+ return u.i[1] < 0;
+#else
+ return u.s[3] < 0;
+#endif
+}
+#endif /* signbit */
+/*--------------------------------------------------------------------------*/
+fprintfMatError fprintfMat(char *filename, char *format, char *separator,
+ double *MatrixValues, int m, int n,
+ char **textAdded, int sizeTextAdded)
+{
+#if _MSC_VER
+#define MODEFD "wt"
+#else
+#define MODEFD "w"
+#endif
+ int i = 0;
+ FILE *fd = NULL;
+
+ if (filename == NULL)
+ {
+ return FPRINTMAT_NULL_POINTER_ERROR;
+ }
+ if (format == NULL)
+ {
+ return FPRINTMAT_NULL_POINTER_ERROR;
+ }
+ if (separator == NULL)
+ {
+ return FPRINTMAT_NULL_POINTER_ERROR;
+ }
+ if ((sizeTextAdded > 0) && (textAdded == NULL))
+ {
+ return FPRINTFMAT_ERROR;
+ }
+ if ((m > 0) && (n > 0) && (MatrixValues == NULL))
+ {
+ return FPRINTFMAT_ERROR;
+ }
+
+ if (!checkFprintfMatFormat(format))
+ {
+ return FPRINTMAT_FORMAT_ERROR;
+ }
+
+ wcfopen(fd , filename, MODEFD);
+
+ if ( fd == (FILE *)NULL )
+ {
+ return FPRINTFMAT_FOPEN_ERROR;
+ }
+
+ if (sizeTextAdded > 0)
+ {
+ if (textAdded)
+ {
+ for (i = 0; i < sizeTextAdded; i++)
+ {
+ if (textAdded[i])
+ {
+ fprintf(fd, "%s\n", textAdded[i]);
+ }
+ }
+ }
+ }
+
+ for (i = 0 ; i < m ; i++ )
+ {
+ int j = 0;
+ for ( j = 0 ; j < n ; j++)
+ {
+ if (ISNAN(MatrixValues[i + m * j]))
+ {
+ char *localFormat = replaceInFormat(format);
+ if (localFormat)
+ {
+ fprintf(fd, localFormat, NanString);
+ FREE(localFormat);
+ localFormat = NULL;
+ }
+ else
+ {
+ fprintf(fd, format, MatrixValues[i + m * j]);
+ }
+ }
+ else if (finite(MatrixValues[i + m * j]))
+ {
+ fprintf(fd, format, MatrixValues[i + m * j]);
+ }
+ else
+ {
+ if ( signbit(MatrixValues[i + m * j]) )
+ {
+ char *localFormat = replaceInFormat(format);
+ if (localFormat)
+ {
+ fprintf(fd, localFormat, NegInfString);
+ FREE(localFormat);
+ localFormat = NULL;
+ }
+ else
+ {
+ fprintf(fd, format, MatrixValues[i + m * j]);
+ }
+ }
+ else
+ {
+ char *localFormat = replaceInFormat(format);
+ if (localFormat)
+ {
+ fprintf(fd, localFormat, InfString);
+ FREE(localFormat);
+ localFormat = NULL;
+ }
+ else
+ {
+ fprintf(fd, format, MatrixValues[i + m * j]);
+ }
+ }
+ }
+
+ fprintf(fd, "%s", separator);
+ }
+ fprintf(fd, EOL);
+ }
+
+ fclose(fd);
+
+ return FPRINTFMAT_NO_ERROR;
+}
+/*--------------------------------------------------------------------------*/
+static BOOL checkFprintfMatFormat(char *format)
+{
+ if (format)
+ {
+ char *tokenPercent1 = strchr(format, '%');
+ char *tokenPercent2 = strrchr(format, '%');
+ if ((tokenPercent2 && tokenPercent1) && (tokenPercent1 == tokenPercent2))
+ {
+ char *cleanedFormat = getCleanedFormat(format);
+ if (cleanedFormat)
+ {
+ FREE(cleanedFormat);
+ cleanedFormat = NULL;
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+static char *replaceInFormat(char *format)
+{
+ char *newFormat = NULL;
+ if (format)
+ {
+ char *cleanedFormat = getCleanedFormat(format);
+ if (cleanedFormat)
+ {
+ newFormat = strsub(format, cleanedFormat, "%s");
+ FREE(cleanedFormat);
+ cleanedFormat = NULL;
+ }
+ }
+ return newFormat;
+}
+/*--------------------------------------------------------------------------*/
+static char *getCleanedFormat(char *format)
+{
+ char *cleanedFormat = NULL;
+ if (format)
+ {
+ char *percent = strchr(format, '%');
+ if (percent)
+ {
+ int i = 0;
+ for (i = 0; i < NB_FORMAT_SUPPORTED; i++)
+ {
+ char *token = strstr(percent, supportedFormat[i]);
+ if (token)
+ {
+ int nbcharacters = (int)(strlen(percent) - strlen(token));
+ cleanedFormat = strdup(percent);
+ cleanedFormat[nbcharacters] = 0;
+ if ( ((nbcharacters - 1 > 0) && (isdigit(cleanedFormat[nbcharacters - 1])) ||
+ (cleanedFormat[nbcharacters - 1]) == '.') ||
+ (cleanedFormat[nbcharacters - 1]) == '%')
+ {
+ strcat(cleanedFormat, supportedFormat[i]);
+ return cleanedFormat;
+ }
+ else
+ {
+ FREE(cleanedFormat);
+ cleanedFormat = NULL;
+ }
+ }
+ }
+ }
+ }
+ return cleanedFormat;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fprintfMat.h b/modules/fileio/src/c/fprintfMat.h
new file mode 100755
index 000000000..588339f71
--- /dev/null
+++ b/modules/fileio/src/c/fprintfMat.h
@@ -0,0 +1,33 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __FPRINTFMAT_H__
+#define __FPRINTFMAT_H__
+
+typedef enum
+{
+ FPRINTFMAT_NO_ERROR = 0,
+ FPRINTFMAT_FOPEN_ERROR = 1,
+ FPRINTMAT_FORMAT_ERROR = 2,
+ FPRINTMAT_NULL_POINTER_ERROR = 3,
+ FPRINTFMAT_ERROR = 4
+} fprintfMatError;
+
+#define DEFAULT_FPRINTFMAT_FORMAT "%lf"
+#define DEFAULT_FPRINTFMAT_SEPARATOR " "
+
+fprintfMatError fprintfMat(char *filename, char *format, char *separator,
+ double *MatrixValues, int m, int n,
+ char **textAdded, int sizeTextAdded);
+
+#endif /* __FPRINTFMAT_H__ */
+/*--------------------------------------------------------------------------*/ \ No newline at end of file
diff --git a/modules/fileio/src/c/fscanfMat.c b/modules/fileio/src/c/fscanfMat.c
new file mode 100755
index 000000000..d2c4cbecf
--- /dev/null
+++ b/modules/fileio/src/c/fscanfMat.c
@@ -0,0 +1,819 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#if defined(__linux__)
+#define _GNU_SOURCE /* Bug 5673 fix: avoid dependency on GLIBC_2.7 */
+#endif
+/*--------------------------------------------------------------------------*/
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "fscanfMat.h"
+#include "charEncoding.h"
+#include "BOOL.h"
+#include "localization.h"
+#include "Scierror.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "freeArrayOfString.h"
+#include "mgetl.h"
+#include "mopen.h"
+#include "mclose.h"
+/*--------------------------------------------------------------------------*/
+#define EOL "\n"
+#define NanString "Nan"
+#define InfString "Inf"
+#define NegInfString "-Inf"
+/*--------------------------------------------------------------------------*/
+#if _MSC_VER
+#define READ_ONLY_TEXT_MODE "rt"
+#else
+#define READ_ONLY_TEXT_MODE "r"
+#endif
+/*--------------------------------------------------------------------------*/
+#define NB_FORMAT_SUPPORTED 7
+static char *supportedFormat[NB_FORMAT_SUPPORTED] =
+{"lf", "lg", "d", "i", "e", "f", "g"};
+/*--------------------------------------------------------------------------*/
+static BOOL itCanBeMatrixLine(char *line, char *format, char *separator);
+static int getNbColumnsInLine(char *line, char *format, char *separator);
+static int getNumbersColumnsInLines(char **lines, int sizelines,
+ int nbLinesText,
+ char *format, char *separator);
+static int getNumbersLinesOfText(char **lines, int sizelines,
+ char *format, char *separator);
+static char **splitLine(char *str, char *sep, int *toks, char meta);
+static double *getDoubleValuesFromLines(char **lines, int sizelines,
+ int nbLinesText,
+ char *format, char *separator,
+ int m, int n);
+static double *getDoubleValuesInLine(char *line,
+ char *format, char *separator,
+ int nbColumnsMax);
+static double returnINF(BOOL bPositive);
+static double returnNAN(void);
+static BOOL checkFscanfMatFormat(char *format);
+static char *getCleanedFormat(char *format);
+static BOOL isOnlyBlankLine(const char *line);
+static char **removeEmptyLinesAtTheEnd(char **lines, int *sizelines);
+static BOOL isValidLineWithOnlyOneNumber(char *line);
+static char ** removeTextLinesAtTheEnd(char **lines, int *sizelines, char *format, char *separator);
+/*--------------------------------------------------------------------------*/
+fscanfMatResult *fscanfMat(char *filename, char *format, char *separator)
+{
+ int fd = 0;
+ int f_swap = 0;
+ double res = 0.0;
+ int errMOPEN = MOPEN_INVALID_STATUS;
+ double dErrClose = 0.;
+ int errMGETL = MGETL_ERROR;
+ int i = 0;
+ int nbLinesTextDetected = 0;
+ int nbColumns = 0;
+ int nbRows = 0;
+
+
+ fscanfMatResult *resultFscanfMat = NULL;
+ char **lines = NULL;
+ int nblines = 0;
+ double *dValues = NULL;
+
+ if ((filename == NULL) || (format == NULL) || (separator == NULL))
+ {
+ return NULL;
+ }
+
+ if (!checkFscanfMatFormat(format))
+ {
+ resultFscanfMat = (fscanfMatResult*)(MALLOC(sizeof(fscanfMatResult)));
+ if (resultFscanfMat)
+ {
+ resultFscanfMat->err = FSCANFMAT_FORMAT_ERROR;
+ resultFscanfMat->m = 0;
+ resultFscanfMat->n = 0;
+ resultFscanfMat->sizeText = 0;
+ resultFscanfMat->text = NULL;
+ resultFscanfMat->values = NULL;
+ }
+ return resultFscanfMat;
+ }
+
+ C2F(mopen)(&fd, filename, READ_ONLY_TEXT_MODE, &f_swap, &res, &errMOPEN);
+ if (errMOPEN != MOPEN_NO_ERROR)
+ {
+ resultFscanfMat = (fscanfMatResult*)(MALLOC(sizeof(fscanfMatResult)));
+ if (resultFscanfMat)
+ {
+ resultFscanfMat->err = FSCANFMAT_MOPEN_ERROR;
+ resultFscanfMat->m = 0;
+ resultFscanfMat->n = 0;
+ resultFscanfMat->sizeText = 0;
+ resultFscanfMat->text = NULL;
+ resultFscanfMat->values = NULL;
+ }
+ return resultFscanfMat;
+ }
+
+ lines = mgetl(fd, -1, &nblines, &errMGETL);
+ C2F(mclose)(&fd, &dErrClose);
+ if (errMGETL != MGETL_NO_ERROR)
+ {
+ resultFscanfMat = (fscanfMatResult*)(MALLOC(sizeof(fscanfMatResult)));
+ if (resultFscanfMat)
+ {
+ resultFscanfMat->err = FSCANFMAT_READLINES_ERROR;
+ resultFscanfMat->m = 0;
+ resultFscanfMat->n = 0;
+ resultFscanfMat->sizeText = 0;
+ resultFscanfMat->text = NULL;
+ resultFscanfMat->values = NULL;
+ }
+ return resultFscanfMat;
+ }
+
+ lines = removeEmptyLinesAtTheEnd(lines, &nblines);
+ lines = removeTextLinesAtTheEnd(lines, &nblines, format, separator);
+
+ nbLinesTextDetected = getNumbersLinesOfText(lines, nblines, format, separator);
+ nbRows = nblines - nbLinesTextDetected;
+ nbColumns = getNumbersColumnsInLines(lines, nblines, nbLinesTextDetected, format, separator);
+
+ dValues = getDoubleValuesFromLines(lines, nblines,
+ nbLinesTextDetected,
+ format, separator,
+ nbColumns, nbRows);
+ if (dValues)
+ {
+ resultFscanfMat = (fscanfMatResult*)(MALLOC(sizeof(fscanfMatResult)));
+ if (resultFscanfMat)
+ {
+ if (nbLinesTextDetected > 0)
+ {
+ if (lines)
+ {
+ for (i = nbLinesTextDetected; i < nblines; i++)
+ {
+ if (lines[i])
+ {
+ FREE(lines[i]);
+ lines[i] = NULL;
+ }
+ }
+ }
+ resultFscanfMat->text = lines;
+ }
+ else
+ {
+ freeArrayOfString(lines, nblines);
+ resultFscanfMat->text = NULL;
+ }
+ resultFscanfMat->sizeText = nbLinesTextDetected;
+ resultFscanfMat->m = nbRows;
+ resultFscanfMat->n = nbColumns;
+ resultFscanfMat->values = dValues;
+ resultFscanfMat->err = FSCANFMAT_NO_ERROR;
+ }
+ else
+ {
+ FREE(dValues);
+ freeArrayOfString(lines, nblines);
+ }
+ }
+ else
+ {
+ freeArrayOfString(lines, nblines);
+ if (nbColumns == 0 || nbRows == 0)
+ {
+ resultFscanfMat = (fscanfMatResult*)(MALLOC(sizeof(fscanfMatResult)));
+ if (resultFscanfMat)
+ {
+ resultFscanfMat->err = FSCANFMAT_READLINES_ERROR;
+ resultFscanfMat->m = 0;
+ resultFscanfMat->n = 0;
+ resultFscanfMat->sizeText = 0;
+ resultFscanfMat->text = NULL;
+ resultFscanfMat->values = NULL;
+ }
+ }
+ }
+ return resultFscanfMat;
+}
+/*--------------------------------------------------------------------------*/
+void freeFscanfMatResult(fscanfMatResult *resultStruct)
+{
+ if (resultStruct)
+ {
+ if (resultStruct->text)
+ {
+ FREE(resultStruct->text);
+ resultStruct->text = NULL;
+ }
+
+ if (resultStruct->values)
+ {
+ FREE(resultStruct->values);
+ resultStruct->values = NULL;
+ }
+
+ resultStruct->err = FSCANFMAT_ERROR;
+ resultStruct->m = 0;
+ resultStruct->n = 0;
+ resultStruct->sizeText = 0;
+
+ FREE(resultStruct);
+ resultStruct = NULL;
+ }
+}
+/*--------------------------------------------------------------------------*/
+static BOOL itCanBeMatrixLine(char *line, char *format, char *separator)
+{
+ if (line)
+ {
+ int ierr = 0;
+ double dValue = 0.;
+
+ ierr = sscanf(line, format, &dValue);
+
+ if ((ierr == EOF) || (ierr == 0))
+ {
+ char *str = strdup(line);
+ if (str)
+ {
+ ierr = sscanf(line, "%4s", str);
+
+ if ((ierr != 0) && (ierr != EOF))
+ {
+ if ((strncmp(str, NanString, (int)strlen(NanString)) == 0) ||
+ (strncmp(str, NegInfString, (int)strlen(NegInfString)) == 0) ||
+ (strncmp(str, InfString, (int)strlen(InfString)) == 0))
+ {
+ FREE(str);
+ str = NULL;
+ return TRUE;
+ }
+ }
+ FREE(str);
+ str = NULL;
+ }
+ }
+ else
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+static int getNumbersLinesOfText(char **lines, int sizelines,
+ char *format, char *separator)
+{
+ int numberOfLines = 0;
+ if (lines)
+ {
+ int i = 0;
+ for (i = 0; i < sizelines; i++)
+ {
+ if (!itCanBeMatrixLine(lines[i], format, separator))
+ {
+ numberOfLines++;
+ }
+ else
+ {
+ return numberOfLines;
+ }
+ }
+ }
+ return numberOfLines;
+}
+/*--------------------------------------------------------------------------*/
+static int getNumbersColumnsInLines(char **lines, int sizelines,
+ int nbLinesText,
+ char *format, char *separator)
+{
+ int previousNbColumns = 0;
+ int NbColumns = 0;
+ BOOL firstLine = TRUE;
+ if (lines)
+ {
+ int i = 0;
+ int firstLinesMatrix = nbLinesText;
+ for (i = firstLinesMatrix; i < sizelines; i++)
+ {
+ NbColumns = getNbColumnsInLine(lines[i], format, separator);
+ if (firstLine)
+ {
+ previousNbColumns = NbColumns;
+ firstLine = FALSE;
+ }
+ else
+ {
+ if (previousNbColumns != NbColumns)
+ {
+ return 0;
+ }
+ }
+ }
+ }
+ return NbColumns;
+}
+/*--------------------------------------------------------------------------*/
+static int getNbColumnsInLine(char *line, char *format, char *separator)
+{
+ int nbColums = 0;
+
+ if (line && format && separator)
+ {
+ int i = 0;
+ int nbTokens = 0;
+ char **splittedStr = splitLine(line, separator, &nbTokens, 0);
+ if (nbTokens == 0)
+ {
+ freeArrayOfString(splittedStr, nbTokens);
+ return nbColums;
+ }
+ if (splittedStr)
+ {
+ for (i = 0; i < nbTokens; i++)
+ {
+ double dValue = 0.;
+ int ierr = sscanf(splittedStr[i], format, &dValue);
+ if ((ierr != 0) && (ierr != EOF))
+ {
+ nbColums++;
+ }
+ else
+ {
+ char *str = strdup(splittedStr[i]);
+ strcpy(str, "");
+
+ ierr = sscanf(splittedStr[i], "%4s", str);
+
+ if ((ierr != 0) && (ierr != EOF))
+ {
+ if ( (strcmp(str, NanString) == 0) ||
+ (strcmp(str, NegInfString) == 0) ||
+ (strcmp(str, InfString) == 0) )
+ {
+ nbColums++;
+ }
+ else
+ {
+ freeArrayOfString(splittedStr, nbTokens);
+ /* bug 6889 */
+ if (nbColums)
+ {
+ nbColums--;
+ }
+ FREE(str);
+ str = NULL;
+ return nbColums;
+ }
+ }
+ else
+ {
+ FREE(str);
+ str = NULL;
+ freeArrayOfString(splittedStr, nbTokens);
+ return nbColums;
+ }
+
+ FREE(str);
+ str = NULL;
+ }
+ }
+ freeArrayOfString(splittedStr, nbTokens);
+ }
+ }
+ return nbColums;
+}
+/*--------------------------------------------------------------------------*/
+static char **splitLine(char *str, char *sep, int *toks, char meta)
+{
+ char **retstr = NULL;
+ char *idx = NULL;
+ char *end = NULL;
+ char *sep_end = NULL;
+ char *sep_idx = NULL;
+ int len = 0;
+ int curr_str = 0;
+ char last_char = 0xFF;
+
+ *toks = 0;
+
+ if ((sep == NULL) || (str == NULL))
+ {
+ return NULL;
+ }
+
+ sep_end = sep + strlen(sep);
+ end = str + strlen(str);
+
+ sep_idx = sep;
+ idx = str;
+
+ if (strstr(str, sep) == NULL)
+ {
+ if ((int)strlen(str) > 0)
+ {
+ if (isValidLineWithOnlyOneNumber(str))
+ {
+ retstr = (char **) MALLOC(sizeof(char *));
+ if (retstr)
+ {
+ retstr[0] = strdup(str);
+ *toks = 1;
+ }
+ }
+ }
+ return retstr;
+ }
+
+ retstr = (char **) MALLOC((sizeof(char *) * (int)strlen(str)));
+ if (retstr == NULL)
+ {
+ *toks = 0;
+ return NULL;
+ }
+
+ while (idx < end)
+ {
+ while (sep_idx < sep_end)
+ {
+ if ((*idx == *sep_idx) && (last_char != meta))
+ {
+ if (len > 0)
+ {
+ if (curr_str < (int)strlen(str))
+ {
+ retstr[curr_str] = (char *) MALLOC((sizeof(char) * len) + 1);
+
+ if (retstr[curr_str] == NULL)
+ {
+ freeArrayOfString(retstr, curr_str);
+ *toks = 0;
+ return NULL;
+ }
+ memcpy(retstr[curr_str], (idx - len), len);
+ retstr[curr_str][len] = 0;
+ len = 0;
+ curr_str++;
+ last_char = *idx;
+ idx++;
+ }
+
+ if (curr_str >= (int)strlen(str))
+ {
+ *toks = curr_str + 1;
+ return retstr;
+ }
+ }
+ else
+ {
+ last_char = *idx;
+ idx++;
+ sep_idx = sep;
+ len = 0;
+ }
+ }
+ else
+ {
+ sep_idx++;
+ }
+ }
+
+ sep_idx = sep;
+ len++;
+ last_char = *idx;
+ idx++;
+ }
+
+ if (len > 0)
+ {
+ retstr[curr_str] = (char *) MALLOC((sizeof(char) * len) + 1);
+
+ if (retstr[curr_str] == NULL)
+ {
+ *toks = 0;
+ FREE(retstr);
+ return NULL;
+ }
+
+ memcpy(retstr[curr_str], (idx - len), len);
+ retstr[curr_str][len] = 0;
+
+ *toks = curr_str + 1;
+ }
+ return retstr;
+}
+/*--------------------------------------------------------------------------*/
+static double *getDoubleValuesFromLines(char **lines, int sizelines,
+ int nbLinesText,
+ char *format, char *separator,
+ int m, int n)
+{
+ double *dValues = NULL;
+
+ if (m == 0 || n == 0)
+ {
+ return NULL;
+ }
+
+ dValues = (double*) MALLOC(sizeof(double) * (m * n));
+ if (dValues)
+ {
+ int i = 0;
+ int firstLinesMatrix = nbLinesText;
+ for (i = firstLinesMatrix; i < sizelines; i++)
+ {
+ double *dValsTmp = getDoubleValuesInLine(lines[i], format, separator, m);
+ if (dValsTmp)
+ {
+ int j = 0;
+ for (j = 0; j < m; j++)
+ {
+ dValues[(i - firstLinesMatrix) + n * j] = dValsTmp[j];
+ }
+ FREE(dValsTmp);
+ dValsTmp = NULL;
+ }
+ }
+ }
+ return dValues;
+}
+/*--------------------------------------------------------------------------*/
+static double *getDoubleValuesInLine(char *line,
+ char *format, char *separator,
+ int nbColumnsMax)
+{
+ double *dValues = NULL;
+
+ if (line && format && separator)
+ {
+ int nbTokens = 0;
+ char **splittedStr = splitLine(line, separator, &nbTokens, 0);
+ if (splittedStr)
+ {
+ int i = 0;
+ dValues = (double*)MALLOC(sizeof(double) * nbColumnsMax);
+ for (i = 0; i < nbColumnsMax; i++)
+ {
+ double dValue = 0.;
+ int ierr = sscanf(splittedStr[i], format, &dValue);
+ if ((ierr != 0) && (ierr != EOF))
+ {
+ dValues[i] = dValue;
+ }
+ else
+ {
+ char *str = strdup(line);
+ strcpy(str, "");
+ ierr = sscanf(splittedStr[i], "%4s", str);
+ if ((ierr != 0) && (ierr != EOF))
+ {
+ if ( (strcmp(str, NanString) == 0) ||
+ (strcmp(str, NegInfString) == 0) ||
+ (strcmp(str, InfString) == 0) )
+ {
+ if (strcmp(str, NanString) == 0)
+ {
+ dValues[i] = returnNAN();
+ }
+
+ if (strcmp(str, NegInfString) == 0)
+ {
+ dValues[i] = returnINF(FALSE);
+ }
+
+ if (strcmp(str, InfString) == 0)
+ {
+ dValues[i] = returnINF(TRUE);
+ }
+ }
+ else
+ {
+ freeArrayOfString(splittedStr, nbTokens);
+ FREE(dValues);
+ dValues = NULL;
+ FREE(str);
+ str = NULL;
+ return NULL;
+ }
+ }
+ else
+ {
+ freeArrayOfString(splittedStr, nbTokens);
+ FREE(dValues);
+ dValues = NULL;
+ FREE(str);
+ str = NULL;
+ return NULL;
+ }
+ FREE(str);
+ str = NULL;
+ }
+ }
+ freeArrayOfString(splittedStr, nbTokens);
+ }
+ }
+
+ return dValues;
+}
+/*--------------------------------------------------------------------------*/
+static double returnINF(BOOL bPositive)
+{
+ double v = 0;
+ double p = 10;
+ if (!bPositive)
+ {
+ p = -10;
+ }
+ return (double) p / (double)v;
+}
+/*--------------------------------------------------------------------------*/
+static double returnNAN(void)
+{
+ static int first = 1;
+ static double nan = 1.0;
+
+ if ( first )
+ {
+ nan = (nan - (double) first) / (nan - (double) first);
+ first = 0;
+ }
+ return (nan);
+}
+/*--------------------------------------------------------------------------*/
+static BOOL checkFscanfMatFormat(char *format)
+{
+ if (format)
+ {
+ char *tokenPercent1 = strchr(format, '%');
+ char *tokenPercent2 = strrchr(format, '%');
+ if ((tokenPercent2 && tokenPercent1) && (tokenPercent1 == tokenPercent2))
+ {
+ char *cleanedFormat = getCleanedFormat(format);
+ if (cleanedFormat)
+ {
+ FREE(cleanedFormat);
+ cleanedFormat = NULL;
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+static char *getCleanedFormat(char *format)
+{
+ char *cleanedFormat = NULL;
+ if (format)
+ {
+ char *percent = strchr(format, '%');
+ if (percent)
+ {
+ int i = 0;
+ for (i = 0; i < NB_FORMAT_SUPPORTED; i++)
+ {
+ char *token = strstr(percent, supportedFormat[i]);
+ if (token)
+ {
+ int nbcharacters = (int)(strlen(percent) - strlen(token));
+ cleanedFormat = strdup(percent);
+ cleanedFormat[nbcharacters] = 0;
+ if ( (nbcharacters - 1 > 0) && (isdigit(cleanedFormat[nbcharacters - 1]) ||
+ (cleanedFormat[nbcharacters - 1]) == '.') ||
+ (cleanedFormat[nbcharacters - 1]) == '%')
+ {
+ strcat(cleanedFormat, supportedFormat[i]);
+ return cleanedFormat;
+ }
+ else
+ {
+ FREE(cleanedFormat);
+ cleanedFormat = NULL;
+ }
+ }
+ }
+ }
+ }
+ return cleanedFormat;
+}
+/*--------------------------------------------------------------------------*/
+static char **removeEmptyLinesAtTheEnd(char **lines, int *sizelines)
+{
+ int i = 0;
+ int nbLinesToRemove = 0;
+ if (lines)
+ {
+ for (i = *sizelines - 1; i >= 0; i--)
+ {
+ if (lines[i])
+ {
+ if ( (strcmp(lines[i], "") == 0) || (isOnlyBlankLine(lines[i])) )
+ {
+ FREE(lines[i]);
+ lines[i] = NULL;
+ nbLinesToRemove++;
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+
+ if (nbLinesToRemove > 0)
+ {
+ lines = (char**)REALLOC(lines, sizeof(char*) * (*sizelines - nbLinesToRemove));
+ *sizelines = *sizelines - nbLinesToRemove;
+ }
+ }
+ else
+ {
+ *sizelines = 0;
+ }
+ return lines;
+}
+/*--------------------------------------------------------------------------*/
+static BOOL isValidLineWithOnlyOneNumber(char *line)
+{
+ if (line)
+ {
+ char *pEnd = NULL;
+ strtod(line, &pEnd);
+ if ((pEnd) && ((int)strlen(pEnd) == 0))
+ {
+ return TRUE;
+ }
+ else
+ {
+ if ((strncmp(line, NanString, (int)strlen(NanString)) == 0) ||
+ (strncmp(line, NegInfString, (int)strlen(NegInfString)) == 0) ||
+ (strncmp(line, InfString, (int)strlen(InfString)) == 0))
+ {
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+static BOOL isOnlyBlankLine(const char *line)
+{
+ if (line)
+ {
+ int i = 0;
+ for (i = 0; i < (int) strlen(line); i++)
+ {
+ if (line[i] != ' ')
+ {
+ return FALSE;
+ }
+ }
+ }
+ return TRUE;
+}
+/*--------------------------------------------------------------------------*/
+static char ** removeTextLinesAtTheEnd(char **lines, int *sizelines, char *format, char *separator)
+{
+ char **linesReturned = NULL;
+ int i = 0;
+ int nbLinesToRemove = 0;
+
+ for (i = *sizelines - 1; i > 0; i--)
+ {
+ if (itCanBeMatrixLine(lines[i], format, separator) == FALSE)
+ {
+ nbLinesToRemove++;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ if (nbLinesToRemove > 0)
+ {
+ linesReturned = (char**)REALLOC(lines, sizeof(char*) * (*sizelines - nbLinesToRemove));
+ *sizelines = *sizelines - nbLinesToRemove;
+ }
+ else
+ {
+ linesReturned = lines;
+ }
+
+ return linesReturned;
+
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fscanfMat.h b/modules/fileio/src/c/fscanfMat.h
new file mode 100755
index 000000000..78aafc0ae
--- /dev/null
+++ b/modules/fileio/src/c/fscanfMat.h
@@ -0,0 +1,51 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __FSCANFMAT_H__
+#define __FSCANFMAT_H__
+
+#include "BOOL.h"
+
+typedef enum
+{
+ FSCANFMAT_NO_ERROR = 0,
+ FSCANFMAT_MOPEN_ERROR = 1,
+ FSCANFMAT_FORMAT_ERROR = 2,
+ FSCANFMAT_ERROR = 3,
+ FSCANFMAT_MEMORY_ALLOCATION = 4,
+ FSCANFMAT_READLINES_ERROR = 5
+} fscanfMatError;
+
+
+typedef struct
+{
+ char **text;
+ int sizeText;
+ double *values;
+ int m;
+ int n;
+ fscanfMatError err;
+} fscanfMatResult;
+
+
+#define DEFAULT_FSCANFMAT_FORMAT "%lg"
+#define DEFAULT_FSCANFMAT_SEPARATOR " "
+
+/**
+*
+*/
+fscanfMatResult *fscanfMat(char *filename, char *format, char *separator);
+
+void freeFscanfMatResult(fscanfMatResult *resultStruct);
+
+#endif /* __FSCANFMAT_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/fullpath.c b/modules/fileio/src/c/fullpath.c
new file mode 100755
index 000000000..1467b027f
--- /dev/null
+++ b/modules/fileio/src/c/fullpath.c
@@ -0,0 +1,292 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009-2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#ifndef _MSC_VER
+#include <sys/param.h>
+#include <limits.h>
+#endif
+#include "fullpath.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "machine.h"
+#include "PATH_MAX.h"
+#include "strsubst.h"
+#include "scicurdir.h"
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+static unsigned int isDirSeparator(const char c);
+static int normalizePath(char *path);
+#endif
+/*--------------------------------------------------------------------------*/
+char *get_full_path(char *_FullPath, const char *_Path, size_t _SizeInBytes)
+{
+#if defined(_MSC_VER)
+ char *returnedFullPath = NULL;
+
+ wchar_t *wPath = to_wide_string((char *)_Path);
+ wchar_t *wFullPath = (wchar_t *) MALLOC(sizeof(wchar_t) * _SizeInBytes);
+
+ _wfullpath(wFullPath, wPath, _SizeInBytes);
+ returnedFullPath = wide_string_to_UTF8(wFullPath);
+ if (returnedFullPath)
+ {
+ strcpy(_FullPath, returnedFullPath);
+ FREE(returnedFullPath);
+ returnedFullPath = NULL;
+ }
+
+ if (wPath)
+ {
+ FREE(wPath);
+ wPath = NULL;
+ }
+ if (wFullPath)
+ {
+ FREE(wFullPath);
+ wFullPath = NULL;
+ }
+
+ return _FullPath;
+#else
+ char *rp = NULL;
+ int lenPath = (int)strlen(_Path);
+ int lenFullPath = 0;
+ int haveFileSep = ((lenPath > 1) && isDirSeparator(_Path[lenPath - 1]));
+ int addFileSep = 0;
+
+ rp = realpath(_Path, _FullPath);
+ lenFullPath = (int)strlen(_FullPath);
+
+ if (rp == NULL)
+ {
+ char * tofind;
+ char * toadd;
+ char * _Path_tmp;
+ char * _Path_start;
+ char * _FullPath_start;
+ char* pstWorkingPath = NULL;
+
+ //if argument is a relative path, add currentdir at start
+ if (_Path[0] != '/')
+ {
+ int ierr = 0;
+ char* pstCurrentPath = scigetcwd(&ierr);
+ //alloc buffer + 2, 1 for '/' and 1 for null termination
+ pstWorkingPath = (char*)MALLOC(sizeof(char) * (lenPath + strlen(pstCurrentPath) + 2));
+ sprintf(pstWorkingPath, "%s/%s", pstCurrentPath, _Path);
+ lenPath = strlen(pstWorkingPath);
+ }
+ else
+ {
+ pstWorkingPath = strdup(_Path);
+ }
+
+ _Path_tmp = (char *)MALLOC(sizeof(char) * (lenPath + 1));
+ _Path_start = (char *)MALLOC(sizeof(char) * (lenPath + 1));
+ _FullPath_start = (char *)MALLOC(sizeof(char) * (lenFullPath + 1));
+ //First case(1): fullpath(TMPDIR+"/a/b/c"), second case(2): fullpath("a/b/c") or third case(3): fullpath("../a/b")
+ strcpy(_Path_start, pstWorkingPath); // _Path_start=TMPDIR+"/a/b/c" (1) or _Path_start="a/b/c" (2) or _Path_start="../a/b/c" (3)
+ strcpy(_FullPath_start, _FullPath); // _Fullpath_Start=TMPDIR+"/a" (1) or _FullPath_start=SCI+"/a" (2) or _FullPath_start=../SCI+"/a" (3)
+ strtok(_Path_start, "/"); // _Path_start=/tmp (1) or _Path_start="a" (2) or _Path_start="a/b/c" (3)
+ strtok(_FullPath_start, "/"); // _FullPath_start=/tmp (1) or _FullPath_start=/home (2) and (3)
+ if (strcmp(_Path_start, _FullPath_start) == 0) // For case: fullpath(TMPDIR+"/a/b/c") (1)
+ {
+ strcpy(_FullPath, pstWorkingPath);
+ normalizePath(_FullPath);
+ FREE(_Path_start);
+ _Path_start = NULL;
+ FREE(_FullPath_start);
+ _FullPath_start = NULL;
+ FREE(_Path_tmp);
+ _Path_tmp = NULL;
+ }
+ else if (strcmp(_Path, _FullPath) != 0) // For case: fullpath("a/b/c") (2) or fullpath("../a/b/c") (3)
+ {
+ strcpy(_Path_tmp, pstWorkingPath); //_Path_tmp="a/b/c" (2) or _Path_tmp="../a/b/c" (3)
+ strtok(_Path_tmp, "./"); // _Path_tmp becomes a (2) or ../a (3)
+ toadd = strsub(pstWorkingPath, _Path_tmp, ""); // to add = "/b/c"
+ strcat(_FullPath, toadd); //_FullPath=_Fullpath+toadd
+ FREE(_Path_tmp);
+ _Path_tmp = NULL;
+ FREE(_Path_start);
+ _Path_start = NULL;
+ FREE(_FullPath_start);
+ _FullPath_start = NULL;
+ }
+
+ FREE(pstWorkingPath);
+ }
+
+ lenFullPath = (int)strlen(_FullPath);
+ addFileSep = ((lenFullPath > 1) && (!isDirSeparator(_FullPath[lenFullPath - 1])) && haveFileSep);
+ if (addFileSep)
+ {
+ char *bufTmp = (char *)MALLOC(sizeof(char) * (lenFullPath + strlen(DIR_SEPARATOR) + 1));
+ if (bufTmp)
+ {
+ sprintf(bufTmp, "%s%s", _FullPath, DIR_SEPARATOR);
+ strcpy(_FullPath, bufTmp);
+ FREE(bufTmp);
+ bufTmp = NULL;
+ }
+ }
+ return _FullPath;
+#endif
+}
+
+/*--------------------------------------------------------------------------*/
+wchar_t *get_full_pathW(wchar_t * _wcFullPath, const wchar_t * _wcPath, size_t _SizeInBytes)
+{
+#if defined(_MSC_VER)
+ if (_wcPath)
+ {
+ _wfullpath(_wcFullPath, _wcPath, _SizeInBytes);
+ return _wcFullPath;
+ }
+ return NULL;
+#else
+ if (_wcPath)
+ {
+ char *_Path = wide_string_to_UTF8(_wcPath);
+ if (_Path)
+ {
+ char *_FullPath = (char *)MALLOC(sizeof(char) * (_SizeInBytes));
+
+ if (_FullPath)
+ {
+ wchar_t *wcResult = NULL;
+ char *rp = NULL;
+
+ rp = realpath(_Path, _FullPath);
+ if (!rp)
+ {
+ strcpy(_FullPath, _Path);
+ normalizePath(_FullPath);
+ }
+ wcResult = to_wide_string(_FullPath);
+ FREE(_FullPath);
+ if (wcResult)
+ {
+ wcscpy(_wcFullPath, wcResult);
+ FREE(wcResult);
+ }
+ }
+ FREE(_Path);
+ }
+ }
+ return _wcFullPath;
+#endif
+}
+
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+static unsigned int isDirSeparator(const char c)
+{
+ return (c == '/' || c == '\\');
+}
+/*--------------------------------------------------------------------------*/
+static int normalizePath(char *path)
+{
+ char *dirs[PATH_MAX];
+ int depth = 0;
+ char *dstptr = path;
+ char *srcptr = path;
+
+ dirs[0] = path;
+ depth++;
+
+ while (1)
+ {
+ if ((srcptr[0] == '.') && isDirSeparator(srcptr[1]))
+ {
+ /* ./ */
+ srcptr += 2;
+ }
+ else if (srcptr[0] == '.' && srcptr[1] == '.' && isDirSeparator(srcptr[2]))
+ {
+ /* ../ */
+ if (depth == 1)
+ {
+ /* ../ */
+ dstptr[0] = '.';
+ dstptr[1] = '.';
+ dstptr[2] = DIR_SEPARATOR[0];
+ dstptr += 3;
+ srcptr += 3;
+ dirs[0] = dstptr;
+ }
+ else
+ {
+ /* a/b/../c */
+ depth--;
+ dstptr = dirs[depth - 1];
+ srcptr += 3;
+ }
+ }
+ else if (srcptr[0] == '.' && srcptr[1] == '.' && srcptr[2] == 0)
+ {
+ /* .. */
+ if (depth == 1)
+ {
+ dstptr[0] = '.';
+ dstptr[1] = '.';
+ dstptr += 2;
+ srcptr += 2;
+ dirs[0] = dstptr;
+ }
+ else
+ {
+ depth--;
+ dstptr = dirs[depth - 1];
+ srcptr += 2;
+ }
+ }
+ else
+ {
+ while (!isDirSeparator(srcptr[0]) && srcptr[0])
+ {
+ *dstptr++ = *srcptr++;
+ }
+
+ if (srcptr[0] == 0)
+ {
+ if (dstptr != path && isDirSeparator(dstptr[-1]))
+ {
+ dstptr[-1] = 0;
+ }
+ dstptr[0] = 0;
+ return 0;
+ }
+ else if (isDirSeparator(srcptr[0]))
+ {
+ *dstptr++ = *srcptr++;
+ dirs[depth] = dstptr;
+ depth++;
+ /* // */
+ while (isDirSeparator(srcptr[0]) && srcptr[0])
+ {
+ srcptr++;
+ }
+ }
+ else
+ {
+ /* error */
+ return -1;
+ }
+ }
+ }
+}
+#endif
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getFullFilename.c b/modules/fileio/src/c/getFullFilename.c
new file mode 100755
index 000000000..874120aea
--- /dev/null
+++ b/modules/fileio/src/c/getFullFilename.c
@@ -0,0 +1,141 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include "getFullFilename.h"
+#include "charEncoding.h"
+#include "MALLOC.h"
+#include "splitpath.h"
+#include "PATH_MAX.h"
+#include "scicurdir.h"
+#include "isdir.h"
+#include "fullpath.h"
+/*--------------------------------------------------------------------------*/
+wchar_t *getFullFilenameW(wchar_t* FilenameInput)
+{
+ wchar_t *pStwcFullFilename = NULL;
+
+ pStwcFullFilename = (wchar_t *)MALLOC(sizeof(wchar_t) * (PATH_MAX * 2));
+ if (pStwcFullFilename)
+ {
+ int i = 0;
+ int lenPath = 0;
+
+ wchar_t wcDrv[PATH_MAX * 2];
+ wchar_t wcDir[PATH_MAX * 2];
+ wchar_t wcName[PATH_MAX * 2];
+ wchar_t wcExt[PATH_MAX * 2];
+
+ wchar_t *wcNameExt = (wchar_t *)MALLOC(sizeof(wchar_t) * (PATH_MAX * 2));
+ wchar_t *wcPath = (wchar_t *)MALLOC(sizeof(wchar_t) * (PATH_MAX * 2));
+ wchar_t *wcTmp = NULL;
+
+ if (wcNameExt == NULL || wcPath == NULL)
+ {
+ FREE(pStwcFullFilename);
+ if (wcNameExt)
+ {
+ FREE(wcNameExt);
+ }
+ if (wcPath)
+ {
+ FREE(wcPath);
+ }
+ return NULL;
+ }
+ splitpathW(FilenameInput, TRUE, wcDrv, wcDir, wcName, wcExt);
+
+ wcscpy(wcNameExt, wcName);
+ wcscat(wcNameExt, wcExt);
+
+ wcscpy(wcPath, wcDrv);
+ wcscat(wcPath, wcDir);
+
+ if (wcscmp(wcPath, L"") == 0)
+ {
+ int ierr = 0;
+ wchar_t *wcCurrentDir = scigetcwdW(&ierr);
+ if (ierr == 0)
+ {
+ wcscpy(wcPath, wcCurrentDir);
+ }
+ if (wcCurrentDir)
+ {
+ FREE(wcCurrentDir);
+ wcCurrentDir = NULL;
+ }
+ }
+
+ wcTmp = (wchar_t*)MALLOC(sizeof(wchar_t) * (PATH_MAX * 2));
+ if (wcTmp)
+ {
+ get_full_pathW(wcTmp, (const wchar_t*)wcPath, PATH_MAX * 2);
+ wcscpy(wcPath, wcTmp);
+ FREE(wcTmp);
+ wcTmp = NULL;
+ }
+
+ lenPath = (int)wcslen(wcPath);
+ if (lenPath - 1 >= 0)
+ {
+ if ( (wcPath[lenPath - 1 ] != L'/') && (wcPath[lenPath - 1 ] != L'\\') )
+ {
+ wcscat(wcPath, L"/");
+ lenPath = (int)wcslen(wcPath);
+ }
+ }
+
+ for ( i = 0; i < lenPath; i++)
+ {
+#ifdef _MSC_VER
+ if (wcPath[i] == L'/')
+ {
+ wcPath[i] = L'\\';
+ }
+#else
+ if (wcPath[i] == L'\\')
+ {
+ wcPath[i] = L'/';
+ }
+#endif
+ }
+
+ wcscpy(pStwcFullFilename, wcPath);
+ wcscat(pStwcFullFilename, wcNameExt);
+
+ FREE(wcNameExt);
+ FREE(wcPath);
+ }
+ return pStwcFullFilename;
+
+}
+/*--------------------------------------------------------------------------*/
+char *getFullFilename(char* Filename)
+{
+ char *pStFullFilename = NULL;
+ if (Filename)
+ {
+ wchar_t *wcFilename = to_wide_string(Filename);
+ if (wcFilename)
+ {
+ wchar_t *pStwcFullFilename = getFullFilenameW(wcFilename);
+ FREE(wcFilename);
+ if (pStwcFullFilename)
+ {
+ pStFullFilename = wide_string_to_UTF8(pStwcFullFilename);
+ FREE(pStwcFullFilename);
+ }
+ }
+ }
+
+ return pStFullFilename;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getdrives.c b/modules/fileio/src/c/getdrives.c
new file mode 100755
index 000000000..6a3472f71
--- /dev/null
+++ b/modules/fileio/src/c/getdrives.c
@@ -0,0 +1,61 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifdef _MSC_VER
+#include <windows.h>
+#endif
+#include "getdrives.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+char **getdrives(int *nbDrives)
+{
+ char **DrivesList = NULL;
+ *nbDrives = 0;
+#ifdef _MSC_VER
+ {
+#define DriveMask 0x00000001L
+ char DrvLetter[4] = "A:\\";
+ DWORD uDriveMask = GetLogicalDrives();
+
+ while (DrvLetter[0] <= 'Z')
+ {
+ if (uDriveMask & DriveMask)
+ {
+ (*nbDrives)++;
+ if (DrivesList)
+ {
+ DrivesList = (char**)REALLOC(DrivesList, sizeof(char*) * (*nbDrives));
+ DrivesList[*nbDrives - 1] = (char*)MALLOC(sizeof(char) * (strlen(DrvLetter) + 1));
+ }
+ else
+ {
+ DrivesList = (char**)MALLOC(sizeof(char*) * (*nbDrives));
+ DrivesList[*nbDrives - 1] = (char*)MALLOC(sizeof(char) * (strlen(DrvLetter) + 1));
+ }
+ strcpy(DrivesList[*nbDrives - 1], DrvLetter);
+ }
+ DrvLetter[0]++;
+ uDriveMask = uDriveMask >> 1;
+ }
+ }
+#else
+ (*nbDrives)++;
+ DrivesList = (char**)MALLOC(sizeof(char*) * (*nbDrives));
+ DrivesList[*nbDrives - 1] = (char*)MALLOC(sizeof(char) * (strlen("/") + 1));
+ strcpy(DrivesList[*nbDrives - 1], "/");
+#endif
+
+ return DrivesList;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getdrives.h b/modules/fileio/src/c/getdrives.h
new file mode 100755
index 000000000..5e44bb4e0
--- /dev/null
+++ b/modules/fileio/src/c/getdrives.h
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __GETDRIVES_H__
+#define __GETDRIVES_H__
+
+/**
+* Get the drive letters of all mounted filesystems on the computer.
+* @param[out] nbDrives
+* @return List of Drives
+*/
+char **getdrives(int *nbDrives);
+
+#endif /* __GETDRIVES_H__ */
diff --git a/modules/fileio/src/c/getfiledesc.c b/modules/fileio/src/c/getfiledesc.c
new file mode 100755
index 000000000..fa21b82c6
--- /dev/null
+++ b/modules/fileio/src/c/getfiledesc.c
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include "getfiledesc.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(getfiledesc)(int *fd)
+{
+ int i ;
+ for ( i = 1 ; i < GetMaximumFileOpenedInScilab() ; i++)
+ {
+ if ( GetFileTypeOpenedInScilab(i) == 0 )
+ {
+ *fd = i;
+ return ;
+ }
+ }
+ *fd = -1;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getfileinfo.c b/modules/fileio/src/c/getfileinfo.c
new file mode 100755
index 000000000..c457550a3
--- /dev/null
+++ b/modules/fileio/src/c/getfileinfo.c
@@ -0,0 +1,48 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h> /* strlen */
+#include "getfileinfo.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(getfileinfo)(int *fd, FILE *fa, int *swap2, int *type, int *mode, char *filename, int *lf, int *ierr)
+{
+ char *filenamefromfd = NULL;
+ if (*fd < 0 || *fd >= GetMaximumFileOpenedInScilab() )
+ {
+ *ierr = 1;
+ return;
+ }
+ if ( GetFileTypeOpenedInScilab(*fd) == 0 )
+ {
+ *ierr = 2;
+ return;
+ }
+
+ *swap2 = GetSwapStatus(*fd);
+ *type = GetFileTypeOpenedInScilab(*fd);
+ *mode = GetFileModeOpenedInScilab(*fd);
+ filenamefromfd = GetFileNameOpenedInScilab(*fd);
+ if (filenamefromfd)
+ {
+ strcpy(filename, GetFileNameOpenedInScilab(*fd));
+ }
+ else
+ {
+ strcpy(filename, "");
+ }
+
+ *lf = (int)strlen(filename);
+ *ierr = 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getfiletype.c b/modules/fileio/src/c/getfiletype.c
new file mode 100755
index 000000000..731b59b18
--- /dev/null
+++ b/modules/fileio/src/c/getfiletype.c
@@ -0,0 +1,32 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include "getfiletype.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(getfiletype)(int *fd, int *type, int *ierr)
+{
+ if (*fd < 0 || *fd >= GetMaximumFileOpenedInScilab() )
+ {
+ *ierr = 1;
+ return;
+ }
+ if ( GetFileTypeOpenedInScilab(*fd) == 0 )
+ {
+ *ierr = 2;
+ return;
+ }
+ *type = GetFileTypeOpenedInScilab(*fd);
+ *ierr = 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getlongpathname.c b/modules/fileio/src/c/getlongpathname.c
new file mode 100755
index 000000000..557407d36
--- /dev/null
+++ b/modules/fileio/src/c/getlongpathname.c
@@ -0,0 +1,104 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <windows.h>
+#include "strdup_windows.h"
+#endif
+#include <string.h>
+#include "getlongpathname.h"
+#include "MALLOC.h"
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#ifndef MAX_PATH_LONG
+#define MAX_PATH_LONG 32767
+#endif
+#endif
+/*--------------------------------------------------------------------------*/
+char *getlongpathname(char *shortpathname, BOOL *convertok)
+{
+ char *LongName = NULL;
+ wchar_t *wcshortpathname = to_wide_string(shortpathname);
+ if (wcshortpathname)
+ {
+ wchar_t *wcLongName = getlongpathnameW(wcshortpathname, convertok);
+ FREE(wcshortpathname);
+ if (wcLongName)
+ {
+ LongName = wide_string_to_UTF8(wcLongName);
+ FREE(wcLongName);
+ wcLongName = NULL;
+ }
+ else
+ {
+ LongName = strdup(shortpathname);
+ *convertok = FALSE;
+ }
+ }
+ else
+ {
+ LongName = strdup(shortpathname);
+ *convertok = FALSE;
+ }
+ return LongName;
+}
+/*--------------------------------------------------------------------------*/
+wchar_t *getlongpathnameW(wchar_t *wcshortpathname, BOOL *convertok)
+{
+ wchar_t *wcLongName = NULL;
+
+#ifdef _MSC_VER
+ /* first we try to call to know path length */
+ int length = GetLongPathNameW(wcshortpathname, NULL, 0);
+ if (length <= 0 )
+ {
+ length = MAX_PATH_LONG;
+ }
+
+ wcLongName = (wchar_t*)MALLOC((length + 1) * sizeof(wchar_t));
+
+ if (wcLongName)
+ {
+ /* second converts path */
+ if (GetLongPathNameW(wcshortpathname, wcLongName, length))
+ {
+ *convertok = TRUE;
+ }
+ else
+ {
+ /* FAILED */
+ if (wcLongName)
+ {
+ wcscpy(wcLongName, wcshortpathname);
+ }
+ *convertok = FALSE;
+ }
+ }
+ else
+ {
+ /* FAILED */
+ *convertok = FALSE;
+ }
+#else
+ /* Linux */
+ int len = (int)wcslen(wcshortpathname) + 1;
+ wcLongName = (wchar_t*)MALLOC(len * sizeof(wchar_t));
+ if (wcLongName)
+ {
+ wcscpy(wcLongName, wcshortpathname);
+ }
+ *convertok = FALSE;
+#endif
+ return wcLongName;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getlongpathname.h b/modules/fileio/src/c/getlongpathname.h
new file mode 100755
index 000000000..f5ca9df3b
--- /dev/null
+++ b/modules/fileio/src/c/getlongpathname.h
@@ -0,0 +1,41 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __GETLONGPATHNAME_H__
+#define __GETLONGPATHNAME_H__
+
+#include <wchar.h>
+#include "BOOL.h" /* BOOL */
+
+/**
+* Retrieves the long path form of the specified path
+* @param[in] short path name
+* @param[out] TRUE if conversion is ok
+* @return long path name
+* on Linux returns same path name
+* used for Windows
+*/
+char *getlongpathname(char *shortpathname, BOOL *convertok);
+
+/**
+* Retrieves the long path form of the specified path (wide string)
+* @param[in] short path name
+* @param[out] TRUE if conversion is ok
+* @return long path name
+* on Linux returns same path name
+* used for Windows
+*/
+wchar_t *getlongpathnameW(wchar_t *wcshortpathname, BOOL *convertok);
+
+
+#endif /* __GETLONGPATHNAME_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/getrelativefilename.c b/modules/fileio/src/c/getrelativefilename.c
new file mode 100755
index 000000000..2a5726e7c
--- /dev/null
+++ b/modules/fileio/src/c/getrelativefilename.c
@@ -0,0 +1,168 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2006 - INRIA - Pierre MARECHAL
+* Copyright (C) 2011 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+#include <ctype.h>
+#include <string.h>
+#include "machine.h" /* DIR_SEPARATOR */
+#include "getrelativefilename.h"
+#include "MALLOC.h"
+#include "PATH_MAX.h"
+#include "strsubst.h"
+/* ================================================================================== */
+static char *normalizeFileSeparator(const char *path);
+/* ================================================================================== */
+// getrelativefilename
+//
+// Given the absolute current directory and an absolute file name, returns a relative file name.
+// For example, if the current directory is C:\foo\bar and the filename C:\foo\whee\text.txt is given,
+// GetRelativeFilename will return ..\whee\text.txt.
+/* ================================================================================== */
+char* getrelativefilename(char *currentDirectory, char *absoluteFilename)
+{
+ int afMarker = 0, rfMarker = 0;
+ int cdLen = 0, afLen = 0;
+ int i = 0;
+ int levels = 0;
+ char *relativeFilename = (char*)MALLOC(PATH_MAX * sizeof(char));
+ char *_currentDirectory = normalizeFileSeparator(currentDirectory);
+ char *_absoluteFilename = normalizeFileSeparator(absoluteFilename);
+
+ cdLen = (int)strlen(_currentDirectory);
+ afLen = (int)strlen(_absoluteFilename);
+
+ // make sure the names are not too short
+ if ( cdLen < ABSOLUTE_NAME_START + 1 || afLen < ABSOLUTE_NAME_START + 1)
+ {
+ // fix bug 2181
+ strcpy(relativeFilename, _absoluteFilename);
+ FREE(_currentDirectory);
+ FREE(_absoluteFilename);
+ return relativeFilename;
+ }
+
+ // Handle DOS names that are on different drives:
+ if (tolower(_currentDirectory[0]) != tolower(_absoluteFilename[0]))
+ {
+ // not on the same drive, so only absolute filename will do
+ strcpy(relativeFilename, _absoluteFilename);
+ FREE(_currentDirectory);
+ FREE(_absoluteFilename);
+ return relativeFilename;
+ }
+
+ // they are on the same drive, find out how much of the current directory
+ // is in the absolute filename
+ i = ABSOLUTE_NAME_START;
+
+#if defined(_MSC_VER)
+ while (i < afLen && i < cdLen && tolower(_currentDirectory[i]) == tolower(_absoluteFilename[i]) )
+ {
+ i++;
+ }
+#else
+ while (i < afLen && i < cdLen && _currentDirectory[i] == _absoluteFilename[i])
+ {
+ i++;
+ }
+#endif
+
+ if (i == cdLen && (_absoluteFilename[i] == DIR_SEPARATOR[0] || _absoluteFilename[i - 1] == DIR_SEPARATOR[0]))
+ {
+ // the whole current directory name is in the file name,
+ // so we just trim off the current directory name to get the
+ // current file name.
+ if (_absoluteFilename[i] == DIR_SEPARATOR[0])
+ {
+ // a directory name might have a trailing slash but a relative
+ // file name should not have a leading one...
+ i++;
+ }
+
+ strcpy(relativeFilename, &_absoluteFilename[i]);
+ FREE(_currentDirectory);
+ FREE(_absoluteFilename);
+ return relativeFilename;
+ }
+
+ // The file is not in a child directory of the current directory, so we
+ // need to step back the appropriate number of parent directories by
+ // using "..\"s. First find out how many levels deeper we are than the
+ // common directory
+ afMarker = i;
+ levels = 1;
+
+ // count the number of directory levels we have to go up to get to the
+ // common directory
+ while (i < cdLen)
+ {
+ i++;
+ if (_currentDirectory[i] == DIR_SEPARATOR[0])
+ {
+ // make sure it's not a trailing slash
+ i++;
+ if (_currentDirectory[i] != '\0')
+ {
+ levels++;
+ }
+ }
+ }
+
+ // move the absolute filename marker back to the start of the directory name
+ // that it has stopped in.
+ while (afMarker > 0 && _absoluteFilename[afMarker - 1] != DIR_SEPARATOR[0])
+ {
+ afMarker--;
+ }
+
+ // check that the result will not be too long
+ if (levels * 3 + afLen - afMarker > PATH_MAX)
+ {
+ FREE(relativeFilename);
+ FREE(_currentDirectory);
+ FREE(_absoluteFilename);
+ return NULL;
+ }
+
+ // add the appropriate number of "..\"s.
+ rfMarker = 0;
+ for (i = 0; i < levels; i++)
+ {
+ relativeFilename[rfMarker++] = '.';
+ relativeFilename[rfMarker++] = '.';
+ relativeFilename[rfMarker++] = DIR_SEPARATOR[0];
+ }
+
+ // copy the rest of the filename into the result string
+ strcpy(&relativeFilename[rfMarker], &_absoluteFilename[afMarker]);
+
+ FREE(_currentDirectory);
+ FREE(_absoluteFilename);
+ return relativeFilename;
+}
+/* ================================================================================== */
+char *normalizeFileSeparator(const char *path)
+{
+#define WINDOWS_FILESEPARATOR "\\"
+#define OTHERS_FILESEPARATOR "/"
+
+ char *normalizedPath = NULL;
+ if (path)
+ {
+#ifdef _MSC_VER
+ normalizedPath = strsub((char*)path, OTHERS_FILESEPARATOR, DIR_SEPARATOR);
+#else
+ normalizedPath = strsub((char*)path, WINDOWS_FILESEPARATOR, DIR_SEPARATOR);
+#endif
+ }
+ return normalizedPath;
+}
+/* ================================================================================== */
diff --git a/modules/fileio/src/c/getrelativefilename.h b/modules/fileio/src/c/getrelativefilename.h
new file mode 100755
index 000000000..e87ca9b12
--- /dev/null
+++ b/modules/fileio/src/c/getrelativefilename.h
@@ -0,0 +1,39 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2006 - INRIA - Pierre MARECHAL
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+#ifndef __GETRELATIVEFILENAME_H__
+#define __GETRELATIVEFILENAME_H__
+
+#ifdef _MSC_VER
+#define ABSOLUTE_NAME_START 3
+#else
+#define ABSOLUTE_NAME_START 1
+#endif
+
+// ABSOLUTE_NAME_START
+//
+// The number of characters at the start of an absolute filename. e.g. in DOS,
+// absolute filenames start with "X:\" so this value should be 3, in UNIX they start
+// with "\" so this value should be 1.
+
+
+/* ================================================================================== */
+// getrelativefilename
+//
+// Given the absolute current directory and an absolute file name, returns a relative file name.
+// For example, if the current directory is C:\foo\bar and the filename C:\foo\whee\text.txt is given,
+// GetRelativeFilename will return ..\whee\text.txt.
+/* ================================================================================== */
+
+char* getrelativefilename(char *currentDirectory, char *absoluteFilename);
+
+#endif /* __GETRELATIVEFILENAME_H__ */
diff --git a/modules/fileio/src/c/getshortpathname.c b/modules/fileio/src/c/getshortpathname.c
new file mode 100755
index 000000000..71d60f7e5
--- /dev/null
+++ b/modules/fileio/src/c/getshortpathname.c
@@ -0,0 +1,117 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifdef _MSC_VER
+#include <windows.h>
+#include "strdup_windows.h"
+#endif
+#include "getshortpathname.h"
+#include "MALLOC.h"
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#ifndef MAX_PATH_SHORT
+#define MAX_PATH_SHORT 260
+#endif
+#endif
+/*--------------------------------------------------------------------------*/
+int C2F(getshortpathname)(char *pathname, int *len)
+{
+ if (pathname)
+ {
+ BOOL bConvert = FALSE;
+ char *result = NULL;
+ pathname[*len] = 0;
+ result = getshortpathname(pathname, &bConvert);
+ if (result)
+ {
+ strcpy(pathname, result);
+ *len = (int)strlen(result);
+ FREE(result);
+ result = NULL;
+ return 1;
+ }
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+char *getshortpathname(char *longpathname, BOOL *convertok)
+{
+ char *ShortName = NULL;
+
+ if (longpathname)
+ {
+#ifdef _MSC_VER
+ /* first we try to call to know path length */
+ wchar_t *ptwlongpathname = to_wide_string(longpathname);
+ wchar_t *ptwShortName = NULL;
+ int length = GetShortPathNameW(ptwlongpathname, NULL, 0);
+
+ if (length <= 0 )
+ {
+ length = MAX_PATH_SHORT;
+ }
+
+ ptwShortName = (wchar_t*)MALLOC((length + 1) * sizeof(wchar_t));
+
+ if (ptwShortName)
+ {
+ /* second converts path */
+ if ( GetShortPathNameW(ptwlongpathname, ptwShortName, length) )
+ {
+ ShortName = wide_string_to_UTF8(ptwShortName);
+ *convertok = TRUE;
+ }
+ else
+ {
+ /* FAILED */
+ ShortName = strdup(longpathname);
+ *convertok = FALSE;
+ }
+ if (ptwShortName)
+ {
+ FREE(ptwShortName);
+ ptwShortName = NULL;
+ }
+ }
+ else
+ {
+ /* FAILED */
+ ShortName = strdup(longpathname);
+ *convertok = FALSE;
+ }
+ if (ptwlongpathname)
+ {
+ FREE(ptwlongpathname);
+ ptwlongpathname = NULL;
+ }
+#else
+ /* Linux */
+ int length = (int)strlen(longpathname) + 1;
+ ShortName = (char*)MALLOC((length) * sizeof(char));
+ if (ShortName)
+ {
+ strcpy(ShortName, longpathname);
+ }
+ *convertok = FALSE;
+#endif
+ }
+ else
+ {
+ /* FAILED */
+ *convertok = FALSE;
+ }
+ return ShortName;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/isDrive.c b/modules/fileio/src/c/isDrive.c
new file mode 100755
index 000000000..4a201fabd
--- /dev/null
+++ b/modules/fileio/src/c/isDrive.c
@@ -0,0 +1,71 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifdef _MSC_VER
+#include <Windows.h>
+#endif
+#include "isDrive.h"
+/*--------------------------------------------------------------------------*/
+BOOL isDrive(const char *strname)
+{
+ BOOL bOK = FALSE;
+#ifdef _MSC_VER
+ if (strname)
+ {
+ if ( ((strlen(strname) == 2) || (strlen(strname) == 3)) && (strname[1] == ':') )
+ {
+ if (strlen(strname) == 3)
+ {
+ if ( (strname[2] != '\\') && (strname[2] != '/') )
+ {
+ return FALSE;
+ }
+ }
+
+ if ( ( strname[0] >= 'A' && strname[0] <= 'Z' ) || ( strname[0] >= 'a' && strname[0] <= 'z' ) )
+ {
+ bOK = TRUE;
+ }
+ }
+ }
+#endif
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+BOOL isDriveW(const wchar_t *wcstrname)
+{
+ BOOL bOK = FALSE;
+#ifdef _MSC_VER
+ if (wcstrname)
+ {
+ if ( ((wcslen(wcstrname) == 2) || (wcslen(wcstrname) == 3)) && (wcstrname[1] == L':') )
+ {
+ if (wcslen(wcstrname) == 3)
+ {
+ if ( (wcstrname[2] != L'\\') && (wcstrname[2] != L'/') )
+ {
+ return FALSE;
+ }
+ }
+
+ if ( ( wcstrname[0] >= L'A' && wcstrname[0] <= L'Z' ) || ( wcstrname[0] >= L'a' && wcstrname[0] <= L'z' ) )
+ {
+ bOK = TRUE;
+ }
+ }
+ }
+#endif
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/isDrive.h b/modules/fileio/src/c/isDrive.h
new file mode 100755
index 000000000..ea05f8514
--- /dev/null
+++ b/modules/fileio/src/c/isDrive.h
@@ -0,0 +1,38 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __ISDRIVE_H__
+#define __ISDRIVE_H__
+
+#include <wchar.h>
+
+#include "BOOL.h" /* BOOL */
+
+/**
+* check if strname is a drive (only for windows)
+* @param[in] a string
+* @return TRUE or FALSE
+* returns always false on linux
+*/
+BOOL isDrive(const char *strname);
+
+/**
+* check if strname is a drive (only for windows)
+* @param[in] a wide string
+* @return TRUE or FALSE
+* returns always false on linux
+*/
+
+BOOL isDriveW(const wchar_t *wcstrname);
+
+#endif
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/isdir.c b/modules/fileio/src/c/isdir.c
new file mode 100755
index 000000000..f4745a426
--- /dev/null
+++ b/modules/fileio/src/c/isdir.c
@@ -0,0 +1,94 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <Windows.h>
+#else
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <dirent.h>
+#endif
+#include <string.h>
+#include "isDrive.h"
+#include "isdir.h"
+#include "MALLOC.h"
+#include "charEncoding.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+BOOL isdir(const char * path)
+{
+ BOOL bOK = FALSE;
+#ifndef _MSC_VER
+ struct stat buf;
+ if (path == NULL)
+ {
+ return FALSE;
+ }
+ if (stat(path, &buf) == 0 && S_ISDIR(buf.st_mode))
+ {
+ bOK = TRUE;
+ }
+#else
+ wchar_t *wcpath = to_wide_string((char*)path);
+ if (wcpath == NULL)
+ {
+ return FALSE;
+ }
+ bOK = isdirW(wcpath);
+ FREE(wcpath);
+#endif
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+BOOL isdirW(const wchar_t * wcpath)
+{
+ BOOL bOK = FALSE;
+#ifndef _MSC_VER
+ struct stat buf;
+ char *path = wide_string_to_UTF8(wcpath);
+ if (path == NULL)
+ {
+ return FALSE;
+ }
+ bOK = isdir(path);
+ FREE(path);
+#else
+ if (isDriveW(wcpath))
+ {
+ return TRUE;
+ }
+ else
+ {
+ DWORD attr = 0;
+ wchar_t *tmpPath = wstrdup(wcpath);
+
+ if ( (tmpPath[wcslen(tmpPath) - 1] == L'\\') || (tmpPath[wcslen(tmpPath) - 1] == L'/') )
+ {
+ tmpPath[wcslen(tmpPath) - 1] = L'\0';
+ }
+ attr = GetFileAttributesW(tmpPath);
+ FREE(tmpPath);
+ if (attr == INVALID_FILE_ATTRIBUTES)
+ {
+ return FALSE;
+ }
+ return ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) ? TRUE : FALSE;
+ }
+#endif
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/libscifileio_algo_la-FileExist.lo b/modules/fileio/src/c/libscifileio_algo_la-FileExist.lo
new file mode 100755
index 000000000..8622e196b
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-FileExist.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-FileExist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-FileExist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-FindFileExtension.lo b/modules/fileio/src/c/libscifileio_algo_la-FindFileExtension.lo
new file mode 100755
index 000000000..60f5d1e61
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-FindFileExtension.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-FindFileExtension.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-FindFileExtension.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-Status2Mode.lo b/modules/fileio/src/c/libscifileio_algo_la-Status2Mode.lo
new file mode 100755
index 000000000..fa92202ec
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-Status2Mode.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-Status2Mode.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-Status2Mode.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-URIFileToFilename.lo b/modules/fileio/src/c/libscifileio_algo_la-URIFileToFilename.lo
new file mode 100755
index 000000000..563745403
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-URIFileToFilename.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-URIFileToFilename.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-URIFileToFilename.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-addfile.lo b/modules/fileio/src/c/libscifileio_algo_la-addfile.lo
new file mode 100755
index 000000000..45304ea2e
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-addfile.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-addfile.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-addfile.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-basename.lo b/modules/fileio/src/c/libscifileio_algo_la-basename.lo
new file mode 100755
index 000000000..8445c12ee
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-basename.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-basename.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-basename.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-cluni0.lo b/modules/fileio/src/c/libscifileio_algo_la-cluni0.lo
new file mode 100755
index 000000000..a641e8aa9
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-cluni0.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-cluni0.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-cluni0.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-convert_tools.lo b/modules/fileio/src/c/libscifileio_algo_la-convert_tools.lo
new file mode 100755
index 000000000..98f56a890
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-convert_tools.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-convert_tools.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-convert_tools.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-copyfile_others.lo b/modules/fileio/src/c/libscifileio_algo_la-copyfile_others.lo
new file mode 100755
index 000000000..96dea3b63
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-copyfile_others.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-copyfile_others.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-copyfile_others.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-createdirectory.lo b/modules/fileio/src/c/libscifileio_algo_la-createdirectory.lo
new file mode 100755
index 000000000..75a8d6c99
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-createdirectory.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-createdirectory.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-createdirectory.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-createtempfilename.lo b/modules/fileio/src/c/libscifileio_algo_la-createtempfilename.lo
new file mode 100755
index 000000000..164b835ba
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-createtempfilename.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-createtempfilename.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-createtempfilename.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-deleteafile.lo b/modules/fileio/src/c/libscifileio_algo_la-deleteafile.lo
new file mode 100755
index 000000000..bc4ddda5d
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-deleteafile.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-deleteafile.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-deleteafile.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-delfile.lo b/modules/fileio/src/c/libscifileio_algo_la-delfile.lo
new file mode 100755
index 000000000..29599c8a3
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-delfile.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-delfile.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-delfile.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-dlManager.lo b/modules/fileio/src/c/libscifileio_algo_la-dlManager.lo
new file mode 100755
index 000000000..bb0b1c784
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-dlManager.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-dlManager.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-dlManager.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-do_xxscanf.lo b/modules/fileio/src/c/libscifileio_algo_la-do_xxscanf.lo
new file mode 100755
index 000000000..6153af986
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-do_xxscanf.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-do_xxscanf.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-do_xxscanf.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-expandPathVariable.lo b/modules/fileio/src/c/libscifileio_algo_la-expandPathVariable.lo
new file mode 100755
index 000000000..939913bf4
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-expandPathVariable.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-expandPathVariable.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-expandPathVariable.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-fileinfo.lo b/modules/fileio/src/c/libscifileio_algo_la-fileinfo.lo
new file mode 100755
index 000000000..ccead132d
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-fileinfo.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-fileinfo.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-fileinfo.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-filesmanagement.lo b/modules/fileio/src/c/libscifileio_algo_la-filesmanagement.lo
new file mode 100755
index 000000000..834cbab95
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-filesmanagement.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-filesmanagement.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-filesmanagement.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-findfiles.lo b/modules/fileio/src/c/libscifileio_algo_la-findfiles.lo
new file mode 100755
index 000000000..de215b221
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-findfiles.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-findfiles.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-findfiles.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-fprintfMat.lo b/modules/fileio/src/c/libscifileio_algo_la-fprintfMat.lo
new file mode 100755
index 000000000..4414cd95c
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-fprintfMat.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-fprintfMat.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-fprintfMat.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-fscanfMat.lo b/modules/fileio/src/c/libscifileio_algo_la-fscanfMat.lo
new file mode 100755
index 000000000..7ee079a89
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-fscanfMat.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-fscanfMat.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-fscanfMat.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-fullpath.lo b/modules/fileio/src/c/libscifileio_algo_la-fullpath.lo
new file mode 100755
index 000000000..328a09845
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-fullpath.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-fullpath.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-fullpath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getFullFilename.lo b/modules/fileio/src/c/libscifileio_algo_la-getFullFilename.lo
new file mode 100755
index 000000000..0601e1e5a
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getFullFilename.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getFullFilename.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getFullFilename.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getdrives.lo b/modules/fileio/src/c/libscifileio_algo_la-getdrives.lo
new file mode 100755
index 000000000..7ca95ccf5
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getdrives.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getdrives.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getdrives.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getfiledesc.lo b/modules/fileio/src/c/libscifileio_algo_la-getfiledesc.lo
new file mode 100755
index 000000000..2fe605a8c
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getfiledesc.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getfiledesc.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getfiledesc.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getfileinfo.lo b/modules/fileio/src/c/libscifileio_algo_la-getfileinfo.lo
new file mode 100755
index 000000000..fd86e3fbd
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getfileinfo.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getfileinfo.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getfileinfo.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getfiletype.lo b/modules/fileio/src/c/libscifileio_algo_la-getfiletype.lo
new file mode 100755
index 000000000..abfc5895d
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getfiletype.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getfiletype.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getfiletype.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getlongpathname.lo b/modules/fileio/src/c/libscifileio_algo_la-getlongpathname.lo
new file mode 100755
index 000000000..ed1b656ab
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getlongpathname.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getlongpathname.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getlongpathname.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getrelativefilename.lo b/modules/fileio/src/c/libscifileio_algo_la-getrelativefilename.lo
new file mode 100755
index 000000000..952b11af9
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getrelativefilename.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getrelativefilename.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getrelativefilename.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-getshortpathname.lo b/modules/fileio/src/c/libscifileio_algo_la-getshortpathname.lo
new file mode 100755
index 000000000..435d06fc9
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-getshortpathname.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-getshortpathname.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-getshortpathname.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-isDrive.lo b/modules/fileio/src/c/libscifileio_algo_la-isDrive.lo
new file mode 100755
index 000000000..3293a0700
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-isDrive.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-isDrive.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-isDrive.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-isdir.lo b/modules/fileio/src/c/libscifileio_algo_la-isdir.lo
new file mode 100755
index 000000000..d5897aeb5
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-isdir.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-isdir.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-isdir.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mclearerr.lo b/modules/fileio/src/c/libscifileio_algo_la-mclearerr.lo
new file mode 100755
index 000000000..5dab8c745
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mclearerr.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mclearerr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mclearerr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mclose.lo b/modules/fileio/src/c/libscifileio_algo_la-mclose.lo
new file mode 100755
index 000000000..93c08ed9a
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mclose.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mclose.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mclose.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-meof.lo b/modules/fileio/src/c/libscifileio_algo_la-meof.lo
new file mode 100755
index 000000000..da8b13ead
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-meof.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-meof.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-meof.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-merror.lo b/modules/fileio/src/c/libscifileio_algo_la-merror.lo
new file mode 100755
index 000000000..ffc600deb
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-merror.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-merror.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-merror.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mget.lo b/modules/fileio/src/c/libscifileio_algo_la-mget.lo
new file mode 100755
index 000000000..60752df57
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mget.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mget.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mget.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mgeti.lo b/modules/fileio/src/c/libscifileio_algo_la-mgeti.lo
new file mode 100755
index 000000000..53ff6c5c6
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mgeti.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mgeti.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mgeti.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mgetl.lo b/modules/fileio/src/c/libscifileio_algo_la-mgetl.lo
new file mode 100755
index 000000000..5aea8e4ee
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mgetl.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mgetl.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mgetl.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mgetstr.lo b/modules/fileio/src/c/libscifileio_algo_la-mgetstr.lo
new file mode 100755
index 000000000..2b2905c82
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mgetstr.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mgetstr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mgetstr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mopen.lo b/modules/fileio/src/c/libscifileio_algo_la-mopen.lo
new file mode 100755
index 000000000..82a3bfbcd
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mopen.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mopen.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mopen.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-movefile.lo b/modules/fileio/src/c/libscifileio_algo_la-movefile.lo
new file mode 100755
index 000000000..cf2f95528
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-movefile.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-movefile.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-movefile.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mput.lo b/modules/fileio/src/c/libscifileio_algo_la-mput.lo
new file mode 100755
index 000000000..4cada12be
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mput.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mput.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mput.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mputi.lo b/modules/fileio/src/c/libscifileio_algo_la-mputi.lo
new file mode 100755
index 000000000..ca694f636
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mputi.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mputi.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mputi.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mputl.lo b/modules/fileio/src/c/libscifileio_algo_la-mputl.lo
new file mode 100755
index 000000000..a2c364b56
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mputl.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mputl.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mputl.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mputstr.lo b/modules/fileio/src/c/libscifileio_algo_la-mputstr.lo
new file mode 100755
index 000000000..3c73b8806
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mputstr.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mputstr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mputstr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mseek.lo b/modules/fileio/src/c/libscifileio_algo_la-mseek.lo
new file mode 100755
index 000000000..f99f769c7
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mseek.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mseek.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mseek.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-mtell.lo b/modules/fileio/src/c/libscifileio_algo_la-mtell.lo
new file mode 100755
index 000000000..439114a96
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-mtell.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-mtell.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-mtell.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-pathconvert.lo b/modules/fileio/src/c/libscifileio_algo_la-pathconvert.lo
new file mode 100755
index 000000000..ee9191cc9
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-pathconvert.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-pathconvert.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-pathconvert.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-readline.lo b/modules/fileio/src/c/libscifileio_algo_la-readline.lo
new file mode 100755
index 000000000..f2f49c7ff
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-readline.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-readline.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-readline.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-removedir.lo b/modules/fileio/src/c/libscifileio_algo_la-removedir.lo
new file mode 100755
index 000000000..d48e5fe2e
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-removedir.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-removedir.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-removedir.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-scanf_functions.lo b/modules/fileio/src/c/libscifileio_algo_la-scanf_functions.lo
new file mode 100755
index 000000000..532f6f1b9
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-scanf_functions.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-scanf_functions.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-scanf_functions.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-scicurdir.lo b/modules/fileio/src/c/libscifileio_algo_la-scicurdir.lo
new file mode 100755
index 000000000..732b0cd7d
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-scicurdir.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-scicurdir.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-scicurdir.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/libscifileio_algo_la-splitpath.lo b/modules/fileio/src/c/libscifileio_algo_la-splitpath.lo
new file mode 100755
index 000000000..e0d04aa8f
--- /dev/null
+++ b/modules/fileio/src/c/libscifileio_algo_la-splitpath.lo
@@ -0,0 +1,12 @@
+# src/c/libscifileio_algo_la-splitpath.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifileio_algo_la-splitpath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/fileio/src/c/mclearerr.c b/modules/fileio/src/c/mclearerr.c
new file mode 100755
index 000000000..6ee10ce81
--- /dev/null
+++ b/modules/fileio/src/c/mclearerr.c
@@ -0,0 +1,26 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include "mclearerr.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(mclearerr) (int *fd)
+{
+ FILE *fa = GetFileOpenedInScilab(*fd);
+ if (fa)
+ {
+ clearerr(fa);
+ }
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mclearerr.h b/modules/fileio/src/c/mclearerr.h
new file mode 100755
index 000000000..5b23a734d
--- /dev/null
+++ b/modules/fileio/src/c/mclearerr.h
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __MCLEARERR_H__
+#define __MCLEARERR_H__
+
+#include "machine.h"
+
+/**
+* clear errors
+* @param fd
+*/
+void C2F(mclearerr) (int *fd);
+
+#endif /* __MCLEARERR_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mclose.c b/modules/fileio/src/c/mclose.c
new file mode 100755
index 000000000..6b6cbcec5
--- /dev/null
+++ b/modules/fileio/src/c/mclose.c
@@ -0,0 +1,95 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include "mclose.h"
+#include "filesmanagement.h"
+#include "delfile.h"
+#include "core_math.h" /* Min Max */
+#include "sciprint.h"
+#include "localization.h"
+#include "warningmode.h"
+/*--------------------------------------------------------------------------*/
+void C2F(mclose) (int *fd, double *res)
+{
+ int fd1 = -1;
+ *res = 0.0;
+
+ switch ( *fd )
+ {
+ case ALL_FILES_DESCRIPTOR :
+ /* closing all opened files */
+ for ( fd1 = 0; fd1 < GetMaximumFileOpenedInScilab(); fd1++)
+ {
+ FILE* stream = GetFileOpenedInScilab(fd1) ;
+ if ( stream )
+ {
+ int res1 = 1;
+ res1 = fclose( stream );
+ // this function previously called ferror on a just before fclosed FILE* that could lead to crash at exit, depending on libc implementation.
+ if (res1 != 0)
+ {
+ *res = 1;
+ }
+ C2F(delfile)(&fd1);
+ /* bug 3897 */
+ /* initialize file ID */
+ SetCurrentFileId(-1);
+ }
+ }
+ break;
+
+ default :
+ {
+ fd1 = (*fd == -1 ) ? GetCurrentFileId() : Min(Max(*fd, 0), GetMaximumFileOpenedInScilab() - 1);
+ if ( fd1 != -1 )
+ {
+ if ( GetFileOpenedInScilab(fd1) )
+ {
+ int prevId = -1;
+
+ if (fclose(GetFileOpenedInScilab(fd1)))
+ {
+ *res = (double)ferror(GetFileOpenedInScilab(fd1));
+ }
+ C2F(delfile)(&fd1);
+
+ /* bug 3897 */
+ /* set as current file previous opened file if exists */
+ prevId = GetPreviousFileId();
+
+ if ( GetFileOpenedInScilab(prevId) )
+ {
+ SetCurrentFileId(prevId);
+ }
+ }
+ else
+ {
+ *res = 0.0;
+ if (getWarningMode())
+ {
+ sciprint(_("%s: Cannot close file whose descriptor is %d: File is not active.\n"), "mclose", fd1);
+ }
+ }
+ }
+ else
+ {
+ *res = -1.0;
+ if (getWarningMode())
+ {
+ sciprint(_("%s: Cannot close file whose descriptor is %d: No file to close.\n"), "mclose", fd1);
+ }
+ }
+ }
+ }
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/meof.c b/modules/fileio/src/c/meof.c
new file mode 100755
index 000000000..9ac5ba80e
--- /dev/null
+++ b/modules/fileio/src/c/meof.c
@@ -0,0 +1,23 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include "meof.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(meof) (int *fd, double *res)
+{
+ FILE *fa = GetFileOpenedInScilab(*fd);
+ *res = fa ? feof(fa) : 1;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/meof.h b/modules/fileio/src/c/meof.h
new file mode 100755
index 000000000..7015560a8
--- /dev/null
+++ b/modules/fileio/src/c/meof.h
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#ifndef __MEOF_H__
+#define __MEOF_H__
+
+#include "machine.h"
+
+/**
+ * check eof
+ *
+ * @param fd
+ * @param res
+ */
+void C2F(meof) (int *fd, double *res);
+
+#endif /* __MEOF_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/merror.c b/modules/fileio/src/c/merror.c
new file mode 100755
index 000000000..0a8e08260
--- /dev/null
+++ b/modules/fileio/src/c/merror.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include <errno.h>
+#include "merror.h"
+#include "filesmanagement.h"
+/*--------------------------------------------------------------------------*/
+void C2F(merror) (int *fd, int *res)
+{
+ FILE *fa = GetFileOpenedInScilab(*fd);
+ if (fa)
+ {
+
+ *res = ferror(fa);
+ }
+ else
+ {
+ *res = EINVAL;
+ }
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/merror.h b/modules/fileio/src/c/merror.h
new file mode 100755
index 000000000..d0ef7c202
--- /dev/null
+++ b/modules/fileio/src/c/merror.h
@@ -0,0 +1,27 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __MERROR_H__
+#define __MERROR_H__
+
+#include "machine.h"
+
+/**
+ * check error
+ *
+ * @param fd
+ * @param res
+ */
+void C2F(merror) (int *fd, int *res);
+
+#endif /* __MERROR_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mget.c b/modules/fileio/src/c/mget.c
new file mode 100755
index 000000000..8c2293fba
--- /dev/null
+++ b/modules/fileio/src/c/mget.c
@@ -0,0 +1,275 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifndef _MSC_VER
+#include <stdint.h>
+#endif
+#include "mget.h"
+#include "filesmanagement.h"
+#include "sciprint.h"
+#include "islittleendian.h"
+#include "convert_tools.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+int swap = 0;
+
+/*--------------------------------------------------------------------------*/
+/* =================================================
+* reads data and store them without type conversion
+* =================================================*/
+/*--------------------------------------------------------------------------*/
+#define MGET_CHAR_NC(Type) \
+ { \
+ Type *val = (Type *) res ; \
+ items=(int)fread(val,sizeof(Type),n,fa); \
+ }
+
+/*--------------------------------------------------------------------------*/
+#define MGET_NC(Type) { \
+ Type *val = (Type *) res ; \
+ if (swap) { \
+ items=0; \
+ for ( i=0; i< n; i++) { \
+ unsigned long long tmp; \
+ items+=(int)fread(&tmp,sizeof(Type),1,fa); \
+ swap_generic((char *)&tmp,(char *)val, sizeof(Type)); \
+ val++; \
+ } \
+ } \
+ else items=(int)fread(val,sizeof(Type),n,fa); \
+ }
+/*--------------------------------------------------------------------------*/
+#define MGET_GEN_NC(NumType,cf) \
+ { \
+ switch (cf) { \
+ case ' ': \
+ MGET_NC(NumType);break; \
+ case 'b': \
+ swap = (islittleendian()==1)? 1:0; \
+ MGET_NC(NumType); break; \
+ case 'l': \
+ swap = (islittleendian()==1) ? 0:1; \
+ MGET_NC(NumType); break; \
+ default: \
+ sciprint(_("%s: Wrong value for input argument #%d: '%s' or '%s' or '%s' expected.\n"),"mget",4," ","b","l"); \
+ *ierr=1; return; \
+ } \
+}
+/*--------------------------------------------------------------------------*/
+void C2F(mgetnc) (int *fd, void *res, int *n1, const char *type, int *ierr)
+{
+ char c1, c2;
+ int i, items, n = *n1;
+ FILE *fa;
+
+ *ierr = 0;
+ if ((fa = GetFileOpenedInScilab(*fd)) == NULL)
+ {
+ sciprint(_("%s: No input file associated to logical unit %d.\n"), "mget", *fd);
+ *ierr = 3;
+ return;
+ }
+ swap = GetSwapStatus(*fd);
+ /* Safe version for optional type modifiers */
+ c1 = (type[0] && type[1]) ? type[1] : ' ';
+ c2 = (type[0] && type[1] && type[2]) ? type[2] : ' ';
+ switch (type[0])
+ {
+ case 'i':
+ MGET_GEN_NC(int, c1);
+ break;
+
+ case 'l':
+ MGET_GEN_NC(long long, c1);
+ break;
+
+ case 's':
+ MGET_GEN_NC(short, c1);
+ break;
+
+ case 'c':
+ MGET_CHAR_NC(char);
+ break;
+
+ case 'd':
+ MGET_GEN_NC(double, c1);
+ break;
+
+ case 'f':
+ MGET_GEN_NC(float, c1);
+ break;
+
+ case 'u':
+ switch (c1)
+ {
+ case 'i':
+ MGET_GEN_NC(unsigned int, c2);
+ break;
+
+ case 'l':
+ MGET_GEN_NC(unsigned long long, c2);
+ break;
+
+ case 's':
+ MGET_GEN_NC(unsigned short, c2);
+ break;
+
+ case ' ':
+ MGET_GEN_NC(unsigned int, ' ');
+ break;
+
+ case 'c':
+ MGET_CHAR_NC(unsigned char);
+ break;
+
+ default:
+ *ierr = 1;
+ return;
+ }
+ break;
+ default:
+ *ierr = 1;
+ return;
+ }
+ if (items != n)
+ {
+ *ierr = -(items) - 1;
+ /** sciprint("Read %d out of\n",items,n); **/
+ }
+ return;
+}
+
+/*--------------------------------------------------------------------------*/
+/* =================================================
+* reads data and store them in double
+* =================================================*/
+
+/* conversion macro */
+#define CONVGD(Type) \
+ { \
+ Type *val = (Type *) res ; \
+ for ( i = items-1 ; i >=0 ; i--) \
+ res[i] = val[i]; \
+ }
+/*--------------------------------------------------------------------------*/
+#define MGET_GEN(NumType,cf) MGET_GEN_NC(NumType,cf); CONVGD(NumType);
+#define MGET_CHAR(NumType) MGET_CHAR_NC(NumType); CONVGD(NumType);
+/*--------------------------------------------------------------------------*/
+/* reads data and store them in double */
+void mget2(FILE * fa, int swap2, double *res, int n, const char *type, int *ierr)
+{
+ char c1, c2;
+ int i, items = n;
+
+ *ierr = 0;
+ c1 = (strlen(type) > 1) ? type[1] : ' ';
+ c2 = (strlen(type) > 2) ? type[2] : ' ';
+ switch (type[0])
+ {
+ case 'i':
+ MGET_GEN(int, c1);
+ break;
+
+ case 'l':
+ MGET_GEN(long long, c1);
+ break;
+
+ case 's':
+ MGET_GEN(short, c1);
+ break;
+
+ case 'c':
+ MGET_CHAR(char);
+ break;
+
+ case 'd':
+ MGET_GEN(double, c1);
+ break;
+
+ case 'f':
+ MGET_GEN(float, c1);
+ break;
+
+ case 'u':
+ switch (c1)
+ {
+ case 'i':
+ MGET_GEN(unsigned int, c2);
+ break;
+
+ case 'l':
+ MGET_GEN(unsigned long long, c2);
+ break;
+
+ case 's':
+ MGET_GEN(unsigned short, c2);
+ break;
+
+ case ' ':
+ MGET_GEN(unsigned int, ' ');
+ break;
+
+ case 'c':
+ MGET_CHAR(unsigned char);
+ break;
+
+ default:
+ *ierr = 1;
+ return;
+ }
+ break;
+ default:
+ *ierr = 1;
+ return;
+ }
+ if (items != n)
+ {
+ *ierr = -(items) - 1;
+ /** sciprint("Read %d out of\n",items,n); **/
+ }
+ return;
+}
+
+/*--------------------------------------------------------------------------*/
+void C2F(mget) (int *fd, double *res, int *n, const char *type, int *ierr)
+{
+ int nc, swap2;
+ FILE *fa;
+
+ nc = (int)strlen(type);
+ *ierr = 0;
+ if (nc == 0)
+ {
+ sciprint(_("%s: Wrong size for input argument #%d: Non-empty string expected.\n"), "mput", 4, type);
+ *ierr = 2;
+ return;
+ }
+ fa = GetFileOpenedInScilab(*fd);
+ if (fa)
+ {
+ swap2 = GetSwapStatus(*fd);
+ mget2(fa, swap2, res, *n, type, ierr);
+ if (*ierr > 0)
+ {
+ sciprint(_("%s: Wrong value for input argument #%d: Format not recognized.\n"), "mget", 4);
+ }
+ }
+ else
+ {
+ sciprint(_("%s: No input file associated to logical unit %d.\n"), "mget", *fd);
+ *ierr = 3;
+ }
+}
+
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mgeti.c b/modules/fileio/src/c/mgeti.c
new file mode 100755
index 000000000..842f2a4a5
--- /dev/null
+++ b/modules/fileio/src/c/mgeti.c
@@ -0,0 +1,180 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) INRIA -
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "mgeti.h"
+#include "sciprint.h"
+#include "filesmanagement.h"
+#include "islittleendian.h"
+#include "localization.h"
+#include "convert_tools.h"
+
+/*****************************************************************
+* read n items of type type
+* if read fails *ierr contains the number of properly read items
+****************************************************************/
+void C2F(mgeti)(int* _pF, long long* _pVal, int* _iSize, char* _iOpt, int* _iErr)
+{
+ int iType = 0;
+ int iUnsigned = 0;
+ int iEndian = 0;
+
+ int iTypeLen = (int)strlen(_iOpt);
+ int i;
+ int iCount = -1;
+ FILE *fa = NULL;
+
+ unsigned char *RES_uc = (unsigned char *)_pVal;
+ unsigned int *RES_ui = (unsigned int*)_pVal;
+ unsigned short *RES_us = (unsigned short *)_pVal;
+
+ fa = GetFileOpenedInScilab(*_pF);
+ if (fa == NULL)
+ {
+ sciprint(_("%s: No input file.\n"), "mputi");
+ *_iErr = 1;
+ return;
+ }
+
+ if (iTypeLen == 1)
+ {
+ //type only
+ iUnsigned = SIGNED;
+ iType = checkType(_iOpt[0]);
+ }
+ else if (iTypeLen == 2)
+ {
+ if (_iOpt[0] == 'u')
+ {
+ //unsigned + type
+ iUnsigned = UNSIGNED;
+ iType = checkType(_iOpt[1]);
+ }
+ else
+ {
+ //type + endian
+ iUnsigned = SIGNED;
+ iType = checkType(_iOpt[0]);
+ iEndian = checkEndian(_iOpt[1]);
+ }
+ }
+ else if (iTypeLen == 3)
+ {
+ if (_iOpt[0] == 'u')
+ {
+ //unsigned + type
+ iUnsigned = UNSIGNED;
+ iType = checkType(_iOpt[1]);
+ iEndian = checkEndian(_iOpt[2]);
+ }
+ }
+
+ if (iEndian == 0)
+ {
+ //endian can be setting up by mopen call with flag swap
+ if (GetSwapStatus(*_pF))
+ {
+ iEndian = islittleendian() ? BIG_ENDIAN : LITTLE_ENDIAN;
+ }
+ else
+ {
+ iEndian = islittleendian() ? LITTLE_ENDIAN : BIG_ENDIAN;
+ }
+ }
+ else
+ {
+ if (iEndian == LITTLE_ENDIAN)
+ {
+ iEndian = islittleendian() ? LITTLE_ENDIAN : BIG_ENDIAN;
+ }
+ else
+ {
+ iEndian = islittleendian() ? BIG_ENDIAN : LITTLE_ENDIAN;
+ }
+ }
+
+ if (iType == 0 || iEndian == 0 || iUnsigned == 0)
+ {
+ sciprint(_("%s: %s format not recognized.\n"), "mputi", _iOpt);
+ *_iErr = 1;
+ return;
+ }
+
+
+ switch (iType)
+ {
+ case TYPE_LONG_LONG :
+ for (i = 0 ; i < *_iSize ; i++)
+ {
+ unsigned long long val;
+ *_iErr = readLongLong(fa, iEndian, &val);
+ if (*_iErr || feof(fa))
+ {
+ iCount = i;
+ break;
+ }
+
+ //be careful, only because scilab 5 does not manage int64
+ *RES_ui++ = (unsigned int)val;
+ }
+ break;
+ case TYPE_INT :
+ for (i = 0 ; i < *_iSize ; i++)
+ {
+ unsigned int val;
+ *_iErr = readInt(fa, iEndian, &val);
+ if (*_iErr || feof(fa))
+ {
+ iCount = i;
+ break;
+ }
+
+ *RES_ui++ = val;
+ }
+ break;
+ case TYPE_SHORT :
+ for (i = 0 ; i < *_iSize ; i++)
+ {
+ unsigned short val;
+ *_iErr = readShort(fa, iEndian, &val);
+ if (*_iErr || feof(fa))
+ {
+ iCount = i;
+ break;
+ }
+
+ *RES_us++ = val;
+ }
+ break;
+ case TYPE_CHAR:
+ for (i = 0 ; i < *_iSize ; i++)
+ {
+ unsigned char val;
+ *_iErr = readChar(fa, iEndian, &val);
+ if (*_iErr || feof(fa))
+ {
+ iCount = i;
+ break;
+ }
+
+ *RES_uc++ = val;
+ }
+ break;
+ }
+
+ if (iCount != -1)
+ {
+ *_iErr = - iCount - 1;
+ }
+}
diff --git a/modules/fileio/src/c/mgeti.h b/modules/fileio/src/c/mgeti.h
new file mode 100755
index 000000000..e2fc34ba7
--- /dev/null
+++ b/modules/fileio/src/c/mgeti.h
@@ -0,0 +1,41 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Sylvestre LEDRU
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __MGETI_H__
+#define __MGETI_H__
+
+#include "machine.h"
+#include "dynlib_fileio.h"
+/**
+ * <long-description>
+ *
+ * @param char type[]
+ * @param fd
+ * @return <ReturnValue>
+ */
+int SWAP(char type[], int *fd);
+
+/**
+ * <long-description>
+ *
+ * @param fd
+ * @param res
+ * @param n
+ * @param char type[]
+ * @param ierr
+ */
+FILEIO_IMPEXP void C2F(mgeti) (int *fd, long long *res, int *n, char type[], int *ierr);
+
+#endif /* __MGETI_H__ */
+
diff --git a/modules/fileio/src/c/mgetl.c b/modules/fileio/src/c/mgetl.c
new file mode 100755
index 000000000..cda9093d6
--- /dev/null
+++ b/modules/fileio/src/c/mgetl.c
@@ -0,0 +1,387 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifdef _MSC_VER
+#include <windows.h>
+#include "strdup_windows.h"
+#endif
+#include "mgetl.h"
+#include "filesmanagement.h"
+#include "mopen.h"
+#include "MALLOC.h"
+#include "BOOL.h"
+#include "strsubst.h"
+#include "charEncoding.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+#define LINE_MAX 4096
+#define CR '\r'
+#define LF '\n'
+#define EMPTYSTR ""
+/*--------------------------------------------------------------------------*/
+static char *removeEOL(char *_inString);
+static char *convertAnsiToUtf(char *_inString);
+static char *getNextLine(FILE *stream);
+/*--------------------------------------------------------------------------*/
+static const unsigned char UTF8BOM_BYTEORDER_MARK[] = {0xEF, 0xBB, 0xBF, 0x00};
+/*--------------------------------------------------------------------------*/
+char **mgetl(int fd, int nbLinesIn, int *nbLinesOut, int *ierr)
+{
+ char **strLines = NULL;
+ FILE *fa = NULL;
+
+ *ierr = MGETL_ERROR;
+ *nbLinesOut = 0;
+
+ if (fd == STDIN_ID)
+ {
+ fa = stdin;
+ }
+ else
+ {
+ fa = GetFileOpenedInScilab(fd);
+ }
+
+ if (fa)
+ {
+ char *Line = NULL;
+ int nbLines = 0;
+
+ if (nbLinesIn < 0)
+ {
+ strLines = (char **)MALLOC(sizeof(char *));
+ if (strLines == NULL)
+ {
+ *nbLinesOut = 0;
+ *ierr = MGETL_MEMORY_ALLOCATION_ERROR;
+ return NULL;
+ }
+
+ Line = getNextLine(fa);
+ if (Line)
+ {
+ /* UTF-8 BOM */
+ if (strncmp(Line, (const char*)UTF8BOM_BYTEORDER_MARK, strlen((const char*)UTF8BOM_BYTEORDER_MARK)) == 0)
+ {
+ /* we skip first characters */
+ char *tmpLine = strsub(Line, (const char*)UTF8BOM_BYTEORDER_MARK, "");
+ FREE(Line);
+ Line = tmpLine;
+ }
+ }
+
+ while ( Line != NULL )
+ {
+ nbLines++;
+ strLines = (char **)REALLOC(strLines, nbLines * sizeof(char *));
+ if (strLines == NULL)
+ {
+ FREE(Line);
+ *nbLinesOut = 0;
+ *ierr = MGETL_MEMORY_ALLOCATION_ERROR;
+ return NULL;
+ }
+
+ strLines[nbLines - 1] = convertAnsiToUtf(removeEOL(Line));
+
+ FREE(Line);
+
+ if (strLines[nbLines - 1] == NULL)
+ {
+ *nbLinesOut = 0;
+ *ierr = MGETL_MEMORY_ALLOCATION_ERROR;
+ freeArrayOfString(strLines, nbLines);
+ return NULL;
+ }
+
+ Line = getNextLine(fa);
+ }
+
+ *nbLinesOut = nbLines;
+ *ierr = MGETL_NO_ERROR;
+ }
+ else
+ {
+ if (nbLinesIn == 0)
+ {
+ *ierr = MGETL_EOF;
+ *nbLinesOut = 0;
+ if (strLines)
+ {
+ FREE(strLines);
+ }
+ strLines = NULL;
+ }
+ else
+ {
+ BOOL bContinue = TRUE;
+ BOOL bEOF = FALSE;
+ strLines = (char **)MALLOC(sizeof(char *) * nbLinesIn);
+
+ if (strLines == NULL)
+ {
+ *nbLinesOut = 0;
+ *ierr = MGETL_MEMORY_ALLOCATION_ERROR;
+ return NULL;
+ }
+
+ do
+ {
+ if (nbLines < nbLinesIn)
+ {
+ if ((double) ftell(fa) == 0)
+ {
+ Line = getNextLine(fa);
+ /* UTF-8 BOM */
+ if (Line && (strncmp(Line, (const char*)UTF8BOM_BYTEORDER_MARK, strlen((const char*)UTF8BOM_BYTEORDER_MARK)) == 0))
+ {
+ /* we skip first characters */
+ char *tmpLine = strsub(Line, (const char*)UTF8BOM_BYTEORDER_MARK, "");
+ FREE(Line);
+ Line = tmpLine;
+ }
+ }
+ else
+ {
+ Line = getNextLine(fa);
+ }
+
+ if (Line != NULL)
+ {
+ nbLines++;
+ strLines[nbLines - 1] = convertAnsiToUtf(removeEOL(Line));
+
+ if (Line)
+ {
+ FREE(Line);
+ Line = NULL;
+ }
+
+ if (strLines[nbLines - 1] == NULL)
+ {
+ freeArrayOfString(strLines, nbLines);
+ *nbLinesOut = 0;
+ *ierr = MGETL_MEMORY_ALLOCATION_ERROR;
+ return NULL;
+ }
+ }
+ else
+ {
+ /* EOF */
+ if (feof(fa))
+ {
+ bEOF = TRUE;
+ }
+ bContinue = FALSE;
+ }
+ }
+ else
+ {
+ bContinue = FALSE;
+ }
+ }
+ while (bContinue);
+
+ if (Line)
+ {
+ FREE(Line);
+ Line = NULL;
+ }
+
+ *nbLinesOut = nbLines;
+ if (bEOF)
+ {
+ *ierr = MGETL_EOF;
+ }
+ else
+ {
+ *ierr = MGETL_NO_ERROR;
+ }
+ }
+ }
+ if (Line)
+ {
+ FREE(Line);
+ Line = NULL;
+ }
+ }
+
+ return strLines;
+}
+/*--------------------------------------------------------------------------*/
+static char *removeEOL(char *_inString)
+{
+ if (_inString)
+ {
+ char *pos = strchr(_inString, LF);
+ if (pos)
+ {
+ *pos = 0;
+ }
+
+ pos = strchr(_inString, CR);
+ if (pos)
+ {
+ *pos = 0;
+ }
+ }
+ return _inString;
+}
+/*--------------------------------------------------------------------------*/
+/*
+* convert ansi to Utf
+*/
+static char *convertAnsiToUtf(char *_inString)
+{
+ char *outString = NULL;
+ if (_inString)
+ {
+#ifdef _MSC_VER
+ if (IsValidUTF8(_inString))
+ {
+ outString = strdup(_inString);
+ }
+ else
+ {
+ /* conversion ANSI to UTF */
+ int Len = 0;
+ int newLen = 0;
+ BSTR bstrCode = NULL;
+
+ Len = MultiByteToWideChar(CP_ACP, 0, _inString, lstrlen(_inString), NULL, NULL);
+ bstrCode = SysAllocStringLen(NULL, Len);
+ if (bstrCode)
+ {
+ MultiByteToWideChar(CP_ACP, 0, _inString, lstrlen(_inString), bstrCode, Len);
+ newLen = WideCharToMultiByte(CP_UTF8, 0, bstrCode, -1, outString, 0, NULL, NULL);
+ outString = (char*) MALLOC(newLen + 1);
+ if (outString)
+ {
+ WideCharToMultiByte(CP_UTF8, 0, bstrCode, -1, outString, newLen, NULL, NULL);
+ }
+ else
+ {
+ outString = strdup(_inString);
+ }
+ SysFreeString(bstrCode);
+ bstrCode = NULL;
+ }
+ else
+ {
+ outString = strdup(_inString);
+ }
+ }
+#else
+ if (IsValidUTF8(_inString))
+ {
+ outString = strdup(_inString);
+ }
+ else
+ {
+ int len = (int)strlen(_inString);
+ int i = 0;
+
+ outString = (char*)MALLOC(((len * 3) + 1) * sizeof(char));
+ if (outString == NULL)
+ {
+ return NULL;
+ }
+ strcpy(outString, EMPTYSTR);
+
+ for (i = 0; i < len; i++)
+ {
+ unsigned char *outUtfChar = NULL;
+ unsigned char inAnsiChar = 0;
+
+ if (_inString[i] < 0)
+ {
+ inAnsiChar = 256 + _inString[i];
+ }
+ else
+ {
+ inAnsiChar = _inString[i];
+ }
+
+ if (inAnsiChar < 128)
+ {
+ outUtfChar = (char *)CALLOC(2, sizeof(char));
+ if (outUtfChar)
+ {
+ outUtfChar[0] = inAnsiChar;
+ outUtfChar[1] = 0;
+ }
+ }
+ else
+ {
+ outUtfChar = (char *)CALLOC(3, sizeof(char));
+ if (outUtfChar)
+ {
+ outUtfChar[0] = (inAnsiChar >> 6) | 0xC0;
+ outUtfChar[1] = (inAnsiChar & 0x3F) | 0x80;
+ outUtfChar[2] = 0;
+ }
+ }
+
+ if (outUtfChar)
+ {
+ strcat(outString, outUtfChar);
+ FREE(outUtfChar);
+ outUtfChar = NULL;
+ }
+ }
+ }
+#endif
+ }
+ return outString;
+}
+/*--------------------------------------------------------------------------*/
+static char *getNextLine(FILE *stream)
+{
+ char *bufferLine = NULL;
+ if (stream != NULL)
+ {
+ char *pCurrentLine = NULL;
+ char tmp[LINE_MAX] = EMPTYSTR;
+
+ size_t size = 1;
+
+ while (fgets (tmp, LINE_MAX, stream) != NULL)
+ {
+ size += LINE_MAX;
+ pCurrentLine = (char*)REALLOC (bufferLine, sizeof (char) * size);
+ if (pCurrentLine != NULL)
+ {
+ if (bufferLine == NULL)
+ {
+ pCurrentLine[0] = '\0';
+ }
+ bufferLine = pCurrentLine;
+ pCurrentLine = NULL;
+ strcat (bufferLine, tmp);
+
+ if (bufferLine[strlen(bufferLine) - 1] == '\n')
+ {
+ bufferLine[strlen(bufferLine) - 1] = '\0';
+ break;
+ }
+ }
+ else
+ {
+ FREE (bufferLine);
+ bufferLine = NULL;
+ }
+ }
+ }
+ return bufferLine;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mgetstr.c b/modules/fileio/src/c/mgetstr.c
new file mode 100755
index 000000000..ac8ee2853
--- /dev/null
+++ b/modules/fileio/src/c/mgetstr.c
@@ -0,0 +1,40 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include "mgetstr.h"
+#include "filesmanagement.h"
+#include "MALLOC.h"
+#include "sciprint.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+void C2F(mgetstr1) (int *fd, char *start, int *n, int *ierr)
+{
+ int count = 0;
+ FILE *fa = NULL;
+ fa = GetFileOpenedInScilab(*fd);
+ *ierr = 0;
+ if (fa)
+ {
+ count = (int)fread(start, sizeof(char), *n, fa);
+ start[*n] = '\0';
+ if ( count != *n )
+ {
+ *ierr = - count - 1;
+ }
+ return;
+ }
+ sciprint(_("%s: No input file.\n"), "mgetstr");
+ *ierr = 1;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mgetstr.h b/modules/fileio/src/c/mgetstr.h
new file mode 100755
index 000000000..b9cf96706
--- /dev/null
+++ b/modules/fileio/src/c/mgetstr.h
@@ -0,0 +1,29 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __MGETSTR_H__
+#define __MGETSTR_H__
+
+#include "machine.h"
+
+/**
+ * read a string
+ *
+ * @param fd
+ * @param start
+ * @param n
+ * @param ierr
+ */
+void C2F(mgetstr1) (int *fd, char *start, int *n, int *ierr);
+
+#endif /* __MGETSTR_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mopen.c b/modules/fileio/src/c/mopen.c
new file mode 100755
index 000000000..13051436e
--- /dev/null
+++ b/modules/fileio/src/c/mopen.c
@@ -0,0 +1,132 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include <string.h>
+#include "mopen.h"
+#include "Status2Mode.h"
+#include "filesmanagement.h"
+#include "getfiledesc.h"
+#include "addfile.h"
+#include "sciprint.h"
+#include "localization.h"
+#include "warningmode.h"
+#include "MALLOC.h"
+#include "BOOL.h"
+#include "charEncoding.h"
+#include "isdir.h"
+/*--------------------------------------------------------------------------*/
+extern int swap;
+/*--------------------------------------------------------------------------*/
+void C2F(mopen)(int *fd, char *file, char *status, int *f_swap, double *res, int *error)
+{
+ int littlendian = 1, type = 2, ierr, mode;
+ int lenChar = 0, testRep = 1;
+ char *endptr;
+ FILE * fa;
+
+ /* bug 4846 */
+ if (file == NULL)
+ {
+ *error = (int)MOPEN_INVALID_FILENAME;
+ return;
+ }
+
+ if ( getWarningMode() && IsAlreadyOpenedInScilab(file) )
+ {
+ sciprint(_("Warning: file '%s' already opened in Scilab.\n"), file);
+ }
+
+ swap = 0;
+ *error = (int)MOPEN_NO_ERROR;
+ endptr = (char *) &littlendian;
+ if ( (!*endptr) )
+ {
+ if ( *f_swap == 1 )
+ {
+ swap = 1;
+ }
+ else
+ {
+ swap = 0;
+ }
+ }
+
+ C2F(getfiledesc)(fd);
+
+ if ( *fd == -1 )
+ {
+ *error = (int)MOPEN_NO_MORE_LOGICAL_UNIT;
+ return;
+ }
+
+ if (strlen(file) == 0)
+ {
+ *error = (int)MOPEN_INVALID_FILENAME;
+ return;
+ }
+
+ if (status == NULL)
+ {
+ *error = (int)MOPEN_INVALID_STATUS;
+ return;
+ }
+
+ //#Bug 13331 //
+ lenChar = (int)strlen(status);
+ if (( lenChar == 0 ) || ( lenChar > 3 ))
+ {
+ *error = (int)MOPEN_INVALID_STATUS;
+ return;
+ }
+
+ if ((status[0] != 'a') && (status[0] != 'r') && (status[0] != 'w'))
+ {
+ *error = (int)MOPEN_INVALID_STATUS;
+ return;
+ }
+
+ for ( testRep = 1; testRep < lenChar ; testRep++ )
+ {
+ if (( status[testRep] != '+' ) && ( status[testRep] != 'b' ) && ( status[testRep] != 't' ))
+ {
+ *error = (int)MOPEN_INVALID_STATUS;
+ return;
+ }
+ }
+
+ if (isdir(file))
+ {
+ *error = (int)MOPEN_CAN_NOT_OPEN_FILE;
+ return;
+ }
+
+ wcfopen(fa , file, status);
+
+ if (! fa )
+ {
+ *error = (int)MOPEN_CAN_NOT_OPEN_FILE;
+ return;
+ }
+ mode = Status2Mode(status);
+ C2F(addfile)(fd, fa, &swap, &type, &mode, file, &ierr);
+ if (ierr)
+ {
+ *error = (int)MOPEN_NO_MORE_MEMORY;
+ return;
+ }
+ SetCurrentFileId(*fd);
+ *res = (double)ferror(fa);
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/movefile.c b/modules/fileio/src/c/movefile.c
new file mode 100755
index 000000000..0e223bcf1
--- /dev/null
+++ b/modules/fileio/src/c/movefile.c
@@ -0,0 +1,62 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include "movefile.h"
+#include "deleteafile.h"
+#include "removedir.h"
+#include "copyfile.h"
+#include "createdirectory.h"
+#include "isdir.h"
+/*--------------------------------------------------------------------------*/
+int MoveFileFunction(wchar_t *DestinationFilename, wchar_t *SourceFilename)
+{
+ int ierr = 0;
+ ierr = CopyFileFunction(DestinationFilename, SourceFilename);
+ if (ierr == 0)
+ {
+ if (deleteafileW(SourceFilename))
+ {
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int MoveDirectoryFunction(wchar_t *DestinationDirectory, wchar_t *SourceDirectory)
+{
+ int ierr = 0;
+
+ if ( !isdirW(DestinationDirectory) )
+ {
+ createdirectoryW(DestinationDirectory);
+ }
+
+ ierr = CopyDirectoryFunction(DestinationDirectory, SourceDirectory);
+ if (ierr == 0)
+ {
+ if (removedirW(SourceDirectory))
+ {
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+ return 0;
+
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/movefile.h b/modules/fileio/src/c/movefile.h
new file mode 100755
index 000000000..74e826c87
--- /dev/null
+++ b/modules/fileio/src/c/movefile.h
@@ -0,0 +1,36 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __MOVEFILE_H__
+#define __MOVEFILE_H__
+
+#include <wchar.h>
+#include "dynlib_fileio.h"
+
+/**
+* move a file
+* @param[in] destination filename
+* @param[in] source filename
+* @return error number
+*/
+FILEIO_IMPEXP int MoveFileFunction(wchar_t *DestinationFilename, wchar_t *SourceFilename);
+
+/**
+* move a directory
+* @param[in] destination directory
+* @param[in] source directory
+* @return error number
+*/
+FILEIO_IMPEXP int MoveDirectoryFunction(wchar_t *DestinationDirectory, wchar_t *SourceDirectory);
+
+#endif /* __MOVEFILE_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mput.c b/modules/fileio/src/c/mput.c
new file mode 100755
index 000000000..1896a0db0
--- /dev/null
+++ b/modules/fileio/src/c/mput.c
@@ -0,0 +1,283 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#ifndef _MSC_VER
+#include <stdint.h>
+#endif
+#include "mput.h"
+#include "filesmanagement.h"
+#include "sciprint.h"
+#include "islittleendian.h"
+#include "convert_tools.h"
+#include "localization.h"
+#include "warningmode.h"
+/*--------------------------------------------------------------------------*/
+extern int swap; /* defined in mget.c */
+/*--------------------------------------------------------------------------*/
+
+/*===============================================
+ * function to write data without type conversion
+ *===============================================*/
+#define MPUT_CHAR_NC(Type) \
+ { \
+ Type *val = (Type *) res ; \
+ fwrite(val,sizeof(Type),n,fa); \
+ }
+/*--------------------------------------------------------------------------*/
+#define MPUT_NC(Type) { \
+ Type *val = (Type *) res ; \
+ if ( swap) { \
+ unsigned long long temp; \
+ for ( i=0; i< n; i++) { \
+ swap_generic((char *)val,(char *)&temp, sizeof(Type)); \
+ val++; \
+ fwrite(&temp,sizeof(Type),1,fa); \
+ } \
+ } \
+ else fwrite(val,sizeof(Type),n,fa); \
+ }
+/*--------------------------------------------------------------------------*/
+#define MPUT_GEN_NC(Type,cf) \
+ switch ( cf ) \
+ { \
+ case ' ': \
+ MPUT_NC(Type); break; \
+ case 'b': \
+ swap = (islittleendian()==1) ? 1 : 0; \
+ MPUT_NC(Type); break; \
+ case 'l': \
+ swap = (islittleendian()==1) ? 0 : 1; \
+ MPUT_NC(Type); break; \
+ default: \
+ sciprint(_("%s: Wrong value for input argument #%d (%s): '%s' or '%s' or '%s' expected.\n"),"mput",4,type," ","b","l"); \
+ *ierr=1;return; \
+ }
+/*--------------------------------------------------------------------------*/
+/* write data without conversion (res is supposed to have type type) */
+void C2F(mputnc) (int *fd, void * res, int *n1, char *type, int *ierr)
+{
+ char c1, c2;
+ int i, n;
+ FILE *fa;
+ n = *n1;
+ *ierr = 0;
+ if ((fa = GetFileOpenedInScilab(*fd)) == NULL)
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("%s: No input file associated to logical unit %d.\n"), "mput", *fd);
+ }
+ *ierr = 3;
+ return;
+ }
+
+ c1 = ( strlen(type) > 1) ? type[1] : ' ';
+ c2 = ( strlen(type) > 2) ? type[2] : ' ';
+ switch ( type[0] )
+ {
+ case 'i' :
+ MPUT_GEN_NC(int, c1);
+ break;
+ case 'l' :
+ MPUT_GEN_NC(long long, c1);
+ break;
+ case 's' :
+ MPUT_GEN_NC(short, c1);
+ break;
+ case 'c' :
+ MPUT_CHAR_NC(char) ;
+ break;
+ case 'd' :
+ MPUT_GEN_NC(double, c1);
+ break;
+ case 'f' :
+ MPUT_GEN_NC(float, c1);
+ break;
+ case 'u' :
+ switch ( c1 )
+ {
+ case 'i' :
+ MPUT_GEN_NC(unsigned int, c2);
+ break;
+ case 'l' :
+ MPUT_GEN_NC(unsigned long long, c2);
+ break;
+ case 's' :
+ MPUT_GEN_NC(unsigned short, c2);
+ break;
+ case ' ' :
+ MPUT_GEN_NC(unsigned int, ' ');
+ break;
+ case 'c' :
+ MPUT_CHAR_NC(unsigned char);
+ break;
+ default :
+ *ierr = 1;
+ return ;
+ }
+ break;
+ default :
+ *ierr = 1;
+ break;
+ }
+}
+/*--------------------------------------------------------------------------*/
+/*================================================
+ * function to write data stored in double
+ *================================================*/
+/** used for char **/
+#define MPUT_CHAR(Type) { \
+ for ( i=0; i< n; i++) { \
+ Type val = (char) *res++; \
+ fwrite(&val,sizeof(Type),1,fa); \
+ } \
+ }
+/*--------------------------------------------------------------------------*/
+/** write in a machine independant way : i.e data
+ is swaped if necessary to output little-endian
+ data **/
+
+#define MPUT(Type) { \
+ Type val; \
+ for ( i=0; i< n; i++) { \
+ val =(Type)res[i]; \
+ if ( swap) { \
+ unsigned long long temp; \
+ swap_generic((char *)&val,(char *)&temp, sizeof(Type)); \
+ fwrite(&temp,sizeof(Type),1,fa); \
+ } \
+ else fwrite(&val,sizeof(Type),1,fa); \
+ } \
+ }
+
+/*--------------------------------------------------------------------------*/
+/** The output mode is controlled by type[1] **/
+#define MPUT_GEN(Type,cf) \
+ switch ( cf ) \
+ { \
+ case ' ': \
+ MPUT(Type); break; \
+ case 'b': \
+ swap = (islittleendian()==1) ? 1 : 0; \
+ MPUT(Type); break; \
+ case 'l': \
+ swap = (islittleendian()==1) ? 0 : 1; \
+ MPUT(Type); break; \
+ default: \
+ if ( getWarningMode() ) sciprint(_("%s: Wrong value for input argument #%d (%s): '%s' or '%s' or '%s' expected.\n"),"mput",4,type," ","b","l"); \
+ *ierr=1;return; \
+ }
+/*--------------------------------------------------------------------------*/
+void mput2 (FILE *fa, int swap2, double *res, int n, char *type, int *ierr)
+{
+ char c1, c2;
+ int i;
+ *ierr = 0;
+ c1 = ( strlen(type) > 1) ? type[1] : ' ';
+ c2 = ( strlen(type) > 2) ? type[2] : ' ';
+ switch ( type[0] )
+ {
+ case 'i' :
+ MPUT_GEN(int, c1);
+ break;
+ case 'l' :
+ MPUT_GEN(long long, c1);
+ break;
+ case 's' :
+ MPUT_GEN(short, c1);
+ break;
+ case 'c' :
+ MPUT_CHAR(char) ;
+ break;
+ case 'd' :
+ MPUT_GEN(double, c1);
+ break;
+ case 'f' :
+ MPUT_GEN(float, c1);
+ break;
+ case 'u' :
+ switch ( c1 )
+ {
+ case 'i' :
+ MPUT_GEN(unsigned int, c2);
+ break;
+ case 'l' :
+ MPUT_GEN(unsigned long long, c2);
+ break;
+ case 's' :
+ MPUT_GEN(unsigned short, c2);
+ break;
+ case ' ' :
+ MPUT_GEN(unsigned int, ' ');
+ break;
+ case 'c' :
+ MPUT_CHAR(unsigned char);
+ break;
+ default :
+ *ierr = 1;
+ return ;
+ }
+ break;
+ default :
+ *ierr = 1;
+ break;
+ }
+}
+/*--------------------------------------------------------------------------*/
+void C2F(mput) (int *fd, double *res, int *n, char *type, int *ierr)
+{
+ int nc = 0, swap2 = 0;
+ FILE *fa = NULL;
+ *ierr = 0;
+ if ((nc = (int)strlen(type)) == 0)
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("%s: Wrong size for input argument #%d ('%s'): Non-empty string expected.\n"), "mput", 4, type);
+ }
+ *ierr = 2;
+ return;
+ }
+
+ if ( *fd == -1 && GetFileOpenedInScilab(*fd) == NULL )
+ {
+ sciprint(_("%s: No File opened in Scilab.\n") , "mput" ) ;
+ *ierr = 3 ;
+ return ;
+ }
+
+ if ((fa = GetFileOpenedInScilab(*fd)) != NULL)
+ {
+ swap2 = GetSwapStatus(*fd);
+ mput2(fa, swap2, res, *n, type, ierr);
+ if (*ierr > 0)
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("%s: Wrong value for input argument #%d ('%s'): Format not recognized.\n"), "mput", 4, type);
+ }
+ }
+ }
+ else
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("%s: Error while opening, reading or writing '%s'.\n"), "mput", GetFileNameOpenedInScilab(*fd));
+ }
+ *ierr = 3;
+ }
+}
+/*--------------------------------------------------------------------------*/
+
+
diff --git a/modules/fileio/src/c/mputi.c b/modules/fileio/src/c/mputi.c
new file mode 100755
index 000000000..9ffd8ee2c
--- /dev/null
+++ b/modules/fileio/src/c/mputi.c
@@ -0,0 +1,144 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) INRIA -
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+
+#include <string.h>
+
+#include "mputi.h"
+#include "sciprint.h"
+#include "filesmanagement.h"
+#include "localization.h"
+#include "islittleendian.h"
+#include "convert_tools.h"
+
+
+void C2F(mputi)(int* _pF, long long* _pVal, int* _iSize, char* _iOpt, int* _iErr)
+{
+ int iType = 0;
+ int iUnsigned = 0;
+ int iEndian = 0;
+
+ int iTypeLen = (int)strlen(_iOpt);
+ int i;
+ FILE *fa = NULL;
+
+ unsigned char *RES_uc = (unsigned char*)_pVal;
+ unsigned short *RES_us = (unsigned short*)_pVal;
+ unsigned int *RES_ui = (unsigned int*)_pVal;
+
+ fa = GetFileOpenedInScilab(*_pF);
+ if (fa == NULL)
+ {
+ sciprint(_("%s: No input file.\n"), "mputi");
+ *_iErr = 1;
+ return;
+ }
+
+ if (iTypeLen == 1)
+ {
+ //type only
+ iUnsigned = SIGNED;
+ iType = checkType(_iOpt[0]);
+ }
+ else if (iTypeLen == 2)
+ {
+ if (_iOpt[0] == 'u')
+ {
+ //unsigned + type
+ iUnsigned = UNSIGNED;
+ iType = checkType(_iOpt[1]);
+ }
+ else
+ {
+ //type + endian
+ iUnsigned = SIGNED;
+ iType = checkType(_iOpt[0]);
+ iEndian = checkEndian(_iOpt[1]);
+ }
+ }
+ else if (iTypeLen == 3)
+ {
+ if (_iOpt[0] == 'u')
+ {
+ //unsigned + type
+ iUnsigned = UNSIGNED;
+ iType = checkType(_iOpt[1]);
+ iEndian = checkEndian(_iOpt[2]);
+ }
+ }
+
+ if (iEndian == 0)
+ {
+ //endian can be setting up by mopen call with flag swap
+ if (GetSwapStatus(*_pF))
+ {
+ iEndian = islittleendian() ? BIG_ENDIAN : LITTLE_ENDIAN;
+ }
+ else
+ {
+ iEndian = islittleendian() ? LITTLE_ENDIAN : BIG_ENDIAN;
+ }
+ }
+ else
+ {
+ if (iEndian == LITTLE_ENDIAN)
+ {
+ iEndian = islittleendian() ? LITTLE_ENDIAN : BIG_ENDIAN;
+ }
+ else
+ {
+ iEndian = islittleendian() ? BIG_ENDIAN : LITTLE_ENDIAN;
+ }
+ }
+
+ if (iType == 0 || iEndian == 0 || iUnsigned == 0)
+ {
+ sciprint(_("%s: %s format not recognized.\n"), "mputi", _iOpt);
+ *_iErr = 1;
+ return;
+ }
+
+ switch (iType)
+ {
+ case TYPE_LONG_LONG :
+ for (i = 0; i < *_iSize ; i++)
+ {
+ unsigned long long val;
+ val = *(_pVal + i);
+ *_iErr = writeLongLong(val, fa, iEndian);
+ }
+ break;
+ case TYPE_INT :
+ for (i = 0; i < *_iSize ; i++)
+ {
+ unsigned int val;
+ val = *(RES_ui + i);
+ *_iErr = writeInt(val, fa, iEndian);
+ }
+ break;
+ case TYPE_SHORT :
+ for (i = 0; i < *_iSize ; i++)
+ {
+ unsigned short val;
+ val = *(RES_us + i);
+ *_iErr = writeShort(val, fa, iEndian);
+ }
+ break;
+ case TYPE_CHAR:
+ for (i = 0; i < *_iSize ; i++)
+ {
+ unsigned char val;
+ val = *(RES_uc + i);
+ *_iErr = writeChar(val, fa, iEndian);
+ }
+ break;
+ }
+}
diff --git a/modules/fileio/src/c/mputi.h b/modules/fileio/src/c/mputi.h
new file mode 100755
index 000000000..de19dc829
--- /dev/null
+++ b/modules/fileio/src/c/mputi.h
@@ -0,0 +1,33 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Sylvestre LEDRU
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __MPUTI_H__
+#define __MPUTI_H__
+
+#include "dynlib_fileio.h"
+#include "machine.h"
+
+/**
+ * TODO: add comment
+ *
+ * @param fd
+ * @param res
+ * @param n
+ * @param char type[]
+ * @param ierr
+ */
+FILEIO_IMPEXP void C2F(mputi) (int *fd, long long *res, int *n, char type[], int *ierr);
+
+#endif /* __MPUTI_H__ */
+
diff --git a/modules/fileio/src/c/mputl.c b/modules/fileio/src/c/mputl.c
new file mode 100755
index 000000000..4044b0c7f
--- /dev/null
+++ b/modules/fileio/src/c/mputl.c
@@ -0,0 +1,72 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include <stdio.h>
+#include "mputl.h"
+#include "filesmanagement.h"
+#include "sciprint.h"
+/*--------------------------------------------------------------------------*/
+#define MPUTL_FORMAT "%s\n"
+/*--------------------------------------------------------------------------*/
+mputlError mputl(int fileDescriptor, char **pStrings, int sizeStrings)
+{
+ FILE *fw = NULL;
+ int i = 0;
+
+ if (pStrings == NULL)
+ {
+ return MPUTL_ERROR;
+ }
+
+ if (fileDescriptor == STDIN_ID)
+ {
+ return MPUTL_INVALID_FILE_DESCRIPTOR;
+ }
+ else if (fileDescriptor == STDOUT_ID)
+ {
+ fw = stdout;
+ }
+ else
+ {
+ fw = GetFileOpenedInScilab(fileDescriptor);
+ if (fw)
+ {
+ int mode = GetFileModeOpenedInScilab(fileDescriptor);
+
+ if ( (mode >= 100) && (mode < 200) && ((mode % 100) < 10) /* not r+ */)
+ {
+ return MPUTL_NO_WRITE_RIGHT;
+ }
+ }
+ else
+ {
+ return MPUTL_INVALID_FILE_DESCRIPTOR;
+ }
+ }
+
+ for (i = 0; i < sizeStrings; i++)
+ {
+ if (fw == stdout)
+ {
+ sciprint(MPUTL_FORMAT, pStrings[i]);
+ }
+ else
+ {
+ fprintf(fw, MPUTL_FORMAT, pStrings[i]);
+ }
+ }
+
+ return MPUTL_NO_ERROR;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/mputl.h b/modules/fileio/src/c/mputl.h
new file mode 100755
index 000000000..94add3769
--- /dev/null
+++ b/modules/fileio/src/c/mputl.h
@@ -0,0 +1,41 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __MPUTL_H__
+#define __MPUTL_H__
+
+typedef enum
+{
+ MPUTL_NO_ERROR = 0,
+ MPUTL_ERROR = 1,
+ MPUTL_INVALID_FILE_DESCRIPTOR = 2,
+ MPUTL_NO_WRITE_RIGHT = 3
+} mputlError;
+
+/* scilab file descriptor id for stdout (see %io in scilab) */
+#define STDOUT_ID 6
+
+/* scilab file descriptor id for stdin (see %io in scilab) */
+#define STDIN_ID 5
+
+/**
+* mputl function
+* @param[in] file descriptor from mopen
+* @param[in] strings to write
+* @param[in] numbers of strings to write
+* @return enum error
+*/
+mputlError mputl(int fileDescriptor, char **pStrings, int sizeStrings);
+
+#endif /* __MPUTL_H__ */
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/mputstr.c b/modules/fileio/src/c/mputstr.c
new file mode 100755
index 000000000..d2305c01f
--- /dev/null
+++ b/modules/fileio/src/c/mputstr.c
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h> /* FILE */
+#include "mputstr.h"
+#include "filesmanagement.h"
+#include "sciprint.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+void C2F(mputstr) (int *fd, char *str, double *res, int *ierr)
+{
+ FILE *fa = NULL;
+ fa = GetFileOpenedInScilab(*fd);
+ if (!fa)
+ {
+ char *filename = GetFileNameOpenedInScilab(*fd);
+ if (filename)
+ {
+ sciprint(_("%s: Error while opening, reading or writing '%s'.\n"), "mputstr", filename);
+ }
+ else
+ {
+ sciprint(_("%s: Error while opening, reading or writing.\n"), "mputstr");
+ }
+ *ierr = 1;
+ }
+ else
+ {
+ fprintf(fa, "%s", str);
+ (*res) = (*ierr) = ferror(fa);
+ }
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mputstr.h b/modules/fileio/src/c/mputstr.h
new file mode 100755
index 000000000..268b0fc58
--- /dev/null
+++ b/modules/fileio/src/c/mputstr.h
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __MPUTSTR_H__
+#define __MPUTSTR_H__
+
+#include "dynlib_fileio.h"
+#include "machine.h"
+
+/**
+* write a string
+*/
+FILEIO_IMPEXP void C2F(mputstr) (int *fd, char *str, double *res, int *ierr);
+
+#endif /* __MPUTSTR_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mseek.c b/modules/fileio/src/c/mseek.c
new file mode 100755
index 000000000..264579531
--- /dev/null
+++ b/modules/fileio/src/c/mseek.c
@@ -0,0 +1,105 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * Copyright (C) 2010 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+#include "mseek.h"
+#include "filesmanagement.h"
+#include "sciprint.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+#if (defined(sun) && !defined(SYSV))
+char *strerror (int errcode);
+#endif
+/*--------------------------------------------------------------------------*/
+#if (defined(sun) && !defined(SYSV)) || defined(sgi)
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#endif
+/*--------------------------------------------------------------------------*/
+void C2F(mseek) (int *fd, double *offset, const char *flag, int *err)
+{
+ int iflag;
+#if (defined(sun) && !defined(SYSV)) || defined(sgi)
+ int irep;
+#endif
+ FILE *fa = GetFileOpenedInScilab(*fd);
+ *err = 0;
+ if ( fa == (FILE *) 0 )
+ {
+ char *filename = GetFileNameOpenedInScilab(*fd);
+ if (filename)
+ {
+ sciprint(_("%s: Error while opening, reading or writing '%s'.\n"), "mseek", filename);
+ }
+ else
+ {
+ sciprint(_("%s: Error while opening, reading or writing.\n"), "mseek");
+ }
+
+ *err = 1;
+ return;
+ }
+ if ( strncmp(flag, "set", 3) == 0 )
+ {
+ iflag = SEEK_SET;
+ }
+ else if ( strncmp(flag, "cur", 3) == 0 )
+ {
+ iflag = SEEK_CUR;
+ }
+ else if ( strncmp(flag, "end", 3) == 0 )
+ {
+ iflag = SEEK_END;
+ }
+ else
+ {
+ sciprint(_("%s: Wrong value for input argument #%d: '%s', '%s' or '%s' expected.\n"), "mseek", 3, "set", "cur", "end");
+ *err = 1;
+ return;
+ }
+#if (defined(sun) && !defined(SYSV)) || defined(sgi)
+ irep = fseek(fa, (long) * offset, iflag) ;
+ if ( irep != 0 )
+ {
+ sciprint(strerror(irep));
+ *err = 1;
+ }
+ else
+ {
+ *err = 0;
+ }
+#else
+#ifdef _MSC_VER
+#if _WIN64
+ if (_fseeki64(fa, (long long) *offset, iflag) == -1 )
+#else
+ if (fseek(fa, (long) *offset, iflag) == -1 )
+#endif
+#else
+ if (fseek(fa, (long) *offset, iflag) == -1 )
+#endif
+ {
+ int errnum = errno; /* global variable produced by fseek */
+ sciprint(_("%s: An error occurred in %s: errno=%s\n"), "mseek", "fseek", strerror(errnum));
+ *err = 1;
+ }
+ else
+ {
+ *err = 0;
+ }
+#endif
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/mtell.c b/modules/fileio/src/c/mtell.c
new file mode 100755
index 000000000..4a94a43c2
--- /dev/null
+++ b/modules/fileio/src/c/mtell.c
@@ -0,0 +1,49 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA
+ * Copyright (C) 2010 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include "mtell.h"
+#include "filesmanagement.h"
+#include "sciprint.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+void C2F(mtell) (int *fd, double *offset, int *err)
+{
+ FILE *fa = GetFileOpenedInScilab(*fd);
+ if ( fa == (FILE *) 0 )
+ {
+ char *filename = GetFileNameOpenedInScilab(*fd);
+ if (filename)
+ {
+ sciprint(_("%s: Error while opening, reading or writing '%s'.\n"), "mtell", filename);
+ }
+ else
+ {
+ sciprint(_("%s: Error while opening, reading or writing.\n"), "mtell");
+ }
+
+ *err = 1;
+ return;
+ }
+ *err = 0;
+#ifdef _MSC_VER
+#if _WIN64
+ *offset = (double) _ftelli64(fa) ;
+#else
+ *offset = (double) ftell(fa) ;
+#endif
+#else
+ *offset = (double) ftell(fa) ;
+#endif
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/pathconvert.c b/modules/fileio/src/c/pathconvert.c
new file mode 100755
index 000000000..44704c358
--- /dev/null
+++ b/modules/fileio/src/c/pathconvert.c
@@ -0,0 +1,266 @@
+/*
+* ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009-2010 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <wctype.h>
+#include "pathconvert.h"
+#include "MALLOC.h"
+#include "expandPathVariable.h"
+#include "splitpath.h"
+#include "charEncoding.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+#define CYGWINSTART L"/cygdrive/"
+/*--------------------------------------------------------------------------*/
+static wchar_t *cygwintowindowspath(wchar_t *cygwinpath, BOOL *bConverted);
+static wchar_t *windowstocygwinpath(wchar_t *windowspath, BOOL *bConverted);
+/*--------------------------------------------------------------------------*/
+wchar_t *pathconvertW(wchar_t* wcpath, BOOL flagtrail, BOOL flagexpand, PathConvertType PType)
+{
+ wchar_t *convertedPath = NULL;
+ if (wcpath)
+ {
+ BOOL bConvCyg = FALSE;
+ wchar_t *expandedPath = NULL;
+ PathConvertType PTypelocal = PType;
+ int i = 0;
+
+ if (PType == AUTO_STYLE)
+ {
+#ifdef _MSC_VER
+ PTypelocal = WINDOWS_STYLE;
+#else
+ PTypelocal = UNIX_STYLE;
+#endif
+ }
+
+ if (flagexpand)
+ {
+ expandedPath = expandPathVariableW(wcpath);
+ }
+ else
+ {
+ expandedPath = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(wcpath) + 1));
+ wcscpy(expandedPath, wcpath);
+ }
+
+ if (PTypelocal == WINDOWS_STYLE)
+ {
+ convertedPath = cygwintowindowspath(expandedPath, &bConvCyg);
+ }
+ else
+ {
+ convertedPath = windowstocygwinpath(expandedPath, &bConvCyg);
+ }
+
+ FREE(expandedPath);
+
+ if (convertedPath)
+ {
+ if (flagtrail)
+ {
+ int currentLen = (int) wcslen(convertedPath);
+ if ( (convertedPath[currentLen - 1] != L'/') && (convertedPath[currentLen - 1] != L'\\') )
+ {
+ convertedPath = (wchar_t*)REALLOC(convertedPath, (currentLen + 2) * sizeof(wchar_t));
+ if (PTypelocal == WINDOWS_STYLE)
+ {
+ wcscat(convertedPath, L"\\");
+ }
+ else
+ {
+ wcscat(convertedPath, L"/");
+ }
+ }
+ }
+ else
+ {
+ int currentLen = (int) wcslen(convertedPath);
+ if ( (convertedPath[currentLen - 1] == L'/') || (convertedPath[currentLen - 1] == L'\\') )
+ {
+ convertedPath[currentLen - 1] = L'\0';
+ }
+ }
+
+ for (i = 0; i < (int)wcslen(convertedPath); i++)
+ {
+ if (PTypelocal == WINDOWS_STYLE)
+ {
+ if (convertedPath[i] == L'/')
+ {
+ convertedPath[i] = L'\\';
+ }
+ }
+ else
+ {
+ if (convertedPath[i] == L'\\')
+ {
+ convertedPath[i] = L'/';
+ }
+ }
+ }
+ }
+ }
+ return convertedPath;
+}
+/*--------------------------------------------------------------------------*/
+char *pathconvert(char* path, BOOL flagtrail, BOOL flagexpand, PathConvertType PType)
+{
+ char *convertedPath = NULL;
+ if (path)
+ {
+ wchar_t *wcpath = to_wide_string(path);
+ if (wcpath)
+ {
+ wchar_t *wcconvertedPath = pathconvertW(wcpath, flagtrail, flagexpand, PType);
+ if (wcconvertedPath)
+ {
+ convertedPath = wide_string_to_UTF8(wcconvertedPath);
+ FREE(wcconvertedPath);
+ }
+
+ FREE(wcpath);
+ }
+ }
+ return convertedPath;
+}
+/*--------------------------------------------------------------------------*/
+static wchar_t *cygwintowindowspath(wchar_t *cygwinpath, BOOL *bConverted)
+{
+ wchar_t *windowspath = NULL;
+ *bConverted = FALSE;
+ if (cygwinpath)
+ {
+ int lenBegin = (int)wcslen(CYGWINSTART);
+ int lenPath = (int)wcslen(cygwinpath);
+
+ windowspath = (wchar_t*)MALLOC(sizeof(wchar_t) * (lenPath + 1));
+
+ if ( wcsncmp(cygwinpath, CYGWINSTART, lenBegin) == 0)
+ {
+ if (lenBegin == lenPath)
+ {
+ if (windowspath)
+ {
+ wcscpy(windowspath, cygwinpath);
+ *bConverted = FALSE;
+ }
+ }
+ else
+ {
+ if ( (lenPath > lenBegin) && iswalpha(cygwinpath[lenBegin]) )
+ {
+ if ( (lenPath >= lenBegin + 1) &&
+ ((cygwinpath[lenBegin + 1] == L'/') || (cygwinpath[lenBegin + 1] == L'\\')) )
+ {
+ windowspath[0] = cygwinpath[lenBegin];
+ windowspath[1] = L':';
+ windowspath[2] = L'\0';
+
+ if (lenPath > lenBegin + 1)
+ {
+ wcscat(windowspath, &cygwinpath[lenBegin + 1]);
+ }
+ *bConverted = TRUE;
+ }
+ else
+ {
+ if (windowspath)
+ {
+ wcscpy(windowspath, cygwinpath);
+ }
+ *bConverted = FALSE;
+ }
+ }
+ else
+ {
+ if (windowspath)
+ {
+ wcscpy(windowspath, cygwinpath);
+ }
+ *bConverted = FALSE;
+ }
+ }
+ }
+ else
+ {
+ if (windowspath)
+ {
+ wcscpy(windowspath, cygwinpath);
+ }
+ *bConverted = FALSE;
+ }
+ }
+ return windowspath;
+}
+/*--------------------------------------------------------------------------*/
+static wchar_t *windowstocygwinpath(wchar_t *windowspath, BOOL *bConverted)
+{
+ wchar_t *cygwinpath = NULL;
+ *bConverted = FALSE;
+
+ if (windowspath)
+ {
+ wchar_t *wcdrv = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(windowspath) + 1));
+ wchar_t* wcdir = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(windowspath) + 1));
+ wchar_t* wcname = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(windowspath) + 1));
+ wchar_t* wcext = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(windowspath) + 1));
+
+ splitpathW(windowspath, FALSE, wcdrv, wcdir, wcname, wcext);
+ if (wcscmp(wcdrv, L"") != 0)
+ {
+ int len = (int)wcslen(CYGWINSTART) + (int)wcslen(wcdrv) +
+ (int)wcslen(wcdir) + (int)wcslen(wcname) +
+ (int)wcslen(wcext) + 3;
+
+ cygwinpath = (wchar_t*)MALLOC(sizeof(wchar_t) * len);
+ if (cygwinpath)
+ {
+ wcscpy(cygwinpath, CYGWINSTART);
+ wcscat(cygwinpath, wcdrv);
+ len = (int)wcslen(cygwinpath);
+ if (cygwinpath[len - 1] == L':')
+ {
+ cygwinpath[len - 1] = L'\0';
+ }
+ if (wcscmp(wcdir, L"") != 0)
+ {
+ wcscat(cygwinpath, wcdir);
+
+ if (wcscmp(wcname, L"") != 0)
+ {
+ wcscat(cygwinpath, wcname);
+ if (wcscmp(wcext, L"") != 0)
+ {
+ wcscat(cygwinpath, wcext);
+ }
+ }
+ }
+ }
+ *bConverted = TRUE;
+ }
+ else
+ {
+ cygwinpath = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(windowspath) + 1));
+ if (cygwinpath)
+ {
+ wcscpy(cygwinpath, windowspath);
+ }
+ }
+
+ FREE(wcdrv);
+ FREE(wcdir);
+ FREE(wcname);
+ FREE(wcext);
+ }
+ return cygwinpath;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/pathconvert.h b/modules/fileio/src/c/pathconvert.h
new file mode 100755
index 000000000..8fd28026b
--- /dev/null
+++ b/modules/fileio/src/c/pathconvert.h
@@ -0,0 +1,32 @@
+/*--------------------------------------------------------------------------*/
+/*
+* ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifndef __PATHCONVERT_H__
+#define __PATHCONVERT_H__
+
+#include <wchar.h>
+#include "BOOL.h"
+
+typedef enum
+{
+ WINDOWS_STYLE = 0,
+ UNIX_STYLE = 1,
+ AUTO_STYLE = 2
+} PathConvertType;
+
+wchar_t *pathconvertW(wchar_t* wcpath, BOOL flagtrail, BOOL flagexpand, PathConvertType PType);
+
+char *pathconvert(char* path, BOOL flagtrail, BOOL flagexpand, PathConvertType PType);
+
+#endif /* PATHCONVERT_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/readline.c b/modules/fileio/src/c/readline.c
new file mode 100755
index 000000000..9548c28d7
--- /dev/null
+++ b/modules/fileio/src/c/readline.c
@@ -0,0 +1,117 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) INRIA
+* Copyright (C) DIGITEO - 2010 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <stdio.h>
+#include <string.h>
+#include "readline.h"
+#include "mgetl.h"
+#include "stack-def.h" /* bsiz */
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+#define EMPTYSTR ""
+/*--------------------------------------------------------------------------*/
+int LineRead(int fd, char buf[], int n, int *cnt, int *nr)
+{
+ int returnedInfo = READNEXTLINE_ERROR_ERROR_UNMANAGED;
+ int nbLinesToRead = 1;
+ int nbLinesReaded = 0;
+ int mgetIerr = MGETL_ERROR;
+
+ char **lines = mgetl(fd, nbLinesToRead, &nbLinesReaded, &mgetIerr);
+ *cnt = 0;
+ *nr = 0;
+
+ memset(buf, 0, n);
+ strcpy(buf, EMPTYSTR);
+
+ switch (mgetIerr)
+ {
+ case MGETL_NO_ERROR:
+ {
+ if (lines && lines[0] && nbLinesReaded == 1)
+ {
+ /* current limitation (bsiz) of line readed by scilab */
+ if ((int)strlen(lines[0]) < bsiz)
+ {
+ strcpy(buf, lines[0]);
+ returnedInfo = READNEXTLINE_ERROR_EOL;
+ }
+ else
+ {
+ strncpy(buf, lines[0], bsiz);
+ returnedInfo = READNEXTLINE_ERROR_BUFFER_FULL;
+ }
+ }
+ else
+ {
+ returnedInfo = READNEXTLINE_ERROR_EOF_REACHED;
+ }
+ }
+ break;
+
+ case MGETL_EOF:
+ {
+ if (lines)
+ {
+ if (nbLinesReaded == 0)
+ {
+ returnedInfo = READNEXTLINE_ERROR_EOF_REACHED;
+ }
+ else
+ {
+ /* current limitation (bsiz) of line readed by scilab */
+ if ((int)strlen(lines[0]) >= bsiz)
+ {
+ strcpy(buf, lines[0]);
+ returnedInfo = READNEXTLINE_ERROR_EOF_REACHED_AFTER_EOL;
+ }
+ else
+ {
+ strncpy(buf, lines[0], bsiz);
+ returnedInfo = READNEXTLINE_ERROR_BUFFER_FULL;
+ }
+ }
+ }
+ else
+ {
+ returnedInfo = READNEXTLINE_ERROR_EOF_REACHED_BEFORE_EOL;
+ }
+ }
+ break;
+
+ case MGETL_MEMORY_ALLOCATION_ERROR:
+ case MGETL_ERROR:
+ default:
+ {
+ returnedInfo = READNEXTLINE_ERROR_ERROR_UNMANAGED;
+ }
+ break;
+ }
+
+ *cnt = (int)strlen(buf) + 1;
+ *nr = *cnt;
+
+ if (lines)
+ {
+ freeArrayOfString(lines, nbLinesReaded);
+ lines = NULL;
+ }
+
+ return returnedInfo;
+}
+/*--------------------------------------------------------------------------*/
+void C2F(readnextline)(int *fd, char buf[], int *n, int *count, int *nr, int *ierr)
+{
+ *ierr = LineRead(*fd, buf, *n, count, nr);
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/removedir.c b/modules/fileio/src/c/removedir.c
new file mode 100755
index 000000000..d63fa72d6
--- /dev/null
+++ b/modules/fileio/src/c/removedir.c
@@ -0,0 +1,301 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007 - INRIA - Allan CORNET
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#include <Windows.h>
+#else
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <errno.h>
+#endif
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "localization.h"
+#include "sciprint.h"
+#include "removedir.h"
+#include "isdir.h"
+#include "MALLOC.h"
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+static int DeleteDirectory(wchar_t *refcstrRootDirectory);
+#else
+static int DeleteDirectory(char *refcstrRootDirectory);
+#endif
+/*--------------------------------------------------------------------------*/
+BOOL removedir(char *path)
+{
+ if (isdir(path))
+ {
+#ifdef _MSC_VER
+ {
+ wchar_t *pstPath = to_wide_string(path);
+ if (pstPath)
+ {
+ removedirW(pstPath);
+ FREE(pstPath);
+ pstPath = NULL;
+ }
+ }
+#else
+ DeleteDirectory(path);
+#endif
+ if (!isdir(path))
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL removedirW(wchar_t *pathW)
+{
+ if (isdirW(pathW))
+ {
+#ifdef _MSC_VER
+ DeleteDirectory(pathW);
+#else
+ char *path = wide_string_to_UTF8(pathW);
+ if (path)
+ {
+ DeleteDirectory(path);
+ FREE(path);
+ path = NULL;
+ }
+#endif
+ if (!isdirW(pathW))
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+static int DeleteDirectory(wchar_t *refcstrRootDirectory)
+{
+#define DEFAULT_PATTERN L"%s/*.*"
+ BOOL bDeleteSubdirectories = TRUE;
+ BOOL bSubdirectory = FALSE;
+ HANDLE hFile;
+ WIN32_FIND_DATAW FileInformation;
+ DWORD dwError;
+ wchar_t *strPattern = NULL;
+ wchar_t *strFilePath = NULL;
+ int len = 0;
+
+ if (refcstrRootDirectory == NULL)
+ {
+ return 1;
+ }
+
+ len = (int)(wcslen(refcstrRootDirectory) + (int)wcslen(DEFAULT_PATTERN) + 1);
+
+ strPattern = (wchar_t*)MALLOC(sizeof(wchar_t) * len);
+ if (strPattern)
+ {
+ swprintf(strPattern, len, DEFAULT_PATTERN, refcstrRootDirectory);
+ }
+ else
+ {
+ return 1;
+ }
+
+ hFile = FindFirstFileW(strPattern, &FileInformation);
+ if (strPattern)
+ {
+ FREE(strPattern);
+ strPattern = NULL;
+ }
+
+ if (hFile != INVALID_HANDLE_VALUE)
+ {
+ do
+ {
+ if ( (wcscmp(FileInformation.cFileName, L".") != 0) && (wcscmp(FileInformation.cFileName, L"..") != 0) )
+ {
+#define FORMAT_PATH_TO_REMOVE L"%s\\%s"
+ int len = (int) (wcslen(refcstrRootDirectory) + wcslen(FORMAT_PATH_TO_REMOVE) + wcslen((wchar_t*)(FileInformation.cFileName)) + 1);
+ strFilePath = (wchar_t*) MALLOC(sizeof(wchar_t) * len);
+ if (strFilePath)
+ {
+ swprintf(strFilePath, len, FORMAT_PATH_TO_REMOVE, refcstrRootDirectory, FileInformation.cFileName);
+ }
+
+ if (FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ {
+ if (bDeleteSubdirectories)
+ {
+ int iRC = DeleteDirectory(strFilePath);
+ if (strFilePath)
+ {
+ FREE(strFilePath);
+ strFilePath = NULL;
+ }
+ if (strPattern)
+ {
+ FREE(strPattern);
+ strPattern = NULL;
+ }
+
+ if (iRC)
+ {
+ return iRC;
+ }
+ }
+ else
+ {
+ bSubdirectory = TRUE;
+ }
+ }
+ else
+ {
+ if (SetFileAttributesW(strFilePath, FILE_ATTRIBUTE_NORMAL) == FALSE)
+ {
+ if (strFilePath)
+ {
+ FREE(strFilePath);
+ strFilePath = NULL;
+ }
+ if (strPattern)
+ {
+ FREE(strPattern);
+ strPattern = NULL;
+ }
+ return GetLastError();
+ }
+
+ if (DeleteFileW(strFilePath) == FALSE)
+ {
+ if (strFilePath)
+ {
+ FREE(strFilePath);
+ strFilePath = NULL;
+ }
+ if (strPattern)
+ {
+ FREE(strPattern);
+ strPattern = NULL;
+ }
+ return GetLastError();
+ }
+ }
+ }
+ }
+ while (FindNextFileW(hFile, &FileInformation) == TRUE);
+
+ FindClose(hFile);
+ if (strFilePath)
+ {
+ FREE(strFilePath);
+ strFilePath = NULL;
+ }
+ if (strPattern)
+ {
+ FREE(strPattern);
+ strPattern = NULL;
+ }
+
+ dwError = GetLastError();
+ if (dwError != ERROR_NO_MORE_FILES)
+ {
+ return dwError;
+ }
+ else
+ {
+ if (!bSubdirectory)
+ {
+ if (SetFileAttributesW(refcstrRootDirectory, FILE_ATTRIBUTE_NORMAL) == FALSE)
+ {
+ return GetLastError();
+ }
+ if (RemoveDirectoryW(refcstrRootDirectory) == FALSE)
+ {
+ return GetLastError();
+ }
+ }
+ }
+ }
+
+ if (strFilePath)
+ {
+ FREE(strFilePath);
+ strFilePath = NULL;
+ }
+ if (strPattern)
+ {
+ FREE(strPattern);
+ strPattern = NULL;
+ }
+ return 0;
+}
+#endif
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+static int DeleteDirectory(char *refcstrRootDirectory)
+{
+ DIR *dir;
+ struct dirent *ent;
+ dir = opendir(refcstrRootDirectory) ;
+
+ if (dir == NULL)
+ {
+ sciprint(_("Warning: Error while opening %s: %s\n"), refcstrRootDirectory, strerror(errno));
+ return -1;
+ }
+
+ while ((ent = readdir(dir)) != NULL)
+ {
+ char *filename = NULL;
+ if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
+ {
+ continue ;
+ }
+
+ filename = MALLOC(sizeof(char) * (strlen(refcstrRootDirectory) + 1 + strlen(ent->d_name) + 1 + 1)) ;
+ sprintf(filename, "%s/%s", refcstrRootDirectory, ent->d_name);
+ if (isdir(filename))
+ {
+ /* Delete recursively */
+ DeleteDirectory(filename);
+ FREE(filename);
+ }
+ else
+ {
+ /* Not a directory... It must be a file (at least, I hope it is a file */
+ if (remove(filename) != 0)
+ {
+ sciprint(_("Warning: Could not remove file %s: %s\n"), filename, strerror(errno));
+ }
+
+ FREE(filename);
+ }
+ }
+ if (rmdir(refcstrRootDirectory) != 0)
+ {
+ sciprint(_("Warning: Could not remove directory %s: %s\n"), refcstrRootDirectory, strerror(errno));
+ }
+
+ if (dir)
+ {
+ closedir(dir);
+ }
+
+ return 0;
+}
+#endif
+/*--------------------------------------------------------------------------*/
diff --git a/modules/fileio/src/c/scanf_functions.c b/modules/fileio/src/c/scanf_functions.c
new file mode 100755
index 000000000..607d74d20
--- /dev/null
+++ b/modules/fileio/src/c/scanf_functions.c
@@ -0,0 +1,371 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * ...
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include "MALLOC.h"
+#include "stack-c.h"
+#include "do_xxprintf.h"
+#include "do_xxscanf.h"
+#include "scanf_functions.h"
+#include "cvstr.h"
+#include "localization.h"
+#include "Scierror.h"
+/*--------------------------------------------------------------------------*/
+int Sci_Store(int nrow, int ncol, entry *data, sfdir *type, int retval_s)
+{
+ int cur_i, i, j, i1, one = 1, zero = 0, k, l, iarg, colcount;
+ sfdir cur_type;
+ char ** temp;
+
+
+ /* create Scilab variable with each column of data */
+ if (ncol + Rhs > intersiz )
+ {
+ Scierror(998, _("%s: Too many directives in scanf.\n"), "Sci_Store");
+ return RET_BUG;
+ }
+ iarg = Rhs;
+ if (Lhs > 1)
+ {
+ if (nrow == 0) /* eof encountered before any data */
+ {
+ CreateVar(++iarg, MATRIX_OF_DOUBLE_DATATYPE, &one, &one, &l);
+ LhsVar(1) = iarg;
+ *stk(l) = -1.0;
+ for ( i = 2; i <= Lhs ; i++)
+ {
+ iarg++;
+ CreateVar(iarg, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l);
+ LhsVar(i) = iarg;
+ }
+ PutLhsVar();
+ return 0;
+ }
+ CreateVar(++iarg, MATRIX_OF_DOUBLE_DATATYPE, &one, &one, &l);
+ *stk(l) = (double) retval_s;
+ LhsVar(1) = iarg;
+ if (ncol == 0)
+ {
+ goto Complete;
+ }
+
+ for ( i = 0 ; i < ncol ; i++)
+ {
+ if ( (type[i] == SF_C) || (type[i] == SF_S) )
+ {
+ if ( (temp = (char**)MALLOC(nrow * ncol * sizeof(char*))) == NULL)
+ {
+ return MEM_LACK;
+ }
+ k = 0;
+ for (j = 0; j < nrow; j++)
+ {
+ temp[k++] = data[i + ncol * j].s;
+ }
+ CreateVarFromPtr(++iarg, MATRIX_OF_STRING_DATATYPE, &nrow, &one, temp);
+ FREE(temp);
+ /*for (j=0;j<nrow;j++) FREE(data[i+ncol*j].s);*/
+ }
+ else
+ {
+ CreateVar(++iarg, MATRIX_OF_DOUBLE_DATATYPE, &nrow, &one, &l);
+ for ( j = 0 ; j < nrow ; j++)
+ {
+ *stk(l + j) = data[i + ncol * j].d;
+ }
+ }
+
+ LhsVar(i + 2) = iarg;
+ }
+ /*FREE(data);*/
+ /** we must complete the returned arguments up to Lhs **/
+Complete:
+ for ( i = ncol + 2; i <= Lhs ; i++)
+ {
+ iarg++;
+ CreateVar(iarg, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l);
+ LhsVar(i) = iarg;
+ }
+ }
+ else /* Lhs==1 */
+ {
+ char *ltype = "cblock";
+ int multi = 0, endblk, ii, n;
+
+ cur_type = type[0];
+
+ for (i = 0; i < ncol; i++)
+ if (type[i] != cur_type)
+ {
+ multi = 1;
+ break;
+ }
+ if (multi)
+ {
+ i = (int)strlen(ltype);
+ iarg = Rhs;
+ CreateVarFromPtr(++iarg, STRING_DATATYPE, &one, &i, &ltype); /* the mlist type field */
+ cur_type = type[0];
+ i = 0;
+ cur_i = i;
+
+ while (1)
+ {
+ if (i < ncol)
+ {
+ endblk = (type[i] != cur_type);
+ }
+ else
+ {
+ endblk = 1;
+ }
+ if (endblk)
+ {
+ colcount = i - cur_i;
+ if (nrow == 0)
+ {
+ CreateVar(++iarg, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l);
+ }
+ else if ( (cur_type == SF_C) || (cur_type == SF_S) )
+ {
+ if ( (temp = (char **) MALLOC(nrow * colcount * sizeof(char **))) == NULL)
+ {
+ return MEM_LACK;
+ }
+ k = 0;
+ for (i1 = cur_i; i1 < i; i1++)
+ for (j = 0; j < nrow; j++)
+ {
+ temp[k++] = data[i1 + ncol * j].s;
+ }
+ CreateVarFromPtr(++iarg, MATRIX_OF_STRING_DATATYPE, &nrow, &colcount, temp);
+ FREE(temp);
+ /*for (i1=cur_i;i1<i;i1++)
+ for (j=0;j<nrow;j++) FREE(data[i1+ncol*j].s);*/
+ }
+ else
+ {
+ CreateVar(++iarg, MATRIX_OF_DOUBLE_DATATYPE, &nrow, &colcount, &l);
+ ii = 0;
+ for (i1 = cur_i; i1 < i; i1++)
+ {
+ for ( j = 0 ; j < nrow ; j++)
+ {
+ *stk(l + j + nrow * ii) = data[i1 + ncol * j].d;
+ }
+ ii++;
+ }
+ }
+ if (i >= ncol)
+ {
+ break;
+ }
+ cur_i = i;
+ cur_type = type[i];
+
+ }
+ i++;
+ }
+ n = iarg - Rhs; /* number of list fields*/
+
+ iarg++;
+ i = Rhs + 1;
+ C2F(mkmlistfromvars)(&i, &n);
+ LhsVar(1) = i;
+ }
+ else
+ {
+ if (nrow == 0)
+ {
+ CreateVar(Rhs + 1, MATRIX_OF_DOUBLE_DATATYPE, &zero, &zero, &l);
+ }
+ else if ( (cur_type == SF_C) || (cur_type == SF_S) )
+ {
+ if ( (temp = (char **) MALLOC(nrow * ncol * sizeof(char *))) == NULL)
+ {
+ return MEM_LACK;
+ }
+ k = 0;
+ for (i1 = 0; i1 < ncol; i1++)
+ for (j = 0; j < nrow; j++)
+ {
+ temp[k++] = data[i1 + ncol * j].s;
+ }
+ CreateVarFromPtr(Rhs + 1, MATRIX_OF_STRING_DATATYPE, &nrow, &ncol, temp);
+ FREE(temp);
+ /*for (i1=0;i1<ncol;i1++)
+ for (j=0;j<nrow;j++) FREE(data[i1+ncol*j].s);*/
+ }
+ else
+ {
+ CreateVar(Rhs + 1, MATRIX_OF_DOUBLE_DATATYPE, &nrow, &ncol, &l);
+ ii = 0;
+ for (i1 = 0; i1 < ncol; i1++)
+ {
+ for ( j = 0 ; j < nrow ; j++)
+ {
+ *stk(l + j + nrow * ii) = data[i1 + ncol * j].d;
+ }
+ ii++;
+ }
+ }
+ }
+ LhsVar(1) = Rhs + 1;
+ }
+ PutLhsVar();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+/* ************************************************************************
+ * Store data scanned by a single call to do_scan in line rowcount of data
+ * table
+ ************************************************************************/
+int Store_Scan(int *nrow, int *ncol, sfdir *type_s, sfdir *type, int *retval, int *retval_s, rec_entry *buf, entry **data, int rowcount, int n)
+{
+ int i, j, nr, nc, err;
+ entry * Data;
+ int blk = 20; /* block size for memory allocation */
+ nr = *nrow;
+ nc = *ncol;
+
+ if (rowcount == 0)
+ {
+ for ( i = 0 ; i < MAXSCAN ; i++)
+ {
+ type_s[i] = SF_F; /* initialisation */
+ }
+ if (nr < 0)
+ {
+ nr = blk;
+ *nrow = nr; /*added by S. Steer to fix bug 2453*/
+ }
+ nc = n;
+ *ncol = nc;
+ *retval_s = *retval;
+ if (n == 0)
+ {
+ return 0;
+ }
+ if ( (*data = (entry *) MALLOC(nc * nr * sizeof(entry))) == NULL)
+ {
+ err = MEM_LACK;
+ goto bad1;
+ }
+ for ( i = 0 ; i < nc ; i++)
+ {
+ type_s[i] = type[i];
+ }
+
+ }
+ else
+ {
+ /* check if number of data read match with previous number */
+ if ( (n != nc ) || (*retval_s != *retval) )
+ {
+ err = MISMATCH;
+ goto bad2;
+ }
+ /* check if types of data read match with previous types */
+ for ( i = 0 ; i < nc ; i++)
+ if (type[i] != type_s[i])
+ {
+ err = MISMATCH;
+ goto bad2;
+ }
+
+ /* check for memory and REALLOC if necessary*/
+ /*&&nc>0 added by S. Steer for bug 2399 fix */
+ if (rowcount >= nr && nc > 0)
+ {
+ nr = nr + blk;
+ *nrow = nr;
+ if ( (*data = (entry *) REALLOC(*data, nc * nr * sizeof(entry))) == NULL)
+ {
+ err = MEM_LACK;
+ goto bad2;
+ }
+ }
+ }
+ Data = *data;
+ /* store values scanned in a new row */
+ for ( i = 0 ; i < nc ; i++)
+ {
+ switch ( type_s[i] )
+ {
+ case SF_C:
+ case SF_S:
+ Data[i + nc * rowcount].s = buf[i].c;
+ break;
+ case SF_LUI:
+ Data[i + nc * rowcount].d = (double)buf[i].lui;
+ break;
+ case SF_SUI:
+ Data[i + nc * rowcount].d = (double)buf[i].sui;
+ break;
+ case SF_UI:
+ Data[i + nc * rowcount].d = (double)buf[i].ui;
+ break;
+ case SF_LI:
+ Data[i + nc * rowcount].d = (double)buf[i].li;
+ break;
+ case SF_SI:
+ Data[i + nc * rowcount].d = (double)buf[i].si;
+ break;
+ case SF_I:
+ Data[i + nc * rowcount].d = (double)buf[i].i;
+ break;
+ case SF_LF:
+ Data[i + nc * rowcount].d = buf[i].lf;
+ break;
+ case SF_F:
+ Data[i + nc * rowcount].d = (double)buf[i].f;
+ break;
+ }
+ } /* rowcount */
+ return 0;
+bad1:
+ /* FREE allocated strings in scan buffer */
+ for ( j = 0 ; j < MAXSCAN ; j++)
+ if ( (type_s[j] == SF_C) || (type_s[j] == SF_S))
+ {
+ FREE(buf[j].c);
+ }
+
+bad2:
+ return err;
+}
+/*--------------------------------------------------------------------------*/
+void Free_Scan(int nrow, int ncol, sfdir *type_s, entry **data)
+{
+ int i, j;
+ entry * Data;
+ Data = *data;
+
+ if (nrow != 0)
+ {
+ for ( j = 0 ; j < ncol ; j++)
+ if ( (type_s[j] == SF_C) || (type_s[j] == SF_S) )
+ /* free allocated strings in scan data area */
+ for ( i = 0 ; i < nrow ; i++)
+ {
+ FREE(Data[j + ncol * i].s);
+ }
+ }
+ /* free scaned data area */
+ if (ncol > 0)
+ {
+ FREE(Data);
+ }
+}
+/*--------------------------------------------------------------------------*/
+
+
diff --git a/modules/fileio/src/c/scanf_functions.h b/modules/fileio/src/c/scanf_functions.h
new file mode 100755
index 000000000..1cbecbd6b
--- /dev/null
+++ b/modules/fileio/src/c/scanf_functions.h
@@ -0,0 +1,50 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Sylvestre LEDRU
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+
+#ifndef __SCAN_FUNCTIONS_H__
+#define __SCAN_FUNCTIONS_H__
+
+#include "do_xxscanf.h"
+
+/**
+* @TODO add comments
+*/
+void Free_Scan (int rowcount,
+ int ncol,
+ sfdir *type_s,
+ entry **data);
+
+/**
+* @TODO add comments
+*/
+int Sci_Store (int nrow,
+ int ncol,
+ entry* data,
+ sfdir *type,
+ int retval);
+
+/**
+* @TODO add comments
+*/
+int Store_Scan (int *nrow,
+ int *ncol,
+ sfdir *type_s,
+ sfdir *type,
+ int *retval,
+ int *retval_s,
+ rec_entry *buf,
+ entry **data,
+ int rowcount,
+ int n);
+
+#endif /* __SCAN_FUNCTIONS_H__ */
diff --git a/modules/fileio/src/c/scicurdir.c b/modules/fileio/src/c/scicurdir.c
new file mode 100755
index 000000000..332381296
--- /dev/null
+++ b/modules/fileio/src/c/scicurdir.c
@@ -0,0 +1,187 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * Copyright (C) ENPC
+ * Copyright (C) DIGITEO - 2009 - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include <string.h>
+#ifdef _MSC_VER
+#include <windows.h>
+#include <direct.h>
+#include <errno.h>
+#else
+#include <errno.h>
+#include <unistd.h>
+#define GETCWD(x,y) getcwd(x,y)
+#endif
+#include "sciprint.h"
+#include "scicurdir.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "charEncoding.h"
+#include "warningmode.h"
+#include "PATH_MAX.h"
+/*--------------------------------------------------------------------------*/
+int scichdirW(wchar_t *wcpath)
+{
+#ifndef _MSC_VER
+ char *path = NULL;
+ if (wcpath == NULL)
+ {
+ return 1;
+ }
+
+ path = wide_string_to_UTF8(wcpath);
+ if (path == NULL)
+ {
+ return 1;
+ }
+
+ if (chdir(path) == -1)
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("Can't go to directory %s: %s\n"), path, strerror(errno));
+ }
+ if (path)
+ {
+ FREE(path);
+ path = NULL;
+ }
+ return 1;
+ }
+
+ if (path)
+ {
+ FREE(path);
+ path = NULL;
+ }
+
+#else
+ if (wcpath == NULL)
+ {
+ return 1;
+ }
+
+ if ( _wchdir(wcpath) )
+ {
+ switch (errno)
+ {
+ case ENOENT:
+ {
+ if ( getWarningMode() )
+ {
+ char *path = wide_string_to_UTF8(wcpath);
+ if (path)
+ {
+ sciprint(_("Can't go to directory %s.\n"), path);
+ FREE(path);
+ path = NULL;
+ }
+ }
+ }
+ break;
+ case EINVAL:
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("Invalid buffer.\n"));
+ }
+ }
+ break;
+ default:
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("Unknown error.\n"));
+ }
+ }
+ }
+ return 1;
+ }
+#endif
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+int scichdir(char *path)
+{
+ int ierr = 1;
+ wchar_t *wcpath = NULL;
+ if (path == NULL)
+ {
+ return ierr;
+ }
+ wcpath = to_wide_string(path);
+ if (wcpath == NULL)
+ {
+ return ierr;
+ }
+ ierr = scichdirW(wcpath);
+ FREE(wcpath);
+ wcpath = NULL;
+ return ierr;
+}
+/*--------------------------------------------------------------------------*/
+wchar_t * scigetcwdW(int *err)
+{
+ wchar_t *wcCurrentDir = NULL;
+
+#ifndef _MSC_VER
+ char currentDir[PATH_MAX + 1];
+ if (GETCWD(currentDir, PATH_MAX) == NULL)
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("Can't get current directory.\n"));
+ }
+ *err = 1;
+ }
+ else
+ {
+ wcCurrentDir = to_wide_string(currentDir);
+ *err = 0;
+ }
+#else
+ wchar_t wcdir[PATH_MAX + 1];
+ if ( _wgetcwd(wcdir, PATH_MAX) == NULL )
+ {
+ if ( getWarningMode() )
+ {
+ sciprint(_("Can't get current directory.\n"));
+ }
+ *err = 1;
+ }
+ else
+ {
+ wcCurrentDir = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(wcdir) + 1));
+ if (wcCurrentDir)
+ {
+ wcscpy(wcCurrentDir, wcdir);
+ *err = 0;
+ }
+ }
+#endif
+ return wcCurrentDir;
+}
+/*--------------------------------------------------------------------------*/
+char * scigetcwd(int *err)
+{
+ char *currentDir = NULL;
+ wchar_t *wcCurrentDir = scigetcwdW(err);
+ if (wcCurrentDir)
+ {
+ currentDir = wide_string_to_UTF8(wcCurrentDir);
+ FREE(wcCurrentDir);
+ wcCurrentDir = NULL;
+ }
+ return currentDir;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/fileio/src/c/sendtorecyclebin.c b/modules/fileio/src/c/sendtorecyclebin.c
new file mode 100755
index 000000000..723147e9a
--- /dev/null
+++ b/modules/fileio/src/c/sendtorecyclebin.c
@@ -0,0 +1,57 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2011 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#include <Windows.h>
+#include <Shellapi.h>
+#include "sendtorecyclebin.h"
+/*--------------------------------------------------------------------------*/
+BOOL sendToRecycleBin(const char* filename)
+{
+ BOOL bOK = FALSE;
+
+ wchar_t* wfilename = to_wide_string((char*)filename);
+ if (wfilename)
+ {
+ bOK = sendToRecycleBinW(wfilename);
+ FREE(wfilename);
+ wfilename = NULL;
+ }
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+BOOL sendToRecycleBinW(const wchar_t* wfilename)
+{
+ BOOL bOK = FALSE;
+ if (wfilename)
+ {
+ SHFILEOPSTRUCTW opFile;
+ size_t len = wcslen(wfilename) + 2;
+ /* we add 00 at the end of filename */
+ /* required by SHFileOperationW */
+ wchar_t* csrc = (wchar_t*)CALLOC(len, sizeof(wchar_t));
+ if (csrc)
+ {
+ wcscpy(csrc, wfilename);
+ /* we add 00 at the end of filename */
+ csrc[len - 1] = csrc[len - 2] = 0;
+ ZeroMemory(&opFile, sizeof(opFile));
+ opFile.wFunc = FO_DELETE;
+ opFile.pFrom = csrc;
+ opFile.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION | FOF_SILENT;
+ bOK = SHFileOperationW(&opFile) != 0 ? FALSE : TRUE;
+ FREE(csrc);
+ csrc = NULL;
+ }
+ }
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/ \ No newline at end of file
diff --git a/modules/fileio/src/c/splitpath.c b/modules/fileio/src/c/splitpath.c
new file mode 100755
index 000000000..d824f5e5f
--- /dev/null
+++ b/modules/fileio/src/c/splitpath.c
@@ -0,0 +1,235 @@
+/*--------------------------------------------------------------------------*/
+/*
+* ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009 - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "splitpath.h"
+#include "charEncoding.h"
+#include "PATH_MAX.h"
+#include "MALLOC.h"
+#include "expandPathVariable.h"
+/*--------------------------------------------------------------------------*/
+void splitpathW(const wchar_t* path, BOOL bExpand, wchar_t* drv, wchar_t* dir, wchar_t* name, wchar_t* ext)
+{
+ wchar_t* duplicate_path = NULL;
+ wchar_t* begin_duplicate_path = NULL;
+ const wchar_t* lastslash = NULL;
+ const wchar_t* lastdot = NULL;
+ const wchar_t* begin = NULL;
+
+ if (drv)
+ {
+ wcscpy(drv, L"");
+ }
+ if (dir)
+ {
+ wcscpy(dir, L"");
+ }
+ if (name)
+ {
+ wcscpy(name, L"");
+ }
+ if (ext)
+ {
+ wcscpy(ext, L"");
+ }
+
+ /* pathconvert hardcoded */
+ if (path)
+ {
+ int i = 0;
+
+ if (bExpand)
+ {
+ duplicate_path = expandPathVariableW((wchar_t*)path);
+ }
+ else
+ {
+ duplicate_path = (wchar_t*)MALLOC(sizeof(wchar_t) * ((int)wcslen(path) + 1));
+ if (duplicate_path)
+ {
+ wcscpy(duplicate_path, path);
+ }
+ }
+
+ if (duplicate_path == NULL)
+ {
+ return;
+ }
+
+ begin_duplicate_path = duplicate_path;
+
+ for (i = 0; i < (int)wcslen(duplicate_path); i++)
+ {
+#ifdef _MSC_VER
+ if (duplicate_path[i] == L'/')
+ {
+ duplicate_path[i] = L'\\';
+ }
+#else
+ if (duplicate_path[i] == L'\\')
+ {
+ duplicate_path[i] = L'/';
+ }
+#endif
+ }
+ }
+ else
+ {
+ return;
+ }
+
+ if (duplicate_path)
+ {
+ if (wcslen(duplicate_path) > 2)
+ {
+ if (duplicate_path[0] && duplicate_path[1] == L':' && ( (duplicate_path[2] == L'\\') || (duplicate_path[2] == L'/') ) )
+ {
+ if (drv)
+ {
+ wcsncpy(drv, duplicate_path, 2);
+ drv[2] = L'\0';
+ duplicate_path = duplicate_path + 2;
+ }
+ }
+ }
+ }
+
+
+ /* find the last slash in the path */
+#ifdef _MSC_VER
+ lastslash = wcsrchr(duplicate_path, L'\\');
+#else
+ lastslash = wcsrchr(duplicate_path, L'/');
+#endif
+
+ /* fill in directory */
+ if (dir)
+ {
+ if (lastslash == 0)
+ {
+ wcscpy(dir, L"");
+ }
+ else
+ {
+ int len = (int)wcslen(duplicate_path) - (int)wcslen(lastslash) + 1;
+ wcsncpy(dir, duplicate_path, len);
+ dir[len] = L'\0';
+ }
+ }
+
+ /* Get the last dot in the filename */
+ begin = (lastslash != 0) ? lastslash + 1 : duplicate_path;
+ lastdot = wcsrchr(begin, L'.');
+
+ /* fill filename and extension */
+ if (lastdot == 0)
+ {
+ if (name)
+ {
+ wcscpy(name, begin);
+ }
+ }
+ else
+ {
+ if (name)
+ {
+ if (lastdot)
+ {
+ int len = (int)wcslen(begin) - (int)wcslen(lastdot);
+ wcsncpy(name, begin, len);
+ name[len] = L'\0';
+ }
+ }
+ if (ext)
+ {
+ wcscpy(ext, lastdot);
+ }
+ }
+
+ if (begin_duplicate_path)
+ {
+ FREE(begin_duplicate_path);
+ begin_duplicate_path = NULL;
+ }
+
+ /* swap name & extension if no name */
+ if (name && name[0] == 0 && ext && wcslen(ext) > 0)
+ {
+ wcscpy(name, ext);
+ wcscpy(ext, L"");
+ }
+}
+/*--------------------------------------------------------------------------*/
+void splitpath(const char* path, BOOL bExpand, char* drv, char* dir, char* name, char* ext)
+{
+ wchar_t *wcpath = NULL;
+ wchar_t *wcdrv = NULL;
+ wchar_t *wcdir = NULL;
+ wchar_t *wcname = NULL;
+ wchar_t *wcext = NULL;
+
+ char *buffer = NULL;
+
+ if (drv == NULL || dir == NULL || name == NULL || ext == NULL)
+ {
+ return;
+ }
+
+ wcpath = to_wide_string((char*)path);
+ wcdrv = (wchar_t*)MALLOC(sizeof(wchar_t) * (PATH_MAX + 1));
+ wcdir = (wchar_t*)MALLOC(sizeof(wchar_t) * (PATH_MAX + 1));
+ wcname = (wchar_t*)MALLOC(sizeof(wchar_t) * (PATH_MAX + 1));
+ wcext = (wchar_t*)MALLOC(sizeof(wchar_t) * (PATH_MAX + 1));
+
+ strcpy(drv, "");
+ strcpy(dir, "");
+ strcpy(name, "");
+ strcpy(ext, "");
+
+ splitpathW(wcpath, bExpand, wcdrv, wcdir, wcname, wcext);
+
+ FREE(wcpath);
+
+ buffer = wide_string_to_UTF8(wcdrv);
+ if (buffer)
+ {
+ strcpy(drv, buffer);
+ FREE(buffer);
+ }
+ FREE(wcdrv);
+
+ buffer = wide_string_to_UTF8(wcdir);
+ if (buffer)
+ {
+ strcpy(dir, buffer);
+ FREE(buffer);
+ }
+ FREE(wcdir);
+
+ buffer = wide_string_to_UTF8(wcname);
+ if (buffer)
+ {
+ strcpy(name, buffer);
+ FREE(buffer);
+ }
+ FREE(wcname);
+
+ buffer = wide_string_to_UTF8(wcext);
+ if (buffer)
+ {
+ strcpy(ext, buffer);
+ FREE(buffer);
+ }
+ FREE(wcext);
+}
+/*--------------------------------------------------------------------------*/