wrote a file copy function partially
This commit is contained in:
@ -18,6 +18,7 @@ bin_PROGRAMS = \
|
||||
fmt02 \
|
||||
fs01 \
|
||||
fs02 \
|
||||
fs03 \
|
||||
htb \
|
||||
glob01 \
|
||||
ipad01 \
|
||||
|
@ -54,8 +54,8 @@ host_triplet = @host@
|
||||
bin_PROGRAMS = chr01$(EXEEXT) dir01$(EXEEXT) dll$(EXEEXT) \
|
||||
env01$(EXEEXT) fio01$(EXEEXT) fio02$(EXEEXT) fma$(EXEEXT) \
|
||||
fmt01$(EXEEXT) fmt02$(EXEEXT) fs01$(EXEEXT) fs02$(EXEEXT) \
|
||||
htb$(EXEEXT) glob01$(EXEEXT) ipad01$(EXEEXT) lda$(EXEEXT) \
|
||||
main01$(EXEEXT) main02$(EXEEXT) mbwc01$(EXEEXT) \
|
||||
fs03$(EXEEXT) htb$(EXEEXT) glob01$(EXEEXT) ipad01$(EXEEXT) \
|
||||
lda$(EXEEXT) main01$(EXEEXT) main02$(EXEEXT) mbwc01$(EXEEXT) \
|
||||
mbwc02$(EXEEXT) nwad01$(EXEEXT) nwif01$(EXEEXT) \
|
||||
nwif02$(EXEEXT) oht$(EXEEXT) path01$(EXEEXT) pio$(EXEEXT) \
|
||||
pma$(EXEEXT) rex01$(EXEEXT) rbt$(EXEEXT) sio01$(EXEEXT) \
|
||||
@ -131,6 +131,10 @@ fs02_SOURCES = fs02.c
|
||||
fs02_OBJECTS = fs02.$(OBJEXT)
|
||||
fs02_LDADD = $(LDADD)
|
||||
fs02_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
fs03_SOURCES = fs03.c
|
||||
fs03_OBJECTS = fs03.$(OBJEXT)
|
||||
fs03_LDADD = $(LDADD)
|
||||
fs03_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_glob01_OBJECTS = glob01.$(OBJEXT)
|
||||
glob01_OBJECTS = $(am_glob01_OBJECTS)
|
||||
glob01_LDADD = $(LDADD)
|
||||
@ -272,7 +276,7 @@ am__v_GEN_0 = @echo " GEN " $@;
|
||||
SOURCES = $(chr01_SOURCES) dir01.c $(dll_SOURCES) $(env01_SOURCES) \
|
||||
$(fio01_SOURCES) $(fio02_SOURCES) $(fma_SOURCES) \
|
||||
$(fmt01_SOURCES) $(fmt02_SOURCES) $(fs01_SOURCES) fs02.c \
|
||||
$(glob01_SOURCES) $(htb_SOURCES) $(ipad01_SOURCES) \
|
||||
fs03.c $(glob01_SOURCES) $(htb_SOURCES) $(ipad01_SOURCES) \
|
||||
$(lda_SOURCES) $(main01_SOURCES) $(main02_SOURCES) \
|
||||
$(mbwc01_SOURCES) $(mbwc02_SOURCES) $(nwad01_SOURCES) nwif01.c \
|
||||
nwif02.c $(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) \
|
||||
@ -283,7 +287,7 @@ SOURCES = $(chr01_SOURCES) dir01.c $(dll_SOURCES) $(env01_SOURCES) \
|
||||
DIST_SOURCES = $(chr01_SOURCES) dir01.c $(dll_SOURCES) \
|
||||
$(env01_SOURCES) $(fio01_SOURCES) $(fio02_SOURCES) \
|
||||
$(fma_SOURCES) $(fmt01_SOURCES) $(fmt02_SOURCES) \
|
||||
$(fs01_SOURCES) fs02.c $(glob01_SOURCES) $(htb_SOURCES) \
|
||||
$(fs01_SOURCES) fs02.c fs03.c $(glob01_SOURCES) $(htb_SOURCES) \
|
||||
$(ipad01_SOURCES) $(lda_SOURCES) $(main01_SOURCES) \
|
||||
$(main02_SOURCES) $(mbwc01_SOURCES) $(mbwc02_SOURCES) \
|
||||
$(nwad01_SOURCES) nwif01.c nwif02.c $(oht_SOURCES) \
|
||||
@ -628,6 +632,9 @@ fs01$(EXEEXT): $(fs01_OBJECTS) $(fs01_DEPENDENCIES) $(EXTRA_fs01_DEPENDENCIES)
|
||||
fs02$(EXEEXT): $(fs02_OBJECTS) $(fs02_DEPENDENCIES) $(EXTRA_fs02_DEPENDENCIES)
|
||||
@rm -f fs02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs02_OBJECTS) $(fs02_LDADD) $(LIBS)
|
||||
fs03$(EXEEXT): $(fs03_OBJECTS) $(fs03_DEPENDENCIES) $(EXTRA_fs03_DEPENDENCIES)
|
||||
@rm -f fs03$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs03_OBJECTS) $(fs03_LDADD) $(LIBS)
|
||||
glob01$(EXEEXT): $(glob01_OBJECTS) $(glob01_DEPENDENCIES) $(EXTRA_glob01_DEPENDENCIES)
|
||||
@rm -f glob01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(glob01_OBJECTS) $(glob01_LDADD) $(LIBS)
|
||||
@ -730,6 +737,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fmt02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs03.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htb.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipad01.Po@am__quote@
|
||||
|
93
qse/samples/cmn/fs03.c
Normal file
93
qse/samples/cmn/fs03.c
Normal file
@ -0,0 +1,93 @@
|
||||
#include <qse/cmn/fs.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/cmn/path.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <locale.h>
|
||||
|
||||
|
||||
static void print_usage (const qse_char_t* argv0)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Usage: %s command filename filename\n"), qse_basename(argv0));
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Command is one of cpfile | cpfile-s\n"));
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Filename is a pattern for delXXX\n"));
|
||||
}
|
||||
|
||||
static int fs_main (int argc, qse_char_t* argv[])
|
||||
{
|
||||
qse_fs_t* fs;
|
||||
qse_fs_cbs_t cbs;
|
||||
int ret = 0;
|
||||
|
||||
if (argc != 4)
|
||||
{
|
||||
print_usage (argv[0]);
|
||||
return -1;
|
||||
}
|
||||
fs = qse_fs_open (QSE_MMGR_GETDFL(), 0);
|
||||
|
||||
/*
|
||||
qse_memset (&cbs, 0, QSE_SIZEOF(cbs));
|
||||
cbs.del = fs_del;
|
||||
qse_fs_setopt (fs, QSE_FS_CBS, &cbs);
|
||||
*/
|
||||
|
||||
if (qse_strcmp(argv[1], QSE_T("cpfile")) == 0)
|
||||
{
|
||||
if (qse_fs_cpfile (fs, argv[2], argv[3], 0) <= -1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("cannot copy file - %d\n"), qse_fs_geterrnum(fs));
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
else if (qse_strcmp(argv[1], QSE_T("cpfile-s")) == 0)
|
||||
{
|
||||
if (qse_fs_cpfile (fs, argv[2], argv[3], QSE_FS_CPFILE_SYMLINK) <= -1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("cannot copy file - %d\n"), qse_fs_geterrnum(fs));
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print_usage (argv[0]);
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
qse_fs_close (fs);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main (int argc, qse_achar_t* argv[])
|
||||
{
|
||||
int x;
|
||||
#if defined(_WIN32)
|
||||
char locale[100];
|
||||
UINT codepage = GetConsoleOutputCP();
|
||||
if (codepage == CP_UTF8)
|
||||
{
|
||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (locale, ".%u", (unsigned int)codepage);
|
||||
setlocale (LC_ALL, locale);
|
||||
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||
}
|
||||
#else
|
||||
setlocale (LC_ALL, "");
|
||||
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||
#endif
|
||||
|
||||
qse_openstdsios ();
|
||||
|
||||
x = qse_runmain (argc, argv, fs_main);
|
||||
|
||||
qse_closestdsios ();
|
||||
|
||||
return x;
|
||||
}
|
||||
|
Reference in New Issue
Block a user