From b7e873a4f2ae7e3df99816b1454c98f155202777 Mon Sep 17 00:00:00 2001 From: the-reverend Date: Thu, 16 Mar 2023 19:40:46 -0500 Subject: [PATCH 1/2] Import Version 1.7 --- LICENSE | 2 +- Makefile | 62 +++--- alib/Makefile | 7 +- alib/alib.cbp | 215 ++++++++++----------- alib/inc/a_exec.h | 2 +- alib/inc/a_linenv.h | 1 + alib/inc/a_win.h | 11 +- alib/inc/a_winenv.h | 1 + alib/readme.txt | 23 +-- alib/src/a_dir.cpp | 13 +- alib/src/a_env.cpp | 61 ------ alib/src/a_exec.cpp | 4 +- alib/src/a_expr.cpp | 14 ++ alib/src/a_linenv.cpp | 66 +++++++ alib/src/a_regex.cpp | 32 +++- alib/src/a_str.cpp | 6 + alib/src/a_winenv.cpp | 76 ++++++++ alib/src/a_winerr.cpp | 6 - csvfix/Makefile | 4 + csvfix/csvfix.cbp | 9 + csvfix/inc/csved_command.h | 4 +- csvfix/inc/csved_erase.h | 57 ++++++ csvfix/inc/csved_filesplit.h | 5 +- csvfix/inc/csved_pivot.h | 88 +++++++++ csvfix/inc/csved_rsort.h | 50 +++++ csvfix/inc/csved_split.h | 27 +++ csvfix/inc/csved_squash.h | 63 ++++++ csvfix/inc/csved_stat.h | 76 +++++++- csvfix/inc/csved_strings.h | 23 +++ csvfix/inc/csved_trim.h | 2 +- csvfix/inc/csved_version.h | 2 +- csvfix/installer/make_install.iss | 2 +- csvfix/src/csved_atable.cpp | 2 +- csvfix/src/csved_call.cpp | 4 +- csvfix/src/csved_command.cpp | 14 +- csvfix/src/csved_date.cpp | 4 +- csvfix/src/csved_dsv.cpp | 2 +- csvfix/src/csved_echo.cpp | 2 +- csvfix/src/csved_edit.cpp | 4 +- csvfix/src/csved_erase.cpp | 149 +++++++++++++++ csvfix/src/csved_escape.cpp | 4 +- csvfix/src/csved_eval.cpp | 4 +- csvfix/src/csved_exclude.cpp | 4 +- csvfix/src/csved_exec.cpp | 23 ++- csvfix/src/csved_fileinfo.cpp | 4 +- csvfix/src/csved_filesplit.cpp | 15 +- csvfix/src/csved_find.cpp | 2 - csvfix/src/csved_fixed.cpp | 2 +- csvfix/src/csved_flatten.cpp | 4 +- csvfix/src/csved_headtail.cpp | 4 +- csvfix/src/csved_map.cpp | 4 +- csvfix/src/csved_merge.cpp | 4 +- csvfix/src/csved_money.cpp | 4 +- csvfix/src/csved_number.cpp | 7 +- csvfix/src/csved_order.cpp | 4 +- csvfix/src/csved_pivot.cpp | 223 ++++++++++++++++++++++ csvfix/src/csved_printf.cpp | 45 ++++- csvfix/src/csved_rmnewline.cpp | 4 +- csvfix/src/csved_rsort.cpp | 219 +++++++++++++++++++++ csvfix/src/csved_seq.cpp | 4 +- csvfix/src/csved_sparse.cpp | 2 +- csvfix/src/csved_split.cpp | 204 +++++++++++++++++--- csvfix/src/csved_sql.cpp | 6 +- csvfix/src/csved_squash.cpp | 275 +++++++++++++++++++++++++++ csvfix/src/csved_stat.cpp | 131 ++++++++++++- csvfix/src/csved_template.cpp | 54 ++++-- csvfix/src/csved_timestamp.cpp | 2 +- csvfix/src/csved_toxml.cpp | 2 +- csvfix/src/csved_trim.cpp | 62 +++++- csvfix/src/csved_truncpad.cpp | 4 +- csvfix/src/csved_util.cpp | 2 +- csvfix/src/csved_valid.cpp | 2 +- csvfix/src/csved_writemulti.cpp | 4 +- csvfix/tests/correct/check.test | 2 + csvfix/tests/correct/erase.test | 8 + csvfix/tests/correct/exec.test | 9 + csvfix/tests/correct/pivot.test | 9 + csvfix/tests/correct/printf.test | 14 ++ csvfix/tests/correct/rowsort.test | 9 + csvfix/tests/correct/splitlen.test | 3 + csvfix/tests/correct/splitregex.test | 3 + csvfix/tests/correct/squash.test | 18 ++ csvfix/tests/correct/stat.test | 15 +- csvfix/tests/correct/trim.test | 4 + csvfix/tests/correct/wmulti.test | 20 ++ csvfix/tests/data/8bit.csv | 3 + csvfix/tests/data/erase.csv | 4 + csvfix/tests/data/fsplit.csv | 4 + csvfix/tests/data/pivot.csv | 12 ++ csvfix/tests/data/rsort.csv | 3 + csvfix/tests/data/sales_region.csv | 6 + csvfix/tests/data/splitlen.csv | 3 + csvfix/tests/data/squash1.csv | 6 + csvfix/tests/data/squash2.csv | 7 + csvfix/tests/data/squash3.csv | 7 + csvfix/tests/data/squash4.csv | 7 + csvfix/tests/data/trim2.csv | 2 + csvfix/tests/data/wmulti.csv | 5 + csvfix/tests/tests/check.test | 3 +- csvfix/tests/tests/erase.test | 2 + csvfix/tests/tests/exec.test | 2 + csvfix/tests/tests/pivot.test | 3 + csvfix/tests/tests/printf.test | 2 +- csvfix/tests/tests/rowsort.test | 4 + csvfix/tests/tests/splitlen.test | 1 + csvfix/tests/tests/splitregex.test | 1 + csvfix/tests/tests/squash.test | 4 + csvfix/tests/tests/stat.test | 2 + csvfix/tests/tests/trim.test | 2 + csvfix/tests/tests/wmulti.test | 4 + docs/src/csvfix-manual.hnd | Bin 987136 -> 1097728 bytes 111 files changed, 2356 insertions(+), 386 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 Makefile mode change 100644 => 100755 alib/Makefile mode change 100644 => 100755 alib/alib.cbp mode change 100644 => 100755 alib/inc/a_exec.h create mode 100755 alib/inc/a_linenv.h mode change 100644 => 100755 alib/inc/a_win.h create mode 100755 alib/inc/a_winenv.h mode change 100644 => 100755 alib/readme.txt mode change 100644 => 100755 alib/src/a_dir.cpp mode change 100644 => 100755 alib/src/a_env.cpp mode change 100644 => 100755 alib/src/a_exec.cpp mode change 100644 => 100755 alib/src/a_expr.cpp create mode 100755 alib/src/a_linenv.cpp mode change 100644 => 100755 alib/src/a_regex.cpp mode change 100644 => 100755 alib/src/a_str.cpp create mode 100755 alib/src/a_winenv.cpp mode change 100644 => 100755 alib/src/a_winerr.cpp mode change 100644 => 100755 csvfix/Makefile mode change 100644 => 100755 csvfix/csvfix.cbp mode change 100644 => 100755 csvfix/inc/csved_command.h create mode 100755 csvfix/inc/csved_erase.h mode change 100644 => 100755 csvfix/inc/csved_filesplit.h create mode 100755 csvfix/inc/csved_pivot.h create mode 100755 csvfix/inc/csved_rsort.h mode change 100644 => 100755 csvfix/inc/csved_split.h create mode 100755 csvfix/inc/csved_squash.h mode change 100644 => 100755 csvfix/inc/csved_stat.h mode change 100644 => 100755 csvfix/inc/csved_strings.h mode change 100644 => 100755 csvfix/inc/csved_trim.h mode change 100644 => 100755 csvfix/inc/csved_version.h mode change 100644 => 100755 csvfix/installer/make_install.iss mode change 100644 => 100755 csvfix/src/csved_atable.cpp mode change 100644 => 100755 csvfix/src/csved_call.cpp mode change 100644 => 100755 csvfix/src/csved_command.cpp mode change 100644 => 100755 csvfix/src/csved_date.cpp mode change 100644 => 100755 csvfix/src/csved_dsv.cpp mode change 100644 => 100755 csvfix/src/csved_echo.cpp mode change 100644 => 100755 csvfix/src/csved_edit.cpp create mode 100755 csvfix/src/csved_erase.cpp mode change 100644 => 100755 csvfix/src/csved_escape.cpp mode change 100644 => 100755 csvfix/src/csved_eval.cpp mode change 100644 => 100755 csvfix/src/csved_exclude.cpp mode change 100644 => 100755 csvfix/src/csved_exec.cpp mode change 100644 => 100755 csvfix/src/csved_fileinfo.cpp mode change 100644 => 100755 csvfix/src/csved_filesplit.cpp mode change 100644 => 100755 csvfix/src/csved_find.cpp mode change 100644 => 100755 csvfix/src/csved_fixed.cpp mode change 100644 => 100755 csvfix/src/csved_flatten.cpp mode change 100644 => 100755 csvfix/src/csved_headtail.cpp mode change 100644 => 100755 csvfix/src/csved_map.cpp mode change 100644 => 100755 csvfix/src/csved_merge.cpp mode change 100644 => 100755 csvfix/src/csved_money.cpp mode change 100644 => 100755 csvfix/src/csved_number.cpp mode change 100644 => 100755 csvfix/src/csved_order.cpp create mode 100755 csvfix/src/csved_pivot.cpp mode change 100644 => 100755 csvfix/src/csved_printf.cpp mode change 100644 => 100755 csvfix/src/csved_rmnewline.cpp create mode 100755 csvfix/src/csved_rsort.cpp mode change 100644 => 100755 csvfix/src/csved_seq.cpp mode change 100644 => 100755 csvfix/src/csved_sparse.cpp mode change 100644 => 100755 csvfix/src/csved_split.cpp mode change 100644 => 100755 csvfix/src/csved_sql.cpp create mode 100755 csvfix/src/csved_squash.cpp mode change 100644 => 100755 csvfix/src/csved_stat.cpp mode change 100644 => 100755 csvfix/src/csved_template.cpp mode change 100644 => 100755 csvfix/src/csved_timestamp.cpp mode change 100644 => 100755 csvfix/src/csved_toxml.cpp mode change 100644 => 100755 csvfix/src/csved_trim.cpp mode change 100644 => 100755 csvfix/src/csved_truncpad.cpp mode change 100644 => 100755 csvfix/src/csved_util.cpp mode change 100644 => 100755 csvfix/src/csved_valid.cpp mode change 100644 => 100755 csvfix/src/csved_writemulti.cpp mode change 100644 => 100755 csvfix/tests/correct/check.test create mode 100755 csvfix/tests/correct/erase.test mode change 100644 => 100755 csvfix/tests/correct/exec.test create mode 100755 csvfix/tests/correct/pivot.test mode change 100644 => 100755 csvfix/tests/correct/printf.test create mode 100755 csvfix/tests/correct/rowsort.test create mode 100755 csvfix/tests/correct/splitlen.test create mode 100755 csvfix/tests/correct/splitregex.test create mode 100755 csvfix/tests/correct/squash.test mode change 100644 => 100755 csvfix/tests/correct/stat.test mode change 100644 => 100755 csvfix/tests/correct/trim.test create mode 100755 csvfix/tests/correct/wmulti.test create mode 100755 csvfix/tests/data/8bit.csv create mode 100755 csvfix/tests/data/erase.csv create mode 100755 csvfix/tests/data/fsplit.csv create mode 100755 csvfix/tests/data/pivot.csv create mode 100755 csvfix/tests/data/rsort.csv create mode 100755 csvfix/tests/data/sales_region.csv create mode 100755 csvfix/tests/data/splitlen.csv create mode 100755 csvfix/tests/data/squash1.csv create mode 100755 csvfix/tests/data/squash2.csv create mode 100755 csvfix/tests/data/squash3.csv create mode 100755 csvfix/tests/data/squash4.csv create mode 100755 csvfix/tests/data/trim2.csv create mode 100755 csvfix/tests/data/wmulti.csv mode change 100644 => 100755 csvfix/tests/tests/check.test create mode 100755 csvfix/tests/tests/erase.test mode change 100644 => 100755 csvfix/tests/tests/exec.test create mode 100755 csvfix/tests/tests/pivot.test mode change 100644 => 100755 csvfix/tests/tests/printf.test create mode 100755 csvfix/tests/tests/rowsort.test create mode 100755 csvfix/tests/tests/splitlen.test create mode 100755 csvfix/tests/tests/splitregex.test create mode 100755 csvfix/tests/tests/squash.test mode change 100644 => 100755 csvfix/tests/tests/stat.test mode change 100644 => 100755 csvfix/tests/tests/trim.test create mode 100755 csvfix/tests/tests/wmulti.test diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 index 749d458..1aecfde --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011 Neil Butterworth +Copyright (c) 2014 Neil Butterworth Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 index 7253495..1bfc232 --- a/Makefile +++ b/Makefile @@ -1,32 +1,30 @@ -ifndef COMSPEC - CLEAN = (cd alib; $(MAKE) clean) && (cd csvfix; $(MAKE) clean) -else - CLEAN = cmd.exe /c "clean.cmd" -endif - -default: - @echo "use 'make win', 'make lin' or 'make mac'" - -win: - cmd.exe /c "mkdirs.cmd" - cd alib && $(MAKE) win - cd csvfix && $(MAKE) win - cd csvfix/bin; gzip csvfix.exe -c > csvfix.win64.gz - -lin: - mkdir -p alib/obj alib/lib csvfix/obj csvfix/bin - cd alib; $(MAKE) lin - cd csvfix; $(MAKE) lin - cd csvfix/bin; gzip csvfix -c > csvfix.linux-amd64.gz - -# build for mac on Mountain Lion -# see http://groups.google.com/group/csvfix/browse_thread/thread/33ec3e5f157c16dd -mac: - mkdir -p alib/obj alib/lib csvfix/obj csvfix/bin - cd alib; $(MAKE) lin CCTYPE=clang - cd csvfix; $(MAKE) lin CCTYPE=clang - cd csvfix/bin; gzip csvfix -c > csvfix.osx.gz - - -clean: - $(CLEAN) +ifndef COMSPEC + CLEAN = (cd alib; $(MAKE) clean) && (cd csvfix; $(MAKE) clean) +else + CLEAN = cmd.exe /c "clean.cmd" +endif + +SHELL := bash + +default: + @echo "use 'make win', 'make lin' or 'make mac'" + +win: + cmd.exe /c "mkdirs.cmd" + cd alib && $(MAKE) win + cd csvfix && $(MAKE) win + +lin: + mkdir -p alib/obj alib/lib csvfix/obj csvfix/bin + cd alib; $(MAKE) lin + cd csvfix; $(MAKE) lin + +# build for mac on Mountain Lion +# see http://groups.google.com/group/csvfix/browse_thread/thread/33ec3e5f157c16dd +mac: + mkdir -p alib/obj alib/lib csvfix/obj csvfix/bin + cd alib; $(MAKE) lin CCTYPE=clang + cd csvfix; $(MAKE) lin CCTYPE=clang + +clean: + $(CLEAN) diff --git a/alib/Makefile b/alib/Makefile old mode 100644 new mode 100755 index 8188bf1..bba409e --- a/alib/Makefile +++ b/alib/Makefile @@ -23,9 +23,12 @@ _OBJS = a_chsrc.o a_csv.o a_enc.o a_env.o a_except.o \ OBJS = $(patsubst %,$(ODIR)/%,$(_OBJS)) -_WINOBJS = a_db.o a_dir.o a_opsys.o a_winerr.o +_WINOBJS = a_db.o a_dir.o a_opsys.o a_winerr.o a_winenv.o WINOBJS = $(patsubst %,$(ODIR)/%,$(_WINOBJS)) +_LINOBJS = a_linenv.o +LINOBJS = $(patsubst %,$(ODIR)/%,$(_LINOBJS)) + _EXPAT = xmlparse.o xmlrole.o xmltok.o xmltok_impl.o xmltok_ns.o EXPAT = $(patsubst %,$(ODIR)/%,$(_EXPAT)) @@ -38,7 +41,7 @@ $(ODIR)/%.o: $(XDIR)/%.cpp win: $(OBJS) $(EXPAT) $(WINOBJS) ar rvs $(OUT) $^ -lin: $(OBJS) $(EXPAT) +lin: $(OBJS) $(EXPAT) $(LINOBJS) ar rvs $(OUT) $^ .PHONY: clean diff --git a/alib/alib.cbp b/alib/alib.cbp old mode 100644 new mode 100755 index 862b279..4280d63 --- a/alib/alib.cbp +++ b/alib/alib.cbp @@ -7,13 +7,12 @@