added in-place editing to sed command.
relocated files in lib/fs to lib/cmn
This commit is contained in:
@ -1 +1 @@
|
||||
SUBDIRS = cmn awk cut sed fs net
|
||||
SUBDIRS = cmn awk cut sed net
|
||||
|
@ -231,7 +231,7 @@ target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = cmn awk cut sed fs net
|
||||
SUBDIRS = cmn awk cut sed net
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
|
@ -6,7 +6,7 @@ AM_CPPFLAGS = \
|
||||
-I$(includedir)
|
||||
|
||||
|
||||
bin_PROGRAMS = xma fma pma chr str sll dll lda oht htb rbt fio01 fio02 pio sio time main main2 rex01 env path01 tre01 fmt01 fmt02
|
||||
bin_PROGRAMS = xma fma pma chr str sll dll lda oht htb rbt fio01 fio02 pio sio time main main2 rex01 env path01 tre01 fmt01 fmt02 fs01
|
||||
|
||||
LDFLAGS = -L../../lib/cmn
|
||||
LDADD = -lqsecmn
|
||||
@ -35,6 +35,7 @@ path01_SOURCES = path01.c
|
||||
tre01_SOURCES = tre01.c
|
||||
fmt01_SOURCES = fmt01.c
|
||||
fmt02_SOURCES = fmt02.c
|
||||
fs01_SOURCES = fs01.c
|
||||
|
||||
if ENABLE_CXX
|
||||
|
||||
|
@ -39,7 +39,8 @@ bin_PROGRAMS = xma$(EXEEXT) fma$(EXEEXT) pma$(EXEEXT) chr$(EXEEXT) \
|
||||
oht$(EXEEXT) htb$(EXEEXT) rbt$(EXEEXT) fio01$(EXEEXT) \
|
||||
fio02$(EXEEXT) pio$(EXEEXT) sio$(EXEEXT) time$(EXEEXT) \
|
||||
main$(EXEEXT) main2$(EXEEXT) rex01$(EXEEXT) env$(EXEEXT) \
|
||||
path01$(EXEEXT) tre01$(EXEEXT) fmt01$(EXEEXT) fmt02$(EXEEXT)
|
||||
path01$(EXEEXT) tre01$(EXEEXT) fmt01$(EXEEXT) fmt02$(EXEEXT) \
|
||||
fs01$(EXEEXT)
|
||||
subdir = samples/cmn
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
@ -88,6 +89,10 @@ am_fmt02_OBJECTS = fmt02.$(OBJEXT)
|
||||
fmt02_OBJECTS = $(am_fmt02_OBJECTS)
|
||||
fmt02_LDADD = $(LDADD)
|
||||
fmt02_DEPENDENCIES =
|
||||
am_fs01_OBJECTS = fs01.$(OBJEXT)
|
||||
fs01_OBJECTS = $(am_fs01_OBJECTS)
|
||||
fs01_LDADD = $(LDADD)
|
||||
fs01_DEPENDENCIES =
|
||||
am_htb_OBJECTS = htb.$(OBJEXT)
|
||||
htb_OBJECTS = $(am_htb_OBJECTS)
|
||||
htb_LDADD = $(LDADD)
|
||||
@ -167,18 +172,18 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
SOURCES = $(chr_SOURCES) $(dll_SOURCES) $(env_SOURCES) \
|
||||
$(fio01_SOURCES) $(fio02_SOURCES) $(fma_SOURCES) \
|
||||
$(fmt01_SOURCES) $(fmt02_SOURCES) $(htb_SOURCES) \
|
||||
$(lda_SOURCES) $(main_SOURCES) $(main2_SOURCES) $(oht_SOURCES) \
|
||||
$(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) $(rbt_SOURCES) \
|
||||
$(rex01_SOURCES) $(sio_SOURCES) $(sll_SOURCES) $(str_SOURCES) \
|
||||
$(time_SOURCES) $(tre01_SOURCES) $(xma_SOURCES)
|
||||
$(fmt01_SOURCES) $(fmt02_SOURCES) $(fs01_SOURCES) \
|
||||
$(htb_SOURCES) $(lda_SOURCES) $(main_SOURCES) $(main2_SOURCES) \
|
||||
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
||||
$(rbt_SOURCES) $(rex01_SOURCES) $(sio_SOURCES) $(sll_SOURCES) \
|
||||
$(str_SOURCES) $(time_SOURCES) $(tre01_SOURCES) $(xma_SOURCES)
|
||||
DIST_SOURCES = $(chr_SOURCES) $(dll_SOURCES) $(env_SOURCES) \
|
||||
$(fio01_SOURCES) $(fio02_SOURCES) $(fma_SOURCES) \
|
||||
$(fmt01_SOURCES) $(fmt02_SOURCES) $(htb_SOURCES) \
|
||||
$(lda_SOURCES) $(main_SOURCES) $(main2_SOURCES) $(oht_SOURCES) \
|
||||
$(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) $(rbt_SOURCES) \
|
||||
$(rex01_SOURCES) $(sio_SOURCES) $(sll_SOURCES) $(str_SOURCES) \
|
||||
$(time_SOURCES) $(tre01_SOURCES) $(xma_SOURCES)
|
||||
$(fmt01_SOURCES) $(fmt02_SOURCES) $(fs01_SOURCES) \
|
||||
$(htb_SOURCES) $(lda_SOURCES) $(main_SOURCES) $(main2_SOURCES) \
|
||||
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
||||
$(rbt_SOURCES) $(rex01_SOURCES) $(sio_SOURCES) $(sll_SOURCES) \
|
||||
$(str_SOURCES) $(time_SOURCES) $(tre01_SOURCES) $(xma_SOURCES)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
@ -354,6 +359,7 @@ path01_SOURCES = path01.c
|
||||
tre01_SOURCES = tre01.c
|
||||
fmt01_SOURCES = fmt01.c
|
||||
fmt02_SOURCES = fmt02.c
|
||||
fs01_SOURCES = fs01.c
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -455,6 +461,9 @@ fmt01$(EXEEXT): $(fmt01_OBJECTS) $(fmt01_DEPENDENCIES)
|
||||
fmt02$(EXEEXT): $(fmt02_OBJECTS) $(fmt02_DEPENDENCIES)
|
||||
@rm -f fmt02$(EXEEXT)
|
||||
$(LINK) $(fmt02_OBJECTS) $(fmt02_LDADD) $(LIBS)
|
||||
fs01$(EXEEXT): $(fs01_OBJECTS) $(fs01_DEPENDENCIES)
|
||||
@rm -f fs01$(EXEEXT)
|
||||
$(LINK) $(fs01_OBJECTS) $(fs01_LDADD) $(LIBS)
|
||||
htb$(EXEEXT): $(htb_OBJECTS) $(htb_DEPENDENCIES)
|
||||
@rm -f htb$(EXEEXT)
|
||||
$(LINK) $(htb_OBJECTS) $(htb_LDADD) $(LIBS)
|
||||
@ -518,6 +527,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fma.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fmt01.Po@am__quote@
|
||||
@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)/htb.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lda.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
|
||||
|
73
qse/samples/cmn/fs01.c
Normal file
73
qse/samples/cmn/fs01.c
Normal file
@ -0,0 +1,73 @@
|
||||
|
||||
#include <qse/cmn/fs.h>
|
||||
#include <qse/cmn/stdio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
|
||||
static void list (qse_fs_t* fs, const qse_char_t* name)
|
||||
{
|
||||
qse_fs_ent_t* ent;
|
||||
|
||||
if (qse_fs_chdir (fs, name) <= -1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Error: Cannot change directory to %s - %s\n"), name, qse_fs_geterrmsg(fs));
|
||||
return;
|
||||
}
|
||||
|
||||
qse_printf (QSE_T("----------------------------------------------------------------\n"), fs->curdir);
|
||||
qse_printf (QSE_T("CURRENT DIRECTORY: [%s]\n"), fs->curdir);
|
||||
qse_printf (QSE_T("----------------------------------------------------------------\n"), fs->curdir);
|
||||
|
||||
do
|
||||
{
|
||||
qse_btime_t bt;
|
||||
|
||||
ent = qse_fs_read (fs, QSE_FS_ENT_SIZE | QSE_FS_ENT_TYPE | QSE_FS_ENT_TIME);
|
||||
if (ent == QSE_NULL)
|
||||
{
|
||||
qse_fs_errnum_t e = qse_fs_geterrnum(fs);
|
||||
if (e != QSE_FS_ENOERR)
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Error: Read error - %s\n"), qse_fs_geterrmsg(fs));
|
||||
break;
|
||||
}
|
||||
|
||||
qse_localtime (ent->time.modify, &bt);
|
||||
qse_printf (QSE_T("%s %16lu %04d-%02d-%02d %02d:%02d %s\n"),
|
||||
((ent->type == QSE_FS_ENT_SUBDIR)? QSE_T("<D>"): QSE_T(" ")),
|
||||
(unsigned long)ent->size,
|
||||
bt.year + 1900, bt.mon+1, bt.mday, bt.hour, bt.min,
|
||||
ent->name.base
|
||||
);
|
||||
}
|
||||
while (1);
|
||||
|
||||
}
|
||||
|
||||
int fs_main (int argc, qse_char_t* argv[])
|
||||
{
|
||||
qse_fs_t* fs;
|
||||
|
||||
if (argc != 2)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Usage: %s <directory>\n"), argv[0]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fs = qse_fs_open (QSE_NULL, 0);
|
||||
if (fs == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Error: Cannot open directory\n"), argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
list (fs, argv[1]);
|
||||
list (fs, QSE_T(".."));
|
||||
|
||||
qse_fs_close (fs);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int qse_main (int argc, qse_achar_t* argv[])
|
||||
{
|
||||
return qse_runmain (argc, argv, fs_main);
|
||||
}
|
||||
|
Reference in New Issue
Block a user