Copy disabled (too large)
Download .txt
Showing preview only (13,401K chars total). Download the full file to get everything.
Repository: hypermail-project/hypermail
Branch: master
Commit: 10c9cbe6e60e
Files: 566
Total size: 12.7 MB
Directory structure:
gitextract_0pcap6jv/
├── .gitignore
├── COPYING
├── Changelog
├── FILES
├── INSTALL
├── KNOWN_BUGS
├── Makefile.in
├── README
├── README.CVS
├── README.git
├── TODO
├── UPGRADE
├── acconfig.h
├── aclocal.m4
├── archive/
│ ├── .indent.pro
│ ├── 1998
│ ├── Makefile.in
│ ├── README
│ ├── lists.h
│ ├── mbox2hypermail.c
│ ├── msg2archive.c
│ ├── runtest
│ └── test-msg
├── autogen.sh
├── config.guess
├── config.h.in
├── config.sub
├── configs/
│ ├── hmrc.example
│ ├── hypermail-footer.hyp
│ ├── hypermail-index.hyp
│ ├── hypermail-msg.hyp
│ └── hypermail.rc
├── configure
├── configure.ac
├── contrib/
│ ├── canonicalize.pl
│ ├── cron_hypermail
│ ├── fixhtime.pl
│ ├── hoaf-28/
│ │ ├── README
│ │ ├── collect_snipplets.py
│ │ ├── create_archive_snipplet.py
│ │ ├── footer_html.hdr
│ │ ├── haof-0.1.dtd
│ │ ├── hypermail-2b28-2b28+.patch
│ │ └── top_html.hdr
│ ├── hyperfeed.pl
│ ├── hypetombox.pl
│ ├── ls2mail
│ ├── mailbox_date_trimmer/
│ │ ├── README.html
│ │ ├── README.mailbox_reader
│ │ ├── mailbox_date_trimmer.py
│ │ └── mailbox_reader.py
│ ├── msg2hypermailarchive.py
│ └── runtest
├── docs/
│ ├── Makefile.in
│ ├── archive_search.html
│ ├── attachments.txt
│ ├── customizing.html
│ ├── hmrc.4
│ ├── hmrc.html
│ ├── hypermail-faq.html
│ ├── hypermail.1
│ ├── hypermail.html
│ └── index_hypermail.txt
├── install-sh
├── lcc/
│ ├── README.txt
│ ├── defaults.h
│ ├── dirent.c
│ ├── dirent.h
│ ├── getdate.c
│ ├── hypermail_files.txt
│ ├── lcc_extras.c
│ ├── lcc_extras.h
│ ├── pcre.h
│ ├── pcre_chartables.c
│ └── pcre_config.h
├── libcgi/
│ ├── .indent.pro
│ ├── Makefile.in
│ ├── cgi.h
│ ├── form_ent.c
│ ├── form_tags.c
│ ├── get_cgi_info.c
│ ├── html.c
│ ├── libcgi.html
│ ├── main.c
│ ├── mcode.c
│ ├── strops.c
│ ├── syn_mime.c
│ ├── syn_url.c
│ └── template.c
├── ltmain.sh
├── maketgz
├── patchlevel.h
├── src/
│ ├── .indent.pro
│ ├── .splintrc
│ ├── Makefile.in
│ ├── base64.c
│ ├── base64.h
│ ├── date.c
│ ├── defaults.h.in
│ ├── dmatch.c
│ ├── dmatch.h
│ ├── domains.c
│ ├── domains.h
│ ├── file.c
│ ├── finelink.c
│ ├── finelink.h
│ ├── fnv/
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── aclocal.m4
│ │ ├── config.guess
│ │ ├── config.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.in
│ │ ├── configure.scan
│ │ ├── fnv.h
│ │ ├── fnv32.c
│ │ ├── fnv64.c
│ │ ├── hash_32.c
│ │ ├── hash_64.c
│ │ ├── have_ulong64.c
│ │ ├── ltconfig
│ │ └── ltmain.sh
│ ├── getdate.h
│ ├── getdate.texi
│ ├── getdate.y
│ ├── getname.c
│ ├── getname.h
│ ├── hypermail.c
│ ├── hypermail.h
│ ├── lang.c
│ ├── lang.h
│ ├── lock.c
│ ├── mail.c
│ ├── mem.c
│ ├── parse.c
│ ├── parse.h
│ ├── pcre/
│ │ ├── 132html
│ │ ├── AUTHORS
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── ChangeLog
│ │ ├── CheckMan
│ │ ├── CleanTxt
│ │ ├── Detrail
│ │ ├── HACKING
│ │ ├── INSTALL
│ │ ├── LICENCE
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── NEWS
│ │ ├── NON-AUTOTOOLS-BUILD
│ │ ├── NON-UNIX-USE
│ │ ├── PrepareRelease
│ │ ├── README
│ │ ├── RunGrepTest
│ │ ├── RunTest
│ │ ├── RunTest.bat
│ │ ├── aclocal.m4
│ │ ├── ar-lib
│ │ ├── cmake/
│ │ │ ├── COPYING-CMAKE-SCRIPTS
│ │ │ ├── FindEditline.cmake
│ │ │ ├── FindPackageHandleStandardArgs.cmake
│ │ │ └── FindReadline.cmake
│ │ ├── compile
│ │ ├── config-cmake.h.in
│ │ ├── config.guess
│ │ ├── config.h.generic
│ │ ├── config.h.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── depcomp
│ │ ├── dftables.c
│ │ ├── doc/
│ │ │ ├── html/
│ │ │ │ ├── NON-AUTOTOOLS-BUILD.txt
│ │ │ │ ├── README.txt
│ │ │ │ ├── index.html
│ │ │ │ ├── pcre-config.html
│ │ │ │ ├── pcre.html
│ │ │ │ ├── pcre16.html
│ │ │ │ ├── pcre32.html
│ │ │ │ ├── pcre_assign_jit_stack.html
│ │ │ │ ├── pcre_compile.html
│ │ │ │ ├── pcre_compile2.html
│ │ │ │ ├── pcre_config.html
│ │ │ │ ├── pcre_copy_named_substring.html
│ │ │ │ ├── pcre_copy_substring.html
│ │ │ │ ├── pcre_dfa_exec.html
│ │ │ │ ├── pcre_exec.html
│ │ │ │ ├── pcre_free_study.html
│ │ │ │ ├── pcre_free_substring.html
│ │ │ │ ├── pcre_free_substring_list.html
│ │ │ │ ├── pcre_fullinfo.html
│ │ │ │ ├── pcre_get_named_substring.html
│ │ │ │ ├── pcre_get_stringnumber.html
│ │ │ │ ├── pcre_get_stringtable_entries.html
│ │ │ │ ├── pcre_get_substring.html
│ │ │ │ ├── pcre_get_substring_list.html
│ │ │ │ ├── pcre_jit_exec.html
│ │ │ │ ├── pcre_jit_stack_alloc.html
│ │ │ │ ├── pcre_jit_stack_free.html
│ │ │ │ ├── pcre_maketables.html
│ │ │ │ ├── pcre_pattern_to_host_byte_order.html
│ │ │ │ ├── pcre_refcount.html
│ │ │ │ ├── pcre_study.html
│ │ │ │ ├── pcre_utf16_to_host_byte_order.html
│ │ │ │ ├── pcre_utf32_to_host_byte_order.html
│ │ │ │ ├── pcre_version.html
│ │ │ │ ├── pcreapi.html
│ │ │ │ ├── pcrebuild.html
│ │ │ │ ├── pcrecallout.html
│ │ │ │ ├── pcrecompat.html
│ │ │ │ ├── pcrecpp.html
│ │ │ │ ├── pcredemo.html
│ │ │ │ ├── pcregrep.html
│ │ │ │ ├── pcrejit.html
│ │ │ │ ├── pcrelimits.html
│ │ │ │ ├── pcrematching.html
│ │ │ │ ├── pcrepartial.html
│ │ │ │ ├── pcrepattern.html
│ │ │ │ ├── pcreperform.html
│ │ │ │ ├── pcreposix.html
│ │ │ │ ├── pcreprecompile.html
│ │ │ │ ├── pcresample.html
│ │ │ │ ├── pcrestack.html
│ │ │ │ ├── pcresyntax.html
│ │ │ │ ├── pcretest.html
│ │ │ │ └── pcreunicode.html
│ │ │ ├── index.html.src
│ │ │ ├── pcre-config.1
│ │ │ ├── pcre-config.txt
│ │ │ ├── pcre.3
│ │ │ ├── pcre.txt
│ │ │ ├── pcre16.3
│ │ │ ├── pcre32.3
│ │ │ ├── pcre_assign_jit_stack.3
│ │ │ ├── pcre_compile.3
│ │ │ ├── pcre_compile2.3
│ │ │ ├── pcre_config.3
│ │ │ ├── pcre_copy_named_substring.3
│ │ │ ├── pcre_copy_substring.3
│ │ │ ├── pcre_dfa_exec.3
│ │ │ ├── pcre_exec.3
│ │ │ ├── pcre_free_study.3
│ │ │ ├── pcre_free_substring.3
│ │ │ ├── pcre_free_substring_list.3
│ │ │ ├── pcre_fullinfo.3
│ │ │ ├── pcre_get_named_substring.3
│ │ │ ├── pcre_get_stringnumber.3
│ │ │ ├── pcre_get_stringtable_entries.3
│ │ │ ├── pcre_get_substring.3
│ │ │ ├── pcre_get_substring_list.3
│ │ │ ├── pcre_jit_exec.3
│ │ │ ├── pcre_jit_stack_alloc.3
│ │ │ ├── pcre_jit_stack_free.3
│ │ │ ├── pcre_maketables.3
│ │ │ ├── pcre_pattern_to_host_byte_order.3
│ │ │ ├── pcre_refcount.3
│ │ │ ├── pcre_study.3
│ │ │ ├── pcre_utf16_to_host_byte_order.3
│ │ │ ├── pcre_utf32_to_host_byte_order.3
│ │ │ ├── pcre_version.3
│ │ │ ├── pcreapi.3
│ │ │ ├── pcrebuild.3
│ │ │ ├── pcrecallout.3
│ │ │ ├── pcrecompat.3
│ │ │ ├── pcrecpp.3
│ │ │ ├── pcredemo.3
│ │ │ ├── pcregrep.1
│ │ │ ├── pcregrep.txt
│ │ │ ├── pcrejit.3
│ │ │ ├── pcrelimits.3
│ │ │ ├── pcrematching.3
│ │ │ ├── pcrepartial.3
│ │ │ ├── pcrepattern.3
│ │ │ ├── pcreperform.3
│ │ │ ├── pcreposix.3
│ │ │ ├── pcreprecompile.3
│ │ │ ├── pcresample.3
│ │ │ ├── pcrestack.3
│ │ │ ├── pcresyntax.3
│ │ │ ├── pcretest.1
│ │ │ ├── pcretest.txt
│ │ │ ├── pcreunicode.3
│ │ │ └── perltest.txt
│ │ ├── install-sh
│ │ ├── libpcre.pc.in
│ │ ├── libpcre16.pc.in
│ │ ├── libpcre32.pc.in
│ │ ├── libpcrecpp.pc.in
│ │ ├── libpcreposix.pc.in
│ │ ├── ltmain.sh
│ │ ├── m4/
│ │ │ ├── ax_pthread.m4
│ │ │ ├── libtool.m4
│ │ │ ├── ltoptions.m4
│ │ │ ├── ltsugar.m4
│ │ │ ├── ltversion.m4
│ │ │ ├── lt~obsolete.m4
│ │ │ └── pcre_visibility.m4
│ │ ├── makevp.bat
│ │ ├── makevp_c.txt
│ │ ├── makevp_l.txt
│ │ ├── missing
│ │ ├── pcre-config.in
│ │ ├── pcre.h.generic
│ │ ├── pcre.h.in
│ │ ├── pcre16_byte_order.c
│ │ ├── pcre16_chartables.c
│ │ ├── pcre16_compile.c
│ │ ├── pcre16_config.c
│ │ ├── pcre16_dfa_exec.c
│ │ ├── pcre16_exec.c
│ │ ├── pcre16_fullinfo.c
│ │ ├── pcre16_get.c
│ │ ├── pcre16_globals.c
│ │ ├── pcre16_jit_compile.c
│ │ ├── pcre16_maketables.c
│ │ ├── pcre16_newline.c
│ │ ├── pcre16_ord2utf16.c
│ │ ├── pcre16_printint.c
│ │ ├── pcre16_refcount.c
│ │ ├── pcre16_string_utils.c
│ │ ├── pcre16_study.c
│ │ ├── pcre16_tables.c
│ │ ├── pcre16_ucd.c
│ │ ├── pcre16_utf16_utils.c
│ │ ├── pcre16_valid_utf16.c
│ │ ├── pcre16_version.c
│ │ ├── pcre16_xclass.c
│ │ ├── pcre32_byte_order.c
│ │ ├── pcre32_chartables.c
│ │ ├── pcre32_compile.c
│ │ ├── pcre32_config.c
│ │ ├── pcre32_dfa_exec.c
│ │ ├── pcre32_exec.c
│ │ ├── pcre32_fullinfo.c
│ │ ├── pcre32_get.c
│ │ ├── pcre32_globals.c
│ │ ├── pcre32_jit_compile.c
│ │ ├── pcre32_maketables.c
│ │ ├── pcre32_newline.c
│ │ ├── pcre32_ord2utf32.c
│ │ ├── pcre32_printint.c
│ │ ├── pcre32_refcount.c
│ │ ├── pcre32_string_utils.c
│ │ ├── pcre32_study.c
│ │ ├── pcre32_tables.c
│ │ ├── pcre32_ucd.c
│ │ ├── pcre32_utf32_utils.c
│ │ ├── pcre32_valid_utf32.c
│ │ ├── pcre32_version.c
│ │ ├── pcre32_xclass.c
│ │ ├── pcre_byte_order.c
│ │ ├── pcre_chartables.c.dist
│ │ ├── pcre_compile.c
│ │ ├── pcre_config.c
│ │ ├── pcre_dfa_exec.c
│ │ ├── pcre_exec.c
│ │ ├── pcre_fullinfo.c
│ │ ├── pcre_get.c
│ │ ├── pcre_globals.c
│ │ ├── pcre_internal.h
│ │ ├── pcre_jit_compile.c
│ │ ├── pcre_jit_test.c
│ │ ├── pcre_maketables.c
│ │ ├── pcre_newline.c
│ │ ├── pcre_ord2utf8.c
│ │ ├── pcre_printint.c
│ │ ├── pcre_refcount.c
│ │ ├── pcre_scanner.cc
│ │ ├── pcre_scanner.h
│ │ ├── pcre_scanner_unittest.cc
│ │ ├── pcre_string_utils.c
│ │ ├── pcre_stringpiece.cc
│ │ ├── pcre_stringpiece.h.in
│ │ ├── pcre_stringpiece_unittest.cc
│ │ ├── pcre_study.c
│ │ ├── pcre_tables.c
│ │ ├── pcre_ucd.c
│ │ ├── pcre_valid_utf8.c
│ │ ├── pcre_version.c
│ │ ├── pcre_xclass.c
│ │ ├── pcrecpp.cc
│ │ ├── pcrecpp.h
│ │ ├── pcrecpp_internal.h
│ │ ├── pcrecpp_unittest.cc
│ │ ├── pcrecpparg.h.in
│ │ ├── pcredemo.c
│ │ ├── pcregexp.pas
│ │ ├── pcregrep.c
│ │ ├── pcreposix.c
│ │ ├── pcreposix.h
│ │ ├── pcretest.c
│ │ ├── perltest.pl
│ │ ├── sljit/
│ │ │ ├── sljitConfig.h
│ │ │ ├── sljitConfigInternal.h
│ │ │ ├── sljitExecAllocator.c
│ │ │ ├── sljitLir.c
│ │ │ ├── sljitLir.h
│ │ │ ├── sljitNativeARM_32.c
│ │ │ ├── sljitNativeARM_64.c
│ │ │ ├── sljitNativeARM_T2_32.c
│ │ │ ├── sljitNativeMIPS_32.c
│ │ │ ├── sljitNativeMIPS_64.c
│ │ │ ├── sljitNativeMIPS_common.c
│ │ │ ├── sljitNativePPC_32.c
│ │ │ ├── sljitNativePPC_64.c
│ │ │ ├── sljitNativePPC_common.c
│ │ │ ├── sljitNativeSPARC_32.c
│ │ │ ├── sljitNativeSPARC_common.c
│ │ │ ├── sljitNativeTILEGX-encoder.c
│ │ │ ├── sljitNativeTILEGX_64.c
│ │ │ ├── sljitNativeX86_32.c
│ │ │ ├── sljitNativeX86_64.c
│ │ │ ├── sljitNativeX86_common.c
│ │ │ └── sljitUtils.c
│ │ ├── test-driver
│ │ ├── testdata/
│ │ │ ├── grepbinary
│ │ │ ├── grepfilelist
│ │ │ ├── grepinput
│ │ │ ├── grepinput3
│ │ │ ├── grepinput8
│ │ │ ├── grepinputv
│ │ │ ├── grepinputx
│ │ │ ├── greplist
│ │ │ ├── grepoutput
│ │ │ ├── grepoutput8
│ │ │ ├── grepoutputN
│ │ │ ├── greppatN4
│ │ │ ├── saved16
│ │ │ ├── saved16BE-1
│ │ │ ├── saved16BE-2
│ │ │ ├── saved16LE-1
│ │ │ ├── saved16LE-2
│ │ │ ├── saved32
│ │ │ ├── saved32BE-1
│ │ │ ├── saved32BE-2
│ │ │ ├── saved32LE-1
│ │ │ ├── saved32LE-2
│ │ │ ├── saved8
│ │ │ ├── testinput1
│ │ │ ├── testinput10
│ │ │ ├── testinput11
│ │ │ ├── testinput12
│ │ │ ├── testinput13
│ │ │ ├── testinput14
│ │ │ ├── testinput15
│ │ │ ├── testinput16
│ │ │ ├── testinput17
│ │ │ ├── testinput18
│ │ │ ├── testinput19
│ │ │ ├── testinput2
│ │ │ ├── testinput20
│ │ │ ├── testinput21
│ │ │ ├── testinput22
│ │ │ ├── testinput23
│ │ │ ├── testinput24
│ │ │ ├── testinput25
│ │ │ ├── testinput26
│ │ │ ├── testinput3
│ │ │ ├── testinput4
│ │ │ ├── testinput5
│ │ │ ├── testinput6
│ │ │ ├── testinput7
│ │ │ ├── testinput8
│ │ │ ├── testinput9
│ │ │ ├── testinputEBC
│ │ │ ├── testoutput1
│ │ │ ├── testoutput10
│ │ │ ├── testoutput11-16
│ │ │ ├── testoutput11-32
│ │ │ ├── testoutput11-8
│ │ │ ├── testoutput12
│ │ │ ├── testoutput13
│ │ │ ├── testoutput14
│ │ │ ├── testoutput15
│ │ │ ├── testoutput16
│ │ │ ├── testoutput17
│ │ │ ├── testoutput18-16
│ │ │ ├── testoutput18-32
│ │ │ ├── testoutput19
│ │ │ ├── testoutput2
│ │ │ ├── testoutput20
│ │ │ ├── testoutput21-16
│ │ │ ├── testoutput21-32
│ │ │ ├── testoutput22-16
│ │ │ ├── testoutput22-32
│ │ │ ├── testoutput23
│ │ │ ├── testoutput24
│ │ │ ├── testoutput25
│ │ │ ├── testoutput26
│ │ │ ├── testoutput3
│ │ │ ├── testoutput3A
│ │ │ ├── testoutput3B
│ │ │ ├── testoutput4
│ │ │ ├── testoutput5
│ │ │ ├── testoutput6
│ │ │ ├── testoutput7
│ │ │ ├── testoutput8
│ │ │ ├── testoutput9
│ │ │ ├── testoutputEBC
│ │ │ ├── valgrind-jit.supp
│ │ │ ├── wintestinput3
│ │ │ └── wintestoutput3
│ │ └── ucp.h
│ ├── print.c
│ ├── print.h
│ ├── printfile.c
│ ├── printfile.h
│ ├── proto.h
│ ├── quotes.c
│ ├── search.c
│ ├── search.h
│ ├── setup.c
│ ├── setup.h
│ ├── string.c
│ ├── struct.c
│ ├── struct.h
│ ├── threadprint.c
│ ├── threadprint.h
│ ├── trio/
│ │ ├── CHANGES
│ │ ├── FILES
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── README.hypermail
│ │ ├── autogen.sh
│ │ ├── compare.c
│ │ ├── configure
│ │ ├── configure.in
│ │ ├── hypermail-patches.diff
│ │ ├── install-sh
│ │ ├── regression.c
│ │ ├── strio.h
│ │ ├── trio.c
│ │ ├── trio.h
│ │ ├── triodef.h
│ │ ├── trionan.c
│ │ ├── trionan.h
│ │ ├── triop.h
│ │ ├── triostr.c
│ │ └── triostr.h
│ ├── txt2html.c
│ ├── txt2html.h
│ ├── uconvert.h
│ ├── uudecode.c
│ └── uudecode.h
└── tests/
├── README
├── diff_hypermail_archives.pl
├── mboxes/
│ ├── 1msg.mbox
│ ├── critmail.mbox
│ ├── embedded.msg
│ ├── t1
│ ├── t2
│ ├── t3
│ ├── t4
│ ├── t5
│ ├── t6
│ ├── t7
│ ├── t8
│ └── y2k.mbox
├── stdintest.pl
├── test-footer.hyp
├── test-index.hyp
├── test-msg.hyp
├── test.rc
└── testhm.in
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# ignore all files generated by configure and make
autom4te.cache
config.cache
config.h
config.log
config.status
Makefile
*.la
*.lo
*.o
*.so.*
*.a
.libs/
src/defaults.h
src/getdate.c
src/defaults.h
src/getdate.c
src/hypermail
src/lang
src/mail
# PCRE (if using the bundled lib)
src/pcre/.deps
src/pcre/.deps/
src/pcre/autom4te.cache/
src/pcre/libpcre.pc
src/pcre/libpcre16.pc
src/pcre/libpcre32.pc
src/pcre/libpcrecpp.pc
src/pcre/libpcreposix.pc
src/pcre/pcre_chartables.c
src/pcre/pcre_scanner_unittest
src/pcre/pcre_stringpiece.h
src/pcre/pcre_stringpiece_unittest
src/pcre/pcrecpp_unittest
src/pcre/pcrecpparg.h
src/pcre/stamp-h1
src/pcre/pcre.h
src/pcre/pcre-config
src/pcre/dftables
src/pcre/libtool
src/pcre/pcregrep
src/pcre/pcretest
# other files created when compiling
archive/msg2archive
archive/rdmsg
tests/testhm
tests/testdir
tests/testmail
# vi or emacs edited ones
.*~
\#.*
# swap files
.swp
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
================================================
FILE: Changelog
================================================
Version Changes for Hypermail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
============================
HYPERMAIL VERSION 2.4.1:
============================
2022-11-04 Jose Kahan
* src/Makefile.in
Some C linkers require libraries to be declared after functions in that
library are called, and not before. This was notably with -lm and
-ltrio, where -lm had to be declared after -ltrio.
(closes # 84)
2021-11-17 David Hughes
* docs/hmrc.html src/parse.c
Added support for strftime (3) formatting in the append_filename configuration
option to allow for archived messages to be split over multiple directories
(monthly or yearly for example)
2021-06-04 Baptiste Daroussin
* src/uudecode.c src/parse.c
Fixes for memory issues detected by libasan
2020-06-19 Jose Kahan
* src/domains.c
valid_root_domains() was validating a domain name against the
historical DNS domains such as .org, .com. DNS has evolved and allows a
bigger variety of domains than those this function verified. That part
of the function has been invalidated and will be either eventually
removed or evolve to a user-configurable option.
2020-06-12 Jose Kahan
* configure.ac
configure didn't signal an error if yacc was not installed
* src/string.c
parseurl(): URLs were not detected and converted when they were
preceeded by a : that was not attached to a valid URL like
foo: https://example.com or : https://example.com
2020-02-23 @cacsar
* Makefile.in
make install wasn't working
============================
HYPERMAIL VERSION 2.4.0:
============================
2019-12-20 Jose Kahan
* src/getdate.y
A message's sent or received date with a specified TZ but without any
seconds value was using the local date seconds value instead of 00.
2019-12-19 Jose Kahan
* src/parse.c
parsemail(): a Content-Transfer-Encoding header with a missing value
would result in an unitialized variable being used to output an unknown
encoding warning message. Hypermail now skips this header if it's empty.
2019-11-22 Jose Kahan
* src/print.c
printsubject() / printdates(): the "by suject" and "by dates" views
were not escaping markup present in mail's Suject and From headers.
2019-11-19 Jose Kahan
* src/pcre
Upgraded to upstream version 8.43. This fixes some autoconf issues we
had on newer debian releases. This is only relevant for people that
are not linking against a system libpcre.
* tests/diff_hypermail_archives.pl
Rewrote diff_hypermail.pl to make it more flexible and powerful for
finding the differences in two hypermail archives.
2018-12-07 Jose Kahan
* If the antispamdomain config option was used, hypermail was replacing
everything following a "@" character by the antispam domain. This fix
makes antispamdomain only apply for the domain part of valid email
addresses.
2018-11-29 Bill Shannon
* string.c
spamify_replacedomain(): fix another greedy "@" replacement in the
middle of a string of iso-2022-jp encoded Japanese characters.
2018-11-04 Bill Shannon
* string.c
i18n_convstring(): When converting a utf-8 string to iso-2022-jp,
hypermail always adds the "return to ASCII" escape sequence, even if
the string ends with ASCII.
parseemail(): hypermail attempts to transform anything that looks like
an email address by replacing the at sign (and optionally the domain
name) with a string (default "at") to confuse screen-scraping
programs. But if there's an "@" character in the middle of a string of
iso-2022-jp encoded Japanese characters, hypermail still converts it,
breaking the Japanese character.
2018-10-12 Jose Kahan
* setup.c PreConfig(): removed a 64-bit warning
* hypermail.c
main(): if the en_US locale is not available, try en_US.UTF-8
2018-10-11 Jose Kahan
* string.c
parseemail(): for some reason if a ',' char was concatenaned to an
email address, it was being parsed as part of the email username.
2018-10-10 Jose Kahan
* string.c
parseurl(): remove deprecated URLs. Improve support for URLs that don't
have slashes following the 'protocol:' schema. Improve support for tel:
URLs.
2018-10-09 Bill Shannon
* string.c
parseurl(): non-URL text can be misinterpreted as a URL, causing segfault
Fixes issue #39
2018-10-08 Jose Kahan
* print.c, string.c, proto.h
The inreplyto_command could generate invalid links if the parser interpolated the
in-reply-to from the subject. If a message's in-reply-to is interpolated,
hypermail won't honor it anymore for that message.
2018-10-07 Jose Kahan
* print.c printauthors(), printthreads(), printsubjects, printdates()
Even if set_i18n was enabled, Indexes were written with mixed charsets
instead of using utf-8 throughout.
* configure.ac, Makefile.in, src/Makefile.in
If the system has a recent libpcre, compile against it instead of using
the bundled one. This check is done by default when launching configure.
New configure options to allow to link against an external pcre library
(--with-external-pcre) or to force the build and link against the
bundled one (--enable-bundled-pcre).
New configure option to allow to compile against a system libtrio
(--enable-system-libtrio). Contrary to libpcre, it's not possible to find the
version of libtrio so we cannot compile automatically against it.
2018-10-04 Jose Kahan
* src/pcre
Upgraded to upstream version 8.42
* src/trio
Upgraded to upstream version 1.16
* parse.c
Only use the headers charset for text/plain if its absent. If no charset
is available in the other parts, do not add it.
2018-10-04 Jose Kahan
* Updated Changelog format for entries newer than version 2.3.0
* hypermail.h, parse.c, struct.c, struct.h
Charset handling for multipart messages was being handled wrong, giving
priority to the headers charset (if found) over that of the displayed body.
Sometimes the last found charset was the one being used throughout in the
generated body.
The metafile for attachments was sometimes inheriting the charset of the whole
body, even when not necessary or wrong. Now the meta doesn't include a charset
if the attachment doesn't explicitly give one.
* parse.c
References header was processed multiple times as it was not being marked as parsed
after being processed.
The epilogue of MIME parts was not being ignored.
2018-06-19 Jose Kahan
* Changed mispelled configuration option warn_surpressions to the
correct spelling warn_suppressions.
2018-06-14 Jose Kahan
* Hypermail would segfault or have an incorrect thread view if it was
handling an archive with a message (msg1) that was a reply to a message
not in the archive, if msg1 had a reply to it in the archive (msg2),
msg2 was archived before msg1 and both msg1 and msg2 shared the same
subject (regardless of Re: prefixes).
2018-06-07 Bill Shannon
* Add charset alias for Thai and Chinese
* The markup for access key "j" to jump to the start of a message was
only being added when the showhtml configuration option was disabled
* Setting the describe_folder configuration option has no effect on the
display of the folder index page
* In some cases hypermail failed to null terminate the charset name
when copying it, resulting in bogus charset names
* Hypermail would segfault if given the bogus From line "From:
<a@b.com"
* In some cases, when no new message was added to the archive, would
segfault because of a null pointer
2015-04-03 Ivan Kuraj
* Correct includes for new glibc
2013-06-10 Jose Kahan
* Even if a message was annotated as spam/deleted, its Attachments were
still being created
2013-04-18 Jose Kahan
* Removed commented out code in printfile.c.
* Added missing ';' in generated css rules in the same file
2013-04-11 Jose Kahan
* Extended the configure options so that a user can decide if hypermail
should be compiled and statically linked against the bundled pcre lib
or if it should be dynamically linked with an external (or system) pcre
library (if available).
* The new configure option is --with-external-pcre[=dir].
* The default value for dir is /usr and the include and libraries
directories will be searched from that starting path. This option is
disabled by default.
* The make clean in libfnv wasn't removing the libfnv.a file
2013-03-29 Jose Kahan
* Updated configure to latest autoconf syntax conventions.
* Renamed configure.in to configure.ac and cleaned it up partially.
2013-03-20 Jose Kahan
* Updated pcre to pcre-8.32 from pcre-4.3. This may have broken the
Windows lcc compilation but I don't have the means to verify it.
2013-03-15 Jose Kahan
* Updated trio code to trio version 1.14. Moved all the trio code to
src/trio. Now compiling trio as a static library and linking against
it, which makes binary a bit smaller. See src/trio/README.hypermail for
details.
2013-03-12 Jose Kahan
* New experimental support for RFC 3676 format=flowed. There are two
new related configuration options: format_flowed to enable it and
format_flowed_disable_quotes to disable it in specific cases. See the
documentation and the RFC for further info.
2013-03-08 Jose Kahan
* Error: string.c:parseurl() assumes that all URL motifs it can match
end with a :// string. However, the URL match table it uses included
some URL motifs that didn't have that string. These have been commented
as they may cause parseulr to SIGSEVs in some cases.
2013-02-26 Jose Kahan
* New configuration option, noindex_onindexes, for associating a
"noindex" robot metadata value with hypermail generated indexes.
2013-02-26 Jose Kahan
* New configuration option, userobotmeta, for Associatating robot
annotations with attachments, using the experimental X-Robots-Tag HTTP
header
* If a message is marked as "deleted" and we're not keeping the
content, substitute the value of the From: and Subject: headers with
"deleted".
* Make sure the delete stubs are added only when the delete_level
option says we're not to preserve the original message body.
2013-01-30 Jose Kahan
* Migrated source code repository from cvs.hypermail.org to
http://sourceforge.net/projects/hypermail/
* Added a mirror of the repository to github:
http://github.com/hypermail-project/hypermail
* Cleared up the markup errors in docs/hmrc.html by using tidy.
* New configuration directive "annotated" which allows a mailing list
archive editor to annotate a given message before converting it into
HTML. Associated additional new directives are
"htmlmessage_deleted_spam", "htmlmessage_deleted_other",
"htmlmessage_edited". Consult docs/hmrc.html for more info.
* "htmlmessage_deleted" is deprecated in favor of
"htmlmessage_deleted_spam"
* "deleted" is superseded by "annotated", although it will be supported
to take into account legacy archives.
* Regenerated the dependencies for the src/Makefile.in file.
============================
HYPERMAIL VERSION 2.3.0:
============================
Jose Kahan (Oct 27, 2009)
Added two new accesskeys in messages: 't' -> next message
in thread, 'd' -> next message
Jose Kahan (Oct 26, 2009)
Updated hmrc.4 and hmrc.html to describe the new features.
Jose Kahan (Oct 23, 2009)
Various fixes / enhancements developed at W3C by Fumihiro Kato,
Daigo Matsubara and myself:
- Markup changes for deleted messages that are kept.
- New directive: htmlmessage_deleted for setting a custom HTML
message for the body of deleted messages.
- New directive: delete_incremental to disable deleting of existing
messages in the archive when doing an incremental add of a new
message. In some setups, if this feature is enabled, replies to
deleted messages will cause uncontrolled markup escape and
expansion. Feature is enabled by default.
- Updated list of known protocol uris that hypermail will convert
into links.
- Bug fix: setup.c:MakeConfig() CFG_SWITCH was using long instead of
int.
- New directive: fragment_prefix for customizing the prefix that is
put before each URI fragment in a message. Default value is "msg",
the previous hard-coded value.
- New directive: email_address_obfuscation foro enablingemail
address obfuscation using numeric character reference.
- New directive: inline_addlink to add in-line links to content that
is stored in the attachments subdirectory. 'inline_types" must
also be enabled.
- New directive: inreplyto_command, gives a URI template to a script
that hypermail will link to if it's unable to find a corresponding
Message-Id in the archive's messages.
Peter McCluskey (May 13, 2008)
Change from Fumihiro Kato to fix bug that sometimes caused a charset
problem when Content-Type is us-ascii but message headers
include other encoded text like utf-8.
Peter McCluskey (Nov 14, 2007)
Applied xhtml patch from Zvi Har'El.
Peter McCluskey (Oct 1, 2007)
Changes from Fumihiro Kato to fix bugs on 64 bit systems and some
possible buffer overflow problems.
Change in rules about whether to escape urls; it now seems to escape them
when found in the middle of the line the same way it has been doing when
they are at the start of a line.
Peter McCluskey (Feb 16, 2007)
Changes from Rick van der Zwet:
cosmetic = tweaking the interface a small bit (right align, the message
numbers, years in the date listing
spamify-domain = obfuscate the body of the message as well (will also
obfuscate 'ssh rick@foo.bar' this of course), moved the domain obfuscate
yes/no to the general to make the function more portable
Changes from Mike Fabian changing int to size_t.
Peter McCluskey (Mar 27, 2006)
Add rel="nofollow" to text message URLs (option txtsuffix = 1).
Peter McCluskey (Mar 14, 2006)
Fixed a core dump with linkquotes = 1 caused by Daigo's changes.
Peter McCluskey (Sep 30, 2005)
Fixed missing links at top when show_index_links is 1 or 3.
Peter McCluskey (Aug 4, 2005)
Fixed double counting of messages deleted with the delete_msgnum option,
which sometimes caused top level index page to show wrong number of
messages and not link to a folder.
Peter McCluskey (Jul 29, 2005)
Changed to sort on sender date rather than from date when displaying
sender date as a result of use_sender_date = 1.
Peter McCluskey (Jun 23, 2005)
Some small changes from Vincent McIntyre to make date-range in index of
folders link to default index page, to use CSS instead of <th> to
distinguish that column, and some whitespace changes.
Added explanation of how to handle strcasestr prototype error to INSTALL.
Peter McCluskey (Mar 19, 2005)
Fixes to files_by_thread option submitted by Oliver Meili.
Peter McCluskey (Dec 2, 2004)
Patch from Ulf Hrnhammar to fix two format string bugs in Hypermail.
They could have caused crashes if using incremental mode on edited
pre-existing archives with data like "%n%n%n%n%n%n%n%n" in certain lines.
Peter McCluskey (Nov 28, 2004)
Add filename_base option.
Peter McCluskey (Sep 29, 2004)
Add support for JAVT timezone.
Add mailbox_date_trimmer to contrib, faq.
Peter McCluskey (Jun 2, 2004)
Add language code substitution cookie patch from Shane Wegner.
============================
HYPERMAIL VERSION 2.2.0:
============================
Peter McCluskey (May 25, 2004)
Changed some of the addresses to hypermail-project.org.
Made the "We delete ... " message print only if progress != 0.
Peter McCluskey (Mar 23, 2004)
Changes to speed up incremental update when there are deleted files if
using usegdbm (it's still slow if usegdbm = 0).
============================
HYPERMAIL VERSION 2.1.9:
============================
Peter McCluskey (Feb 23, 2004)
Released version 2.1.9 tar file.
Peter McCluskey (Feb 17, 2004)
Add use_sender_date option.
Fix instructions for doing "make install" so that the documentation will
be installed.
Peter McCluskey (Feb 5, 2004)
Update much of the documentation.
Peter McCluskey (Feb 4, 2004)
Change default in setup.c for spamprotect and spamprotect_id to On.
Peter McCluskey (Feb 2, 2004)
Add set_report_new_file and set_report_new_folder options.
Peter McCluskey (Jan 23, 2004)
Add in missing <a name="end"> for index files.
Removed a misleading, nonportable timezone string from link titles in
toplevel index pages.
Peter McCluskey (Jan 9, 2004)
Change to make mbox_shortened option work a little better with
discard_dup_msgids = 0.
Change folder_by_date option to use "From " date rather than "Date: "
to decide which subdirectory to use. This makes it consistent with
top level index page.
Peter McCluskey (Dec 26, 2003)
Add increment = -1 mode to enable automatic determination of whether
to update or append in most cases.
Peter McCluskey (Dec 3, 2003)
Added a mbox_shortened option to handle mboxes that have had messages
deleted from the start of the mbox.
Peter McCluskey (Dec 1, 2003)
Fix mismatch in <ul>, </ul> in date.html with indextable = 0.
Peter McCluskey (Nov 17, 2003)
Add a check for the problem with the starting message number that was
partly fixed on Oct 1. Now old archives with a startmsgnum = 0 .hmrc but
a first message of 0001.html in this case will be treated as if startmsgnum
was 0.
Peter McCluskey (Nov 15, 2003)
Add Portugese support from Hugo Cisneiros.
Peter McCluskey (Oct 1, 2003)
Fix some problems with starting message number that caused bugs when
increment = 1, linkquotes = 1 and using folder_by_date.
Peter McCluskey (Sep 11, 2003)
Fixes to make pcre work.
Peter McCluskey (Sep 3, 2003)
Applied patches from Mike McDonald to use nowrap option in the author and
date columns in the index tables and get rid of all of the 'width=100%'
options to the tables.
Peter McCluskey (Sep 3, 2003)
French language improvements from Olivier Kaloudoff.
Peter McCluskey (Sep 1, 2003)
Applied patches from Mike McDonald to make spamify_replacedomain use
set_antispam_at, change printdates to include the dates in the table
version of the bydate index, and make the table use the whole screen
width instead of 80%.
Jose Kahan (Aug 18, 2003)
- Changed to lowercase the suffixes added to the message indexes. That is,
from "archive name By Date" to "archive name by date" because the
upper case seemed out of style as we don't have any control on what
is the string used for the archive's name. Did this change only for
the English messages as I don't know if this convention works well for
other languages.
Jose Kahan (Aug 18, 2003)
- Made the links to the different indexes show the index of the current entry.
This change originated from the feedback we got on the WAI enhanced archievs.
People find that this small changes increases the usability of the archive.
Jose Kahan (Aug 18, 2003)
- The links to the first message (aka #first) were not working in the
by attachment, by author, and by subject indexes.
Peter McCluskey (Aug 16, 2003)
- applied fix from Jean-Charles Meyrignac to handle 0x1A in mbox.
Jose Kahan (Aug 14, 2003)
- After receiving more feedback, reverted the changes done for converting the
displayed value of the Date: header. The reason is that users like to know
when they send a message. This information was getting lost because we
were converting the date to the local time.
- Made the Received on date be shown in converted local time.
- Added a new configuration option, indexdateformat, so that people can
specify a different format for indexes than the one used elsewhere. If this
variable is not defined., it'll use the dateformat by default.
- Made the index by date compare dates independently of the value of dateformat.
Jose Kahan (Aug 13, 2003)
- Made the Received on footnote line use the same date format as that used for the
Date: header on top of the messages.
Jose Kahan (Aug 18, 2003)
- Small WAI change to the list of indexes to show the entry corresponding to
the current index, but outside of a link. This comes from feedback, where
people said it was less distracting to see the same index to links all
the time.
Jose Kahan (Aug 18, 2003)
- Add the <title> WAI enhancement that I had forgotten to do for messages.
The new format is: [subject] from [author] on [date] ([mailing list label]).
I also removed the 64 characters maximum limit check we had on the title.
The reason is that this is not part of the HTML specification, but rather
a writing style. Dominique says we shouldn't be so strict in this case. In
addition, just adding a \0 after 64 characters could break entity names and
generate invalid HTML.
Jose Kahan (Aug 13, 2003)
- The mailcommand option didn't work when applied to a paragraph that had
a previously converted href string that includes the '@' char. I added
a quick hack to ConvURlsString to avoid doing the mailto: convertion if an href
already exists in that line. The best solution would be to do something
similar to ConvURLsWithHrefs.
Also fixed a memory leak.
Peter McCluskey (Aug 8, 2003)
- Applied haof fixes from Bernhard Reiter.
Jose Kahan (Aug 4, 2003)
- As a side effect of PNK's use of an SGML entity for the @ char, the
mailcommand option stopped working on all the headers except for
the To: one.
Jose Kahan (Aug 1, 2003)
- In order to guarantee the validity of XHTML documents, changed the
behavior of hypermail when including customized footers. Previously,
when using this option, the custom markup had to include the </body>
and </html> end tags. As we also need to include a </div> in some
cases for XHTML and it's much harder to guess when to add it, I
made hypermail always add those three end tags as needed, regardless
of whether the custom footer option is being used.
Jose Kahan (Jul 30, 2003)
- After talking with Dom Hazel-Massieux, I added some extra WAI enhancements
to the list of indexes generated by hypermai. Specifically, the date
is shown in a verbose name in the title attribute of each entry and in
an abbreviated version in the markup that's being displayed.
Jose Kahan (Jul 30, 2003)
- When rebuilding an archive, the attachment files were not being overwritten
correctly. . Fixed this by adding an O_TRUNC flag.
Jose Kahan (Jul 29, 2003)
- Removed a memory leak in file.c as reported by insure.
- The ietf-mbox option didn't work on "quoted printable" encoded attachments.
Peter McCluskey (July 22, 2003)
Fix show_msg_links = 3 option (Jose's changes assumed it didn't exist).
Updates to German from Tobias Weber.
Kent Landfield (Jul 14, 2003)
- When show_headers was used in print.c, the newline was not recognized
early enough in printheaders. A check was added to assure the newline
was recognized properly.
Kent Landfield (Jul 10, 2003)
- Small typo in print.c corrected.
fprintf(fp, "%s ^lt;<em>%s</em>>"...
========================
HYPERMAIL VERSION 2.1.8:
========================
Kent Landfield (Jun 28, 2003)
- Updated pcre library with pcre-4.3 sources. We were distributing a
much older version. We were distributing version was 3.3 from
August 1, 2000.
- Updated FILES with the lcc files and the pcre changes.
- Removed the deprecated "show_hr" from the tests/test.rc file.
Jose Kahan (Jul 2, 2003)
- parseurl didn't work well when an URL was quoted and enclosed inside
tags. Such as:
<dd>some url</dd> </dd was put as part of the url.
Jose Kahan (Jul 1, 2003)
- Added WAI enhancements to the list of indexes generated by hypermail.
To make things perfect, we would need a new configuration option to give
the format of the date in the list of indexes format. I hard coded it
for the moment as I ran out of time to do it right now. As it has to
use an abbreviated date format to avoid having a too big list of indexes,
we can' t reuse the standard set_dateformat value.
- Removed warnings detected thru gcc Wall.
Peter McCluskey (June 30, 2003)
- Increased max_tokens used to allocate space for linkquotes data struct.
Jose Kahan (Jun 28, 2003)
- Code cleaning. Removed the deprecated code for set_showhr and
set_usetable options.
Kent Landfield (Jun 28, 2003)
- Arkadiusz Miskiewicz <arekm@sse.pl> reported progerr() was being
called with NULL instead of the previously constructed error message.
His supplied patches were applied.
Peter McCluskey (June 27, 2003)
- Made dates in subdirectory index files reflect subdirectory date range,
rather than the date range for the whole archive.
Peter McCluskey (June 24, 2003)
- Fix print_index_header_links to print MSG_ENDING date correctly (had
been using 2 getdatestr() calls in one argument list).
Peter McCluskey (June 20, 2003)
- Fix a core dump with empty Date:.
Jose Kahan (Jun 10, 2003)
- Some extra WAI enhancements requested during the period of public comments:
Order the date index by dates, like in subjects, add <dfn> to the start and
end period in the indexes, change the title of "jump to first message" to
"jump to list of messages".
- The top respond link didn't take into account the msgid or subject. It was
just a plain mailto. Made it work as the bottom one.
Jose Kahan (Jun 10, 2003)
- Adding new messages using the -u option to an existing file sometimes
resulted in warnings saying "Message-ID is missing, ignoring message
with subject..." Patch idea submitted by Peter.
Jose Kahan (Jun 10, 2003)
- The incremental option (-u) always started new archives with 0001, rather
than 0000. It will now start with 0000 as before
For those people who had this problem and don't want to break any links to
their archives when rebuilding them, there's a new configuration option
allowing you to tell from which number you want to start your archive:
startmsgnum. You should only set it up once and not modify it for an
existing archive or your links may break.
A warning message appeared systematically because the showhr, which is
now deprecated, was turned on by default.
Peter McCluskey (May 22, 2003)
- add Italian support from Gabriele Bartolini and Marco Nenciarini.
Peter McCluskey (May 16, 2003)
- Fixed initialization of prior_subdir when dirs created out of
order. That fixes a case where a subdir wasn't in index files with
reverse_folders = 1.
Jose Kahan (May 13, 2003)
- Add the WAI enhancements proposed in
http://www.w3.org/2002/03/archives-improvements/.
As a consequence of this change, the sethr and usetable configuration
options are deprecated. The new markup takes into account the changes
that those options proposed and offers them in a WAI friendly way.
Some code cleaning needs yet to be done to remove all the cases
where those rules were used. Previous code version is tagged as
"before-wai".
Fixed some invalid XHTML markup too.
Peter McCluskey (May 12, 2003)
- fix txtsuffix to not crash on null pointer.
- fix discard_dup_msgids to work when showprogress = 0.
Peter McCluskey (April 24, 2003)
- spam encoding from Peter Karlsson. Currently enabled via the
spamprotect option.
Jose Kahan (Apr 23, 2003)
- As a consequence of the XHTML convertion, unconvchars() wasn't
storing information into the buffer when there were no entities.
Jose Kahan (Apr 10, 2003)
- Converted hypermail to XHTML. The only remaining issue concerns
charsets. Some mail clients don't specify a correct charset or
specify a charset and include characters belonging to other
charset spaces. The solution to detect and convert the
foreign charset into a Unicode entity or, for the adventurous
hacker, convert hypermail's output to UTF-8. For the moment, only
the former is implemented partially; there is only one a winlatin1
(Windows CP 1252) to Unicode convertion/detection being done.
See string.c:convchars, unconvwinlatin1, and uconvert.h for more
details.
The best solution will be to move to UTF-8, but this has to be planned.
If you have a charset issue, your XHTML document will be invalid.
As XHTML is backwards compatible with HTML, you can avoid this problem
by continuing to use the text/html MIME type.
Peter McCluskey (April 3, 2003)
- Fixed so attachment.html doesn't list .meta directory.
Kent Landfield (Mar 20, 2003)
- Added Splint (www.splint.org) support to src/Makefile.in
- Corrected Initializer block for ltable[12]. Had 2 fields, but struct
language_entry has 3 fields.
- Removed unused gp variable in update_deletions().
- modified print_main_header() to assure title meets HTML recommendations
of no longer than 64 characters.
- Updated docs/hypermail.rc
Peter McCluskey (Mar 18, 2003)
- Fixed overwrite = 0 to avoid rewrite of many files involved in replies
with folder_by_date option.
Peter McCluskey (Mar 14, 2003)
- Fixed two bugs with deleting messages with the incremental mode. One bug
meant that the message body was only rewritten or removed with the
delete_msgnum option, not delete_older / delete_newer. The other bug
involved only updating the is_deleted flag in the gdbm file if the
message body was redone to update a MSG_IN_REPLY_TO line.
Kent Landfield (Mar 9, 2003)
- updated domains.h to accurately reflect the current set of root domains.
Peter McCluskey (Mar 7, 2003)
- Fixed problem with reverse_folders option that caused the index file
to leave out folders when there were some unusual mismatches between the
2 dates in one message.
Kent Landfield (Feb 28, 2003)
- changed wait.h sys/wait.h for portability in msg2archive
- removed unused variable in finelink.c
Kent Landfield (Feb 20, 2003)
- corrected docs/Makefile.in to create the images dir if it does not exist.
Kent Landfield (Feb 20, 2003)
- added wait.h to msg2archive that was needed for s_popen()
- removed unused variable in finelink.c
========================
HYPERMAIL VERSION 2.1.7:
========================
Peter McCluskey (Feb 20, 2003)
- Made version 2.1.7 tar file.
Jose Kahan (jose@w3.org) (Feb 20, 2003)
- makemailcommand wasn't escaping non-ascii characters in the URLS
that it generated.
Peter McCluskey (Feb 19, 2003)
- Fix to append option to handle some lines getting discarded in mdecodeQP.
Kent Landfield (Feb 19, 2003)
- Updated TODO with configure issues and other corrections we want
to make to the code in the near future.
Jose Kahan (jose@w3.org) (Feb 19, 2003)
- Upgraded extract_rfc2047_content() as the previous extracting
algorithm was broken.
Kent Landfield (Feb 18, 2003)
- Added missing contrib utilities, contrib/msg2hypermailarchive.py
and contrib/runtest to FILES
- Added checking in struct.c to limit the length of Subject: line to
avoid theoretical Denial-of-Service
- Removed code that was ifdef'ed NOTUSED
Peter McCluskey (Feb 17, 2003)
- Fix to attachment Content-Type parsing to strip all whitespace off
end of type rather than just newline.
Kent Landfield (Feb 17, 2003)
- Added safe_tmpfile() usage instead of internal usage.
Peter McCluskey (Feb 14, 2003)
- Disabled conversion of file:// into href - it seemed to allow anyone
who could access the web server via local host could read any file
that the web server had permission to read rather than just files
in the archive directory.
Peter McCluskey (Feb 13, 2003)
- Add -DTRIO_MINIMAL. Solves a trio compile problem in SunOS and makes
binary a little smaller.
- Strip mail.c down to minimal warning message so we don't have to worry
about analyzing it's security problems.
- Changes to get strerror, memmove from pcre when missing (e.g. on SunOS).
How was this working on SunOS before?
- Fix faulty sizeof in snprintf for MSG_ENCODING_IS_NOT_SUPPORTED.
Kent Landfield (kent@hypermail.org) (February 12, 2003)
- Converted msg2archive.c to use Thomas Biege's <thomas@suse.de>
s_popen() instead of popen().
Kent Landfield (kent@hypermail.org) (February 11, 2003)
- Modified configure.in to test for snprintf. This is needed
since Solaris 2.5.1 does not have snprintf. This only affects
the msg2archive and mbox2hypermail in the archive directory.
Kent Landfield (kent@hypermail.org) (February 10, 2003)
- Modified configure to assure on Solaris that the ctype functions
were used instead of the macroes. New NO_MACRO define in config.h.
- Added most of the patches submitted by Thomas Biege <thomas@suse.de>
- Cleaned up compilation commenting out unused variables with NOT_USED.
Need to remove them and other unnecessary code soon.
- Various other minor compilation issues.
- Corrected prototype issue in print.c
- Added parameter checking to archive/*.c source
Peter McCluskey (Feb 10, 2003)
- Fixed the append option to handle lines between end of headers through
mime boundary correctly.
Jose Kahan (jose@w3.org) (February 06, 2003)
- Added a protection against the use of the nonsequential messaging option
when hypermail wasn't compiled with the libfnv.
Kent Landfield (kent@hypermail.org) (February 06, 2003)
- Hypermail 2.1.6 runs on a DEC Alpha running TRU64 when compiled
with GCC 2.95. It does however require the -mieee flag be set for the
trionan.c sources.
- Modified configure.in script to support setting the the -mieee flag
for an Alpha TRU64 build.
- Modified various Makefile.in files to assure clean/clobber/distclean
worked universally.
Peter McCluskey (Feb 1, 2003)
- Changes to make stack overflow less common.
Peter McCluskey (January 29, 2003)
- Fixed faulty freeing of memory that caused core dump with files_by_thread
option.
- Fixed missing function call argument with files_by_thread option. I suspect
this was causing some random behavior, but I only found it due to valgrind.
- Fix for placement of link to next msg with incremental update, usetable = 0.
Peter McCluskey (January 28, 2003)
- Fix from Zvi Har'El to leading zeroes in anchors in index pages with
indextable=0.
- Changes to Swedish from Peter Karlsson.
Peter McCluskey (January 26, 2003)
- Fix for placement of link to next msg with incremental update.
========================
HYPERMAIL VERSION 2.1.6:
========================
Peter McCluskey (January 24, 2003)
- Released version 2.1.6 tar file.
- Fix buffer overflow when progress = 2 (triggered by long attachment
names). Was a security risk.
- Fix buffer overflow in mail (cgi) program that probably created security
risk if gethostbyaddr returned h_name of about 80 chars for an ip address.
- Disabled the functionality of the mail program and replaced it by default
with warning about abuse by spammers. Added warnings about use of program.
- Change size of boundbuffer (in parse.c) to 256, limit sscanf that fills it
to 255 bytes. This prevents a buffer overflow with long mime boundaries. The
buffer overflow didn't seemed to produce only minor problems, but it's hard
to rule out security risks.
- Add check for inline attachment name overflowing attachname buffer (like
the check that Jose added today for non-inlined attachments).
- Add check for append_filename and alts_text exceeding buffer size.
- Delete attachment directory of messages that are discarded due to a missing
or duplicate message-id.
Jose Kahan (jose@w3.org) (January 24, 2003)
- Fixed a buffer overflow reported by Ulf Harnhammar from VSU security.
Peter McCluskey (January 22, 2003)
- If mime message has an end boundary but no start boundary (as a buggy
version of Microsoft Outlook seems to create), the body is now treated
as a plain text message rather than discarded.
- Update trio code to trio version 1.9.
Peter McCluskey (January 20, 2003)
- Several fixes to avoid uninitialized memory reads reported by valgrind.
Peter McCluskey (January 18, 2003)
- Fix random behavior in parseurl which sometimes caused core dumps on lines
ending in http://, ftp://, etc.
Peter McCluskey (December 19, 2002)
- Apply patch from Wolfgang Spraul fixing link from subdir attachment.html to
index.html when defaultindex = date
Peter McCluskey (November 26, 2002)
- Changed attachment naming back to what it was before Jose added
set_nonsequential.
- Changed attachment naming so that files are stored using the names
provided without any %d- prepended whenever that doesn't cause conflicts.
Kent Landfield (kent@hypermail.org) (November 24, 2002)
- Made some updates to the docs. Still need to update the
docs to include writehaof, nonsequential, msgsperfolder and
assure other config file directives are listed and current.
Kent Landfield (kent@hypermail.org) (November 24, 2002)
- Added Russian language support.
Submitted by Igor Solovyoff" <siv@intear.com.ua>
Kent Landfield (kent@hypermail.org) (November 24, 2002)
- Made the "_at_" antispam bit configurable by config file, using
antispam_at = __somestring__ (does not have to have __ in it)
Anything hardcoded by default, can be figured out and used by
spammers. Particularly something like "_at_".
Submitted by Philip Brown <phil@bolthole.com>
Jose Kahan (jose@w3.org) (October 17, 2002)
- URL generation was broken when a URL had a '@' char and hypermail
was using the mailcommand option. parseemail() didn't take this
case into account yet (there's just an empty statement). I added a
quick patch to convert the '@' into an HTML entity when doing the
convertion inside a URL. The change is in translateurl().
Jose Kahan (jose@w3.org) (October 2, 2002)
- In order to avoid hashed filename collisions, the filename
is now built with a hash of the msgid concatenated to the
Epoch seconds of the From date. This gives a total of
16 characters (all data is represented in hex). Only messages
that have the same msgid and that arrive in the same second
will have a collision.
I also compiled with the Warning flags and removed some
warnings.
Jose Kahan (jose@w3.org) (October 2, 2002)
- The access righs of the msgindex file (for the hashed filenames)
were not being set at all.
Jose Kahan (jose@w3.org) (October 1, 2002)
- The non-sequential msgid mode didn't work when updating the
archives by one message. Fixed a confusion in the generation of
the msgindex file.
Jose Kahan (jose@w3.org) (September 26, 2002)
- Cleaned the autoconf files for passing the libnvf compile parameters
(what a difference does reading the manual make).
Peter McCluskey (September 25, 2002)
- Fix threading bug with incremental update and spamprotect_id = 1,
usegdbm = 0.
Jose Kahan (jose@w3.org) (September 25, 2002)
- Commited the ~/hypermail/ltmain.sh file and also put it in the
FILES section. Somehow, without this file, it was impossible to
compile the file generated thru a make tgz. The same kind of
file already existed in the pcre and fnv directories.
Added a rule to pass the FNV optional CFLAGS from the
~/hypermail/Makefile file, so that you can do a make from the top-level
(previously, you had to do it in the src directory... oops!).
Jose Kahan (jose@w3.org) (September 25, 2002)
- Updated the FILES tgz file (added libfnv, removed two non-existent
tests).
- Fixed the make tgz rule (how long was it since it was last used?)
Jose Kahan (jose@w3.org) (September 25, 2002)
- Added a new option to compute the archived filenames using an fnv hash
of the msgid + received From date. The resulting filename is 8 bytes long
(a space of 2^32 bits) + the extension. You can eventually change it to
16 bytes if this is too short. Just look at the code.
The advantage of this is that you can add and remove items from the
archive and not worry anymore about broken links if the sequence
changes (e.g., if you are rebuilding an archive). To activate this
option, you need to do a ./ configure --enable-libfnv, then
recompile hypermail. The name of the new option is nonsequential
(lack of imagination!).
Peter McCluskey (September 17, 2002)
- Added reverse_folders option.
Peter McCluskey (August 30, 2002)
- Fix segfaults in mdecodeRFC2047 (with headers encoded as quoted printable),
and in ConvURLsString.
- Add files_by_thread option.
Peter McCluskey (August 20, 2002)
- Change preferedcontent to fall back on type "text/" or on encoding if
it can't find any prefered types.
- Fix mdecodeRFC2047 to decode headers of any length (removing 128 byte limit).
- Add classes to default stylesheet to set colors of headers, standard links,
and of quoted text according to quote nesting depth.
Peter McCluskey (August 16, 2002)
- Fix bug internal error in crossindexthread2 resulting from message with
unterminated mime.
Peter McCluskey (August 11, 2002)
- Add Norwegian language support from Bosse Klykken.
Peter McCluskey (August 7, 2002)
- Add contrib/msg2hypermailarchive.py from Bernhard Reiter.
- Add antispamdomain option from Vincent McIntyre.
- Add delete_newer option.
Peter McCluskey (August 3, 2002)
- Fix expires option to work in incremental mode.
- Add delete_older option.
========================
HYPERMAIL VERSION 2.1.5:
========================
Peter McCluskey (July 31, 2002)
- Release version 2.1.5 tar file.
Peter McCluskey (July 22, 2002)
- Apply gdbm patch from Bernhard Reiter, mainly altering messages.
- Apply German language patch from Bernhard Reiter.
- Apply haof patch from Bernhard Reiter.
Peter McCluskey (July 15, 2002)
- Fix some missing links to multipart attachments with save_alts option.
Peter McCluskey (July 11, 2002)
- Add base_url option, and warning about it being needed when the
latest_folder option is used and the folder_by_date option contains a '/'.
Peter McCluskey (July 8, 2002)
- Fix endless loop that save_alts option often produced.
Peter McCluskey (June 18, 2002)
- Applied changes from Carlos Martn Ugalde to Spanish text.
Peter McCluskey (June 13, 2002)
- Fix call to compute_quoted_percent so that it doesn't crash on deleted msg
with incremental update.
Peter McCluskey (May 14, 2002)
- Add spamprotect_id option.
Peter McCluskey (Apr 26, 2002)
- Changed to convert ampersands in urls to &.
Peter McCluskey (Apr 22, 2002)
- Add Greek language support from Akis Karnouskos.
- Surpress <p> within <pre>.
Peter McCluskey (Mar 22, 2002)
- Fixed to rewrite old messages that have new replies (some links to
replies/next in thread had been missing for overwrite=0, increment=0,
and also for linkquotes = 1).
- Updated configure to reflect Daniel's changes to fix --without-gdbm
in configure.in.
Peter McCluskey (Mar 19, 2002)
- Increase MAXSTACK from 20 to 200.
Peter McCluskey (Feb 4, 2002)
- Fix to avoid converting strings like ftp://user@host.com to mailto's.
Peter McCluskey (Feb 4, 2002)
- Patch from William R. Knox to add meta date tag.
Jose Kahan (jose@w3.org) (Jan 25, 2002)
- When a message had a charset of type US-ASCII or ISO-8959-1, it wasn't
being stored in the HTML version of the message. This could result in
a correct decoding of the message, as browsers assume a user-given
default charset in those cases.
Peter McCluskey (Jan 11 2002)
- Patch from William R. Knox to fix possible race condition in creating dirs.
Peter McCluskey (Jan 10 2002)
- Add %t substitution cookies to provide path to top folder.
Peter McCluskey (Jan 5 2002)
- Fix segfault in incremental mode with linkquotes.
========================
HYPERMAIL VERSION 2.1.4:
========================
Peter McCluskey (Dec 19 2001)
- Create version 2.1.4 tarball.
Peter McCluskey (Dec 14 2001)
- Applied patch from William King adding </li>'s.
Peter McCluskey (Dec 10 2001)
- Fix bug in chronological ordering of folders.
Peter McCluskey (Dec 6 2001)
- Applied patch from William King to fix footer links on attachment index.
Peter McCluskey (Dec 4 2001)
- Change to detect start of new message when mime boundary missing,
treat unbounded text as plain text body.
Peter McCluskey (Dec 2 2001)
- Applied patches from William King:
- DTD changed to strict.
- </p> now emitted.
- Some tags were not contained properly. Now wrapped in <p></p>.
Peter McCluskey (Dec 1 2001)
- Applied patches from William King to string function defines and gdbm
configuration.
Peter McCluskey (Nov 30 2001)
- Add Polish language support from Piotr Waskiewicz. Change some hardcoded
From's to new macro MSG_FROM, change a Date to MSG_CDATE.
- update config.sub, config.guess from ftp.gnu.org/gnu/config/.
Peter McCluskey (Nov 26 2001)
- Applied patches from William King to update man pages for body, lang
options changes, and add new domain codes.
Peter McCluskey (Nov 24 2001)
- Applied patch from William King to add lang= to <html> tag, get rid of
duplicate <em>.
Peter McCluskey (Nov 23 2001)
- Added support for locales of form en_US. Changed language code "se" to
"sv", provide warning for old code.
Peter McCluskey (Nov 22 2001)
- Applied patch from William King to create meta tag with hypermail version
number.
- better French support from Emmanuel Blot.
Daniel Stenberg (Nov 21 2001)
- Updates to congfiure and trio.
Peter McCluskey (Nov 21 2001)
- Applied patches from William King to conform better to HTML 4.01:
* remove body option, replace default <body> bgcolor=, text= with inline
style sheet (unless user-defined style sheet present).
* change <div align=...> to <div class=...>, same for <h1 align=...>
- add $BINARY, $NONPLAIN types to ignore_types option.
- add warn_surpressions option
- add unsafe_chars option
- Remove tmpname from parse.c (to get rid of warning about mktemp).
Peter McCluskey (Nov 19 2001)
- Applied patches from William King to conform better to HTML 4.01:
* remove noshade from <hr>
* change the default DTD
* escape &'s, add image/png in test.rc, hmrc.example
- Changed the fix*header() routines so that they handle incremental updates
sensibly when given a mailbox with multiple messages. In the process, I
fixed 2 problems with single-message incremental updates, one which left
out the "Next message" link, and one which created a "Reply" link that should
have been a "Maybe reply".
- Add warning for mbox that starts with different msg than gdbm file if
not using -u (overwrite) option.
- Change default for overwrite option to off.
- Fixed segfault that happened when %m parsed in header but mailto was NULL.
Peter McCluskey (Nov 18 2001)
- Folder list now sorted chronologically.
Peter McCluskey (Nov 16 2001)
- Added save_alts and alts_text options.
Peter McCluskey (Nov 15 2001)
Updated some old documentation, added some security warnings.
Peter McCluskey (Nov 14 2001)
- Changes relevant to security:
1. attachment filenames ending in .shtml get changed to .html.
2. attachment descriptions are passed through convchars to prevent html tags
from being used there.
Peter McCluskey (Nov 13 2001)
- Fixed malloc bug that caused segfault with linkquotes=1.
Peter McCluskey (Nov 12 2001)
- Update to trio-1.4 (from 1.2) to fix Alpha compile problem.
Peter McCluskey (Nov 7 2001)
- Changes to hypetombox.pl:
1. add some support for handling attachments.
2. fixed some problems arising from some tags being changed to lowercase.
3. add -S option to specify htmlsuffix.
4. changed to convert <p> to blank line (instead of to nothing).
5. additions to improve handling of archives produced linkquotes=1 option.
Peter McCluskey (Nov 5 2001)
- change parse.c to treat lines containing only a carriage return as
blank lines for purpose of deciding whether they indicate the end of
headers or a continued header line.
========================
HYPERMAIL VERSION 2.1.3:
========================
Peter McCluskey (Aug 22 2001)
- fix Makefile to clean pcre directory.
Peter McCluskey (Aug 7 2001)
- removed In-Reply-To from mailcommand default.
Peter McCluskey (Jul 25 2001)
- fix to abort before unlinking gdbm file if need it and cannot open it.
- fix latest_folder option (didn't work in incremental mode).
Peter McCluskey (Jul 17 2001)
- patch from Brian Kirkby to fix links between folders with usetable.
Peter McCluskey (Jun 26 2001)
- fixed parsing of integer/octal/switch environment variable values.
- fixed bugs in latest_folder option (includes fix from David Bau
<davidbau@hotmail.com>).
Peter McCluskey (Jun 23 2001)
- fixed FILES so that hypermail.html gets into tarballs.
Peter McCluskey (May 31 2001)
- patches from Moritz Willers to surpress empty "messages sorted by:" line,
add | after "Previous Folder, Thread view", etc.
Peter McCluskey (May 30 2001)
- changes to Swedish from peter karlsson.
========================
HYPERMAIL VERSION 2.1.2:
========================
Peter McCluskey (May 22 2001)
- change default value for avoid_top_indices to none.
- fixed make to handle pcre properly.
Peter McCluskey (May 16 2001)
- fix pathnames in inline attachments with msgsperfolder/folder_by_date
Peter McCluskey (May 11 2001)
- add filter options (using pcre regular expressions):
filter_out
filter_require
filter_out_full_body
filter_require_full_body
Peter McCluskey (May 9 2001)
- fix links to attachments in subdir index files.
Peter McCluskey (May 8 2001)
- fixed bug with incremental update that caused the index files to
ignore messages beyond set_searchbackmsgnum.
Daniel Stenberg (May 8 2001)
- Removed the last traces of mprintf.[ch] and made the trio stuff work
completely as a replacement.
Peter McCluskey (May 7 2001)
- fixes to trio configuration.
Peter McCluskey (May 4 2001)
- another fix to avoid_top_indices = folders.
- enhance show_msg_links to support links only at top or only at bottom.
- add show_index_links option to control links from message page to indices.
- add txtsuffix option
- On/Yes now converted to 1 for CFG_INTEGER options (for compatibility
with options that used to be CFG_SWITCH's)
- fix append option so that it handles uuencoded attachments and
mdecodeQP() calls correctly.
Kent Landfield (May 4 2001)
- corrected compilation issue for Sun CC in string.c
- corrected check for set_custom_archives in hypermail.c
Peter McCluskey (May 1 2001)
- convert mprintf calls to trio calls
Peter McCluskey (Apr 27 2001)
- allow incremental update with folder_by_date on empty archive, improve
error messages for missing gdbm file with folder_by_date, incremental update.
Peter McCluskey (Apr 26 2001)
- fixed so that avoid_top_indices = folders works.
Peter McCluskey (Apr 24 2001)
- fix urls at end of index page with folder_by_date.
Peter McCluskey (Apr 20 2001)
- patch from Hisashi Gotoh <gotoh@horae.dti.ne.jp> to fix message/rfc822
handling with showhtml = 0.
========================
HYPERMAIL VERSION 2.1.1:
========================
Peter McCluskey (Apr 18 2001)
- changed configure script to check several directories for gdbm.h,
provide --with-gdbm=DIR option.
Peter McCluskey (Apr 16 2001)
- added patch from David Eisner <cradle@glue.umd.edu> to prevent subject
matching on subject lines which have no Re:.
- made hashreplylookup use the same code as hashreplynumlookup (fixes
missing "Maybe in reply to" links in some messages.
- made find_quote_prefix more cautious about recognizing nonstandard
prefixes as quote prefixes (affects linkquotes and showhtml=2 options).
Peter McCluskey (Apr 14 2001)
- add missing <ul> when set_show_msg_links == 0, pointed out by
Emre Bastuz <info@emre.de>
Peter McCluskey (Apr 13 2001)
- fixed portability problem in strcasestr.
- fixed custom_archives to handle NONE properly.
- removed a poorly thought out maybereply check in crossindexthread2
that was apparently dropping some messages from the thread list.
Peter McCluskey (Apr 12 2001)
- convert html tags for monthly_index, yearly_index to lowercase.
- fixed indexing error in getname reported by David Eisner <cradle@glue.umd.edu>
- fixed set_usegdbm compile error reported by Daniel.
- fixed parentheses in printattachments
Peter McCluskey (Apr 10 2001)
- Add check for *html deleted, gdbm index still present.
- fix count of messages.
- sped up linkquotes 2.5x by better mallocs
- replaced strcasestr with faster one from glibc via Scott Rose
- PushNString, PushString speedups
- fixed bug in parseemail (faulty sscanf return value check) that
added bogus strings in odd mailto's.
Peter McCluskey (Apr 9 2001)
- add new options: deleted, expires, delete_msgnum, delete_level
- togdbm args: fix misuse of secs_to_iso which made
email->date == email->fromdate
- fix subdir bug with thread_file_depth
- fix threading bugs with linkquotes
- fixreplyheader with linkquotes bugs fixed
Peter McCluskey (Apr 6 2001)
- patch from Hisashi Gotoh <gotoh@horae.dti.ne.jp> adding iso2022jp option
and fixing bug when config file not found.
Peter McCluskey (Apr 5 2001)
- fixed faulty urls in thread index files in subdirs with folder_by_date,
msgsperfolder
Peter McCluskey (Apr 3 2001)
- changed htmlfilename, articlehtmlfilename to allocate mem dynamically.
- redid config section of hypermail.html to describe some of the most
important options and refer to hmrc.html for a full description.
Changed style of hmrc.html, added folder_by_date mention to
hypermail-faq.html.
- fixed typo in FILES.
========================
HYPERMAIL VERSION 2.1.0:
========================
Peter McCluskey (Mar 31 2001)
- fixed core dump with showhtml=2 created by yesterday's checkin.
- added isodate, gmtime options.
- bug fixes to mime decoding and to libcgi/form_ent.c from
Greg Shenaut <greg@bogslab.ucdavis.edu>
- add fixhtime.pl (changes timestamps to match From:)
Peter McCluskey (Mar 30 2001)
- Reorganized hmrc.html.
- Add options to split archive into subdirectories:
folder_by_date
msgsperfolder
latest_folder
describe_folder
avoid_top_indices
Peter McCluskey (Mar 22 2001)
- Enabled attachments index file, added sublists of attachment
names and file sizes.
Peter McCluskey (Mar 22 2001)
- Fixed problem with GDBM defines.
- Improved speed by replacing O(N^2) code in these functions with
code that is at least typically close to O(N):
addreply, crossindexthread1, crossindexthread2, nextinthread,
writearticles (if set_showreplies)
Accidentally improved threading under linkquotes option in the process.
Overall performance probably scales up linearly with the number of
messages under normal conditions (but not with linkquotes, which has other
performance problems as well). Code is ifdef'd under FASTREPLYCODE for now.
Peter McCluskey (Mar 19 2001)
- Added new usegdbm and append options from Scott Rose.
Peter McCluskey (Mar 14 2001)
- Added avoid_indices option.
Peter McCluskey (Mar 13 2001)
- Sped up by balancing the datelist tree a bit (it had been virtually
a linked list) and by removing redundant call to nextinthread.
Peter McCluskey (Mar 12 2001)
- Added contrib/cron_hypermail
- Added some files in contrib and tests/mboxes to FILES.
Peter McCluskey (Mar 2 2001)
Added features originally implemented in critmail. New source files:
finelink.c
finelink.h
quotes.c
search.c
search.h
txt2html.c
txt2html.h
New options:
- showhtml: new option value 2 gives richer conversion to html borrowed
from txt2html.pl.
- monthly_index: create additional index files broken up by month.
- yearly_index: create additional index files broken up by year.
- thread_file_depth: break the threads index file into multiple files,
roughly one per thread.
- linkquotes: creates fine-grained links from quoted text to the text
where the quote originated. It also improves the threads index file
by more accurately matching messages with replies.
- searchbackmsgnum: with linkquotes and -u, speeds up processing, with
some risk that linkquotes won't find all links it should.
- link_to_replies: generate links from original quoted text to the
location(s) in replies which quote them.
- quote_hide_threshold: If the linkquotes option is on, replaces quoted
text with links in messages which quote too much.
- quote_link_string: with quote_hide_threshold, use this text in place
of first line of quoted text.
Peter McCluskey (Feb 20 2001)
- replaced the bodymailcommand with the following, to be more compatible:
* mailcommand - works as before unless replymsg_command specified
* replymsg_command - used for sending a reply to the list; if not specified,
is set to the value in mailcommand for compatibility with old .hmrc's
* newmsg_command - used for sending a new message to the list
========================
HYPERMAIL VERSION 2.0.0:
========================
Peter McCluskey (Feb 19 2001) applied patches from "W. Tasin" <tasin@fhm.edu>
- some changes in the german translation
- if a Content-Base is found set content=CONTENT_IGNORE because it is on
another server and it would never be parsed well inside the mail...
(this is more a workaround than a good patch... a better way would be to
include this to every link inside the content... to show up also this
external site... but I think it is an easy way to handle this problem)
- add NONE as value for set_mailcommand, so "New Message" will not be shown
- improve handling of inline attachments after signature.
- prevent "(no email)" in emailaddr from becoming mailto.
- add option set_bodymailcommand to configure mailto's other than one
used in MSG_NEW_MESSAGE or MSG_REPLY.
- changes to makemailcommand to prevent (nil) from showing when no Subject:.
Daniel Stenberg (Jan 3, 2001)
- Added checks for more functions in the configure script
Ashley M. Kirchner (May 31, 2000)
- I converted all uppercase HTML tags to lowercase in the main hypermail
base source. Stuff that got contributed (under the contrib directory)
were not touched. I'm going to leave those for their respective
contributors to change.
Daniel Stenberg (daniel@haxx.nu) (May 25, 2000)
- Added 'spamprotect' as a new flag. It replaces @-letters with "_at_" to
confuse spam-email-robots a bit.
- Found a terrible bug when an URL contains a @-letter, since it'll first
become <href>-tagged and then <mailto>-converted... :-/
- Added https:// as a recognized URL type (deja-vu, didn't I do this before?)
- Corrected the alternative parser not being reset at the end of all mails
Daniel Stenberg (daniel@haxx.nu) (May 23, 2000)
- Corrected the output on %> appearences in the template files
- Applied the beauty fix supplied by Darryl Lee <lee@darryl.com>
Daniel Stenberg (Apr 10, 2000)
- I made %<unknown letter> in printfile display exactly as used the other
day. Today I changed my email address all over!
- Added https:// to the recognized URL types to <a>-ify
Jose Kahan (jose@w3.org) (Jan 17, 2000)
- The quoted printable decoding didn't take into account the
ietf-mbox option.
Jose Kahan (jose@w3.org) (Dec 24, 1999)
- Removed an invalid </A> tag when using tables.
- When using the showhtml option, invalid HTML was generated in the
headers: <P><P> before the </PRE>.
- Stopped the generation of a Mailto on msgid's.
- Rearranged the format of the index and messages when not using
tables. My aim was to make the format more symetrical.
- Added a new item, "Mail actions", in the control menu. This item
is only active when using the mailcommand and hmail options, and
when the tables are turned off. This option duplicates the one found in
the table.
- Added two new options for linking external stylesheets to the index
and the messages, respectively: icss_url, mcss_url. The link is added
as a META element in the header.
- The default value of the mailcommand mailto: had some typos: non
escaped chars, use of reply-to instead of in-reply-to.
- Two protections were missing to avoid having empty HREFs when the
about and archives options were defined in the .hmrc file, but wihout
any given value.
Jose Kahan (jose@w3.org) (Dec 15, 1999)
- The inline changes from 29/Nov had the side effect that other
inline attachments, like text/html were being linked like inline
images.
Kent Landfield <kent@landfield.com> (Dec 8, 1999)
- Bjarni R. Einarsson <bre@netverjar.is> pointed out that the
"Reply:" and "Maybe Reply:" output was not correct. pcm@rahul.net
(Peter C. McCluskey) submitted a patch that fixes them as well
as the current threading allows.
Kent Landfield <kent@landfield.com> (Dec 7, 1999)
- Added hoaf-28 python index generator written and contributed
by Bernhard Reiter <bernhard@climate2.geog.uwm.edu> to the basline.
- Added ls2mail script written by David Kilzer <ddkilzer@ti.com>
to the basline.
- Converted libcgi.doc to libcgi.html.
Kent Landfield <kent@landfield.com> (Dec 1, 1999)
- hypermail-2b28 rolled.
Kent Landfield <kent@landfield.com> (Nov 29, 1999)
- Corrected a parsing error in parsemail when dealing with
attachments. If the filename was "quoted" things worked
properly. If the filename was not quoted then the name
of the attachment was dropping the first letter of the
filename and adding '_' to the end.
- Corrected a conditional statement that was limiting storage
of 'inline' types to only recording inline types that were
of type image/.
- Changed strstr usage when searching MIME headers to
use strcasestr instead as the case sensitivity was
getting in the way.
Kent Landfield <kent@landfield.com> (Nov 28, 1999)
- Inconsistencies in write* routines called in hypermail.c
pointed out by Bernhard Reiter <bernhard@uwm.edu>. set_*
variables were used but still passing values in with the
function call. Removed unneeded parameters.
Kent Landfield <kent@landfield.com> (Nov 22, 1999)
- The .hmrc resources didn't seem to override the default values, but
rather got added to them. This was corrected for list usage. If
a list value is set in the .hmrc file, it should completely replace
the default values. This need only occur on the first occurance
after the builtin initialization.
- Jeff Katcher pointed out 'At the bottom of index.html and date.html,
"Last message date:" is output twice. It's only present once on the
author and subject pages.' This has been corrected so it is only
printed once.
Jose Kahan <jose@w3.org> (Nov 23, 1999)
- A typo in setup.c:PreConfig gave problems (memory overwrite) when
dealing with CFG_LIST configuration options.
- uudecode wasn't working with the ietf-mbox option.
Kent Landfield <kent@landfield.com> (Nov 22, 1999)
- Error in setting of defaultindex in configure.in caused no index.html
file to be created. configure.in was corrected to set the default
index to "thread" instead of thread.html.
- Added .indent.pro files to FILES file.
- Added "-p" option to mkdir so all parent directories will be made if
needed.
- Added requests to TODO file.
Kent Landfield <kent@landfield.com> (Nov 17, 1999)
- hypermail-2b27 rolled.
Kent Landfield <kent@landfield.com> (Nov 17, 1999)
- Changed the install dependencies for the Makefile.in files
so that install-sh is used through out.
- Assured all includes are checked for in configure.
- Updated FILES
- Corrected dependencies on defaults.h
Kent Landfield <kent@landfield.com> (Nov 14, 1999)
- Corrected CFG_LIST storage of defaults other than NULL in
the function ConfigAddItem().
- Assured struct hmlist variables set_text_types,
set_inline_types, set_prefered_types, set_ignore_types,
and set_show_headers set to NULL initially. Othewise
add_list was checking garbage when called from ConfigAddItem().
- Reworked some of the defaults in setup.c
- Added a dump_configI() routine to print out all internal variables
for debugging. Use #ifdef DEBUG to get it included.
- Removed unused defines in setup.h
- Added defaults.h.in so sites could setup reasonable global defaults.
- Added additional configure support for setting defaults for
language, htmlsuffix, defaultindex and domainaddr in defaults.h.
- Added cleanup of defaults.h and mail-archive test directory to Makefile
- Removed old method from Makefile.in and lists.h in the archive directory.
- Regenerated configure from configure.in.
- Regenerated the dependencies in src/Makefile.in
- Removed some #if 0 code in date.c
- Changed strdup calls to strsav calls in getname.c and mail.c
- Cleaned up html page output if usetable was selected.
- Removed unnecessary variable passing into the writedates(),
writethreads(), writesubjects(), writeauthors() routines.
- Freed up memory alocated for configfile variable.
- Removed unneeded variables in hypermail.h (previously #if 0'ed)
- Updated README a bit.
- Updated Changelog
Kent Landfield <kent@landfield.com> (Nov 11, 1999)
- Removed strdup declarations that were causing gcc to fail
on certain systems.
- Added French language support contributed by Nicolas NOBLE
<pixels@chez.com>
- Updated documents about "is" and "fr" language support.
Kent Landfield <kent@landfield.com> (Nov 9, 1999)
- Added checking the return value of getpwuid() in readconfigs. If
the value is NULL then see if the $HOME is set in the environment.
This avoids a crash for Win32 users who don't bother to set up
/etc/passwd in cygwin environment.
- Added support for proper naming of executables (hypermail on
Unix hypemail.exe on Dos/Windows/NT).
- Corrected getlocaltime so it would not print the timezone twice
if the timezone was also specified in the dateformat directive.
- Corrected print.c so From: is printed when the email address
is the same as email name.
- Removed tests/testhm from the baseline. Replaced it with testhm.in
so configure can generate the proper path to the test hypermail
executable.
- Modified configure.in so that it can determine if it is running
in cygwin environment. Added tests/testhm.in support.
- Removed acconfig.h from the baseline as it is no longer needed
with the current configure changes.
- Assured destination directories exist for all installed files.
- Added uninstall option in makefiles.
- Cleaned up the docs/Install-win32.txt to reflect the changes made.
Bjarni R. Einarsson <bre@netverjar.is> (Nov 5, 1999)
- "is" message table translation.
- Added a stripsubject feature to hypermail, which
makes it remove all occurances of a given word from the subject line,
which is really useful for un-cluttering the subjects of some mailing
lists (my lists all have their subjects prefixed with [listname]: -
which is quite redundant in an archive).
Jose Kahan <jose@w3.org> (Nov 4, 1999)
- Cleaned a bit the HTML format as well as the arranging of the indexes,
to make them look a bit more coherent.
- Commented the code that assumed we have an HTML text when finding a
line with <HTML>. The best way is to send HTML text using a correct
content type.
- New configuration option, custom_archives, that allows to define
a proprietary HTML text to be shown in the Other mailing archives
item.
- New configuration option, ietf_mbox, for parsing IETF-formatted mboxes
(see the doc).
Jose Kahan <jose@w3.org> (Nov 2, 1999)
- When using the showhtml option, </PRE> tags were being added to each
line of the signatures.
Martin Schulze <joey@infodrom.north.de> (October 27, 1999)
- Some where the showheaders functionality was lost. It has been
partially added in. The 'hm_show_headers = list_of_RFC_Headers_to_display'
functionality did not work and has been corrected.
- If the show_headers directive contains the special character ``*'',
hypermail will display all header lines.
- Hypermail 2.x can now read hypermail 1.02 config files. Needed
to assure minimal impact of existing sites that use the older
version of hypermail.
- hmrc.4 and hypermail.1 have been updated.
Kent Landfield <kent@landfield.com> (October 27, 1999)
- Edited documentation to the text more readable by using two spaces
after a fullstop.
- Cleaned up prototypes so they are consistent through out the include files.
- Found many locations where a local variable was shadowing a global
variable. Renamed certain variables to assure no compiler confusion.
- Extended the warning switches in WARNINGS in the Makefile.in.
Kent Landfield <kent@landfield.com> (October 23, 1999)
- Added additional checks in configure for the operating system. Set -Ae for
HP-UX and added checks for functions in libsocket and libnsl. Added sanity
checks to assure you are on the same machine if you are using the existing
config.cache and added acconfig.h config.guess config.sub support files.
Additional cleanup to configure.in and a regenerated configure script.
Scott Rose <srose@direct.ca> (October 20, 1999)
- When a URL has trailing punctuation, it is almost certainly not part of
the URL. This version of parseurl() therefore excludes trailing
punctuation from URLs it finds.
- If the content-description of a message was empty, and at the end of a
line, the link to the associated attachment was anchored on null text.
Fixed to assure the text is anchored on the filename in the generated HTML.
Scott Rose <srose@direct.ca> (October 19, 1999)
- Added contrib/canonicalize.pl
Comparing two archives is complicated by the fact that each message is
marked by the time at which it's archived. Attached is a script that
standardizes that date, if weakly, useful for such comparisons.
- Added contrib/hyperfeed.pl
Feed messages from an mbox into hypermail one at a time so as
to test the incremental mode of hypermail.
- The idea here is that we are zipping along through an mbox, gathering
information about a message, when we encounter a "From " line that signals
the start of the next message. A side effect is populating dp with the
date from that "From " line. In the existing code, that value is copied
into fromdate[] just before the old message is hashed, which causes it
to be associated with the previous message. This caused different output
depending on incremental or mbox updating. This patch corrects that
by moving the date copy until after the addhash function is called.
Kent (October 18, 1999)
- Updated parseurl fuction as done by Scott Rose <srose@direct.ca>
provided 25% faster processing than the existing version while
maintaining the same functionality.
Kent (October 8, 1999)
- Changed msg2archive.c to be able to use the command line
- Made changes to runtest to assure msg2archive could be tested.
- Added the indent file .indent.pro in archive, src and lib.
- Ran indent on all sources in archive, src, and lib.
- Made changes to configure.in to better support libsocket.a
- Corrected configure.in check from gethostbyname to gethostbyaddr.
- Added configure check for inet_addr
- Added addition header checks and function checks in configure.in
- Regenerated config.h.in with autoheader
- Regenerated configure with autoconf
- Updated the source files to use the HAVE_* definitions in config.h
- Minor editing on the README
- Minor updates to the TODO file and Changelog file.
- Updated KNOWN_BUGS with the content of tests/Problems
- Removed tests/Problems from the baseline as it was duplicating
KNOWN_BUGS
- Removed src/Formatting from the baselien as it was a junk working
file of mine that should never have been baselined originally.
- Added tests/mboxes/embedded.msg as a test file and updated
tests/testhm to exersize it.
- Removed the listing for tests/Problems and src/Formatting, while
adding tests/mboxes/embedded.msg to the FILES file.
- Added the corrected version of hypetombox.pl done by
Peter McCluskey (pcm@rahul.net) to the baseline.
Jose (October 7, 1999)
- Changed the HTML DTD string of the generated strings to HTML 4.0
Transitional.
- Updated the doc to correspond to the suppression of the
options's hm_ prefix. Made the doc's HTML documents valid HTML 4.0 docs.
Kent (September 20, 1999)
- Cleanup of prototypes.
- Removed the generated getdate.c from the baseline. (Generated
from getdate.y.
- Purified and removed array bounds read problems.
Daniel (September 17, 1999)
- Applied language patches from Jyrki Kuoppala <jkp@kaapeli.fi>
- Applied Kent Landfields lots of changes. getname() is reverted to an older
version since the newer did out-of-bounds reads.
- Paul Haldane's fix is applied.
- Peter C. McCluskey <pcm@rahul.net> suggested fixreplyheader() correction
has beed applied.
Daniel (September 13, 1999)
- Kent Landfield found a bunch of weirdnesses that were corrected, in:
* threadprint.c/print_all_threads()
* print.c, makemailcommand() usage
Jose (September 8, 1999)
- (This is a big commit as I'm merging my independent developments into
the public hypermail tree, which I'll use from now on)
If there's a Content-Description header, we now use it to describe
MIME attachments (unless they are inlined).
Two new options (see the hmrc.4 or hmrc.html file for more info):
+ hm_uselock to turn off hypermail's internal locking mechanism
+ hm_usemeta to store the content type of a MIME attachment in a
metadata file (also available thru commandline option -M)
If the usemeta option is turned on, the Content-Type header of an
attachment is stored in a .meta directory (see hmrc.4 or hmrc.html for
more info).
Files where MIME attachments are now prefixed with a two-digit counter,
a la dd-name. This is to avoid having having to create temporary files,
and to preserver links. The counter is incremented for each attachment,
regardless of it's being inline or not. I disabled the call to emptydir
as it's not useful (will add it as an option later on).
External MIME attachments that don't have a filename, are given the name
dd-part.
Improved handling of MIME rfc822 attachments.
Improved handling of Content-Disposition
Ashley (September 7, 1999)
- Added configure options for --httpddir, --cgidir and --htmldir with
Apache's layout as the default (/usr/local/apache)
Daniel (August 23, 1999)
- Removed the 40-letter limit for subjects in the thread-index when
the table option was enabled.
jose.kahan@w3.org
- When the boundary is declared without quotes, parse.c failed to get it
properly.
- print.c: There was a missing <PRE> and this resulted in a not-readable text
Daniel (August 10, 1999)
- I hade a terrible bug that made the attachment directories to get created
relative the wrong directory! They were also not getting the proper
permissions set.
Tim Witham <twitham@pcocd2.intel.com> (August 10, 1999)
- Had to fix a realloc() with NULL pointer which sunos doesn't handle.
2a24
====
Daniel (August 9, 1999)
- I'm consider renaming the series of archives that I'm releasing, back to
the beta label. It would be more correct. Kent is with us again and I
don't think anyone is gonna continue on the now forever sleeping
beta-series. This seems to be the one and only hypermail development
branch and I believe we now have it stable enough.
- 'attachmentlink' is a new config file item that controls how attachments'
links are made. By using this you can make a wrapper cgi script on your
server that issues a warning to the user that it may be dangerous to run
attachments or whatever you think is appropriate. Default it behavs as it
used to do before this feature was added.
Daniel (August 8, 1999)
- Applied Jose Kahan <Jose.Kahan@inrialpes.fr>'s patches:
The alternate content parsing was broken in that you couldn't give a list
of preferences. Also, if you first parse an alternate with a low priority,
then another one with a higher priority, the memory and, eventually, files
created to store the former alternate content weren't erased.
I found a minor bug. When decoding messages with multiple MIME
attachments, the decode variable (where the content encoding format is
stored), isn't updated.
Daniel (August 6, 1999)
- Fixed the subject overflow
- Made attachments get saved in their own subdirectories.
2a23
====
Daniel
- I'm making a release out of this now since I'm off for a longish
vacation next week...
Paul
- Applied Tom van Alten's patch to correct improper formatting
of messages when hm_showhtml = 0 and showheaders = 1.
- New code to (optionally) accept messages wth no msgid. Default
is to require msgids in all messages - use hm_require_msgids = 0
to avoid this check.
- Made handling of duplicate msgids optional. By default duplicates
are discarded. To accept them (replacing the msgid with a generated
msgid) use hm_discard_dup_msgids = 0.
- Check return value from addhash when reading old messages. Messages
already archived should be valid but safer to check.
2a22
====
Daniel
- Applied a boundary parsing bug correcting patch supplied by
Andreas Fuchs <asf@ycom.at>
Paul Haldane
o (May 16th 1999)
1) changes to the way we construct threadlist (so that all the messages
that should be in the thread are included even if they don't have valid
in-reply-to headers)
2) changes to threadprint.c - simplification of print_all_threads. Now
uses the information in threadlist to find the relationship between
messages. This speeds things up a bit when adding single messages to
large archives (I saw a reduction from 28s to 18s for adding a message to
a 1,100 message archive). Slight speed-up when converting large archives
- not as noticeable as a large part of time now seems to be in fopen().
I've updated/added some comments.
I've added msgnum to the reply struct - this is just a copy of msgnum in
->data->msgnum - this was intended as an optimisation but I suspect it
doesn't make much difference.
Threading is now much better (well, I would say that wouldn't I :->). it
still gets things wrong occasionally - often not really its fault. Known
problems include
1) duplicate message-ids - results in messages being attached to the wrong
thread - actually found an instance of this in my test mailbox. The
obvious heuristic to avoid this would be to compare the subject as well,
though this breaks threads where the sender has deliberately changed the
subject but intends to continue the thread.
2) occasionally gets messages in the wrong order because they get attached
to different sub-threads - wouldn't happen if MUAs used in-reply-to.
I've done a quick tweak to duplicate msgid handling in addhash. Now
replaces duplicate msgids with a locally constructed one. This keeps
things happier.
2a21
====
Daniel
o (May 12th)
- Added the tests/stdintest.pl script. It is a small perl hack that passes
a series of generated mails into hypermail on stdin. One by one. I've
got reports about bugs in that area, but I can't seem to repeat any
with this tool. I thought I'd better include this here anyway to better
enable others to run more torture tests on hypermail.
Paul Haldane
o (May 6th)
- Here's a patch that allows the user to decide on the format used to
present dates on the generated pages. If dateformat is set then it uses
that (that's the new functionality) otherwise it uses the standard
format or euro format depending on the config file.
I've not given the option to use the date string as originally given in
the mail message. This could be done without too much hassle.
Daniel
o (May 5th)
- Corrected a crash in parse.c
- Added a missing "From:" in print.c
- Made the bin-names get prefixed with "att-" too.
- Adjusted getname() to skip all starting white spaces and quotes, and
to skip trailing quotes as well as white spaces.
o (May 4th)
- Attachment names could miss the first letter.
2a20
====
Daniel
o (May 3 1999)
- Implementing my new From:-parser into the new source file: getname.c.
This should hopefully not only be much better at parsing from lines,
but also to it in a more stable manner.
- Found some additional problems with From-lines I've tried to correct.
Like a single-mail archive or mails with no From:-lines at all.
Ron Brogden <rb@islandnet.com>
o A small correction to hypermail.c lets it compile properly on sunos 4.
2a19
====
Daniel
o Now I prefix filenames with "att-" when I save attachments.
o Several errors correct, most of them by Paul Haldane.
2a18
====
Daniel
o (Apr 7 1999)
- Added 'locktime' as a configurable item. It defines the maximum number
of seconds to wait for an existing lock to dissapear before it is
overridden. If this is 0 or less, the lockfile will lose its power
completely. locktime is 3600 by default.
- I made the 'indextable' option work as Glen Steward wanted it to (that
March 30 patch apply wasn't such a big hit). You can either set
"indextable = on" in the config file or use the -T command line option
to get the indexes in "table" version.
Paul Haldane
o (Apr 7 1999)
- Major date-parsing re-arrangement. getdate.c added, lots of functions
patched. Speed improvements.
2a17
====
Daniel
o (Mar 30, 1999)
- First atttempt at applying Glen Steward's table patches. It wasn't
a complete success but it can be adjusted from here.
o (Mar 29, 1999)
- Ashley M. Kirchner found a silly bug that occured if the last mail
in the box was a double message-id (or similar that makes that
particular function return NULL).
o (Mar 25, 1999)
- Threaded index seems to work yet again!
- Paul Haldane <Paul.Haldane@newcastle.ac.uk> brought me lots of
various patches that made hypermail do better!
o (Mar 25, 1999)
- Corrected the problem with "re: subject" and "subject" being sorted
differently. The explanation was that the "re:" subject had a space
left in the beginning of the string!
o (Mar 25, 1999)
My giant work of redoing things now finally seems to work a little at
least. What's been done the last week:
- All emails now get only ONE single struct allocated for it.
- Remade the hash stuff. Hashed entries in the table only stores a struct,
links it in the list and POINTS to the email struct.
- Added a hash on the 'inreplyto' string to better enable finding mails
a mail replies to.
- Rewrote the whole darned threaded index functions. threadprint.c is a
new source file for threaded index functions.
- All indexes will now have full access to the complete email struct and
will thus enable dates all over etc. This will enable me to introduce
a template feature for how to write an entry in an index. I.e what to
include for each entry, subject, author, date, charset, bla bla bla...
- Changed the way single mail's "next in thread" links are found.
- As a "side-effect" I added a filter to prevent the same message ID
twice. The reason for this is that it is more likely for it to be able
to screw up the threading if I allow them to co-exist.
o Ashley M. Kirchner <ashley@pcraft.com> works on the bug report web.
o (Mar 15, 1999)
Roman Shterenzon <roman@xpert.com> pointed out a bug in the HTML-reader
that made hypermail crash if the variables were set to "". I mailed back
a patch to him I think will correct this problem.
2a16
====
Daniel
o (Mar 14, 1999)
"text_types" is now a recognized config file item, where you can specify
MIME types that should be treated by hypermail _exactly_ as if they were
text/plain.
o Corrected the list-check routine, so that the items in the list are the
ones using wildcards. This means that suddenly, all those mime-list items
support wildcards!
o (Mar 13, 1999)
Craig A Summerhill <craig@cni.org> found a bug. It turned out to be the
fact that parse.c wronly assumed content-type text/plain to use
ENCODE_NORMAL. It was really silly, since the Content-Transfer-Encoding
header could've already appeared and stated another encoding!
o Adjusted configure.in to do a slightly better -libnsl check.
o (Mar 11, 1999)
CVS server is up again. Added the UPGRADE file to the tree. Thanks to
Glen Stewart.
o (Mar 10, 1999)
Pretty extensive re-write of parse.c to deal with the
"Content-Disposition" headers better. That line can give a hint whether
the file should be stored as a file or showed inlined. It can also
have the filename (RFC1806 for details).
o (Mar 10, 1999)
The CVS server is down due to admin work there.
o (Mar 10, 1999)
Fixed parseurl(). It now deals with <www.foobar.com> and similar
constructions better. Craig A Summerhill <craig@cni.org> reported.
o (Mar 8, 1999)
Corrected src/Makefile.in to not use options.h anymore!
Roman Shterenzon <roman@xpert.com> made me aware of this.
2a15
====
Daniel
o (Mar 5, 1999) Made "text" equal text/plain in content-type: header
lines.
o Removed options.h completely to reduce the number of mistakes from
people trying to edit it!
o (Mar 4, 1999) Applied Glen Stewart's patch to remove a few <li> tags.
o Bailey, Raymond <bailey9@MARSHALL.EDU> pointed out a problem in the
getname() function. When you got a mail with a From: line where there
is a name within quotes that were "attached" to the email part without
spaces in between as in "name"<email@email.com> the parser failed to
get a name part of this and caused hypermail to dump core.
o Alisdair Davey <ard@mithra.physics.montana.edu> Helped me point out
a bug in mprintf.c. It made the *printf() routines fail on %.*s
constructions. I am considering an upgrade of the mprintf stuff to
my newer "trio" stuff...
o Made %f insert the file name of the generated HTML file in headers
and footers.
2a14 Pl 2
=========
Daniel
o Removed a bug that occured when converting a mail into html that had
a "in-relpy-to" header but the replied-to mail was not present in the
mailbox.
2a14 Pl 1
=========
Daniel (now CVS'ed at cvs.hypermail.yeehaw.net:/cvs/hypermail)
o Made it de-mime headers even without the mime-version: header present
2alpha14
========
Daniel
o It should now accept white space in the beginning of config file
lines.
o SetupCleanup() bugs somehow, I'm no longer using it == dirty fix.
o Updated the "name/email" scanner.
o Total mail counter was wrong when updating.
o Renamed to alpha to avoid confusion.
2b13
====
Daniel
o Two corrections in the mprintf.c. One of them being serious
o (parse.c) now the QP decoder accepts question marks in the encoded-words
o Corrected the mprintf() replacement define in mprintf.h
o Added some more missing free()s in print.c
2b12
====
Daniel
o Now strips trailing white spaces from values in the config file if
written without quotes. Paradise Cowgirl <minerva@phix.com> reported.
o List types in the config were insanely written and caused memory
disaster at times. Byron C. Darrah <bdarr@sse.FU.HAC.COM> and
Jenni Baier <jenni@renewed.net> both probably experienced this.
o Decreased the amount of memory allocations used when building hash
tables for index sorting. (see addhash() in struct.c)
2b11
====
Daniel
o Tom von Alten <alien@hpdmlad.boi.hp.com> pointed out a really nasty bug
in fixreplyheader() I had introduced! :-(
2.0b10
======
Daniel
o %c is recognized and replaced with a charset tag in mail headers. It
should be set as early as possible within the HEAD tag.
o Saves <!-- charset=blablabla --> in articles.
o dprintf() was not a successful name, Linux uses it for some odd purpose
even in stdio.h! :-/ Renamed my line of functions to m*.
o Adjusted getname() to be slightly smarter.
o Started working at adding charset to each single mail. It should be stored
per-mail basis now, even though it is never used anywhere... It should
now make a proper META HTTP-EQUIV tag!
2.0b9
=====
Daniel
o Added a new -o option that can set any config options on the command line.
E.g set label with -o "label=my new label".
o Major rewrites of struct.c. There were just too many functions that
passed data between them by strcpy()ing them to char buffers. They now
pass char pointers in a lot higher degree. In fact, there aren't that
many strcpy()s left in the source now. Not that I notice any faster
operations, I just know it is neater code.
o I really don't like the way proto.h has *ALL* prototypes and therefore
everything is dependent on that file. I've stared to slowly extract the
protos for each .c file into its own .h file. This will allow me to
change prototype for a single function without having to recompile the
whole lot.
o Added general "Re:" - awareness functions. isre() returns TRUE if the
input string starts with a re-thing and findre() returns the position
of the first instance of re in the input string, or NULL if there is
none.
It knows and recognizes "Re:", "Fw:" and "Re[<number>]:" strings. If we
ever intend to support local variations of this, I've now made that
easier...
o The new getname() had problems with parens in the real name part when
quoted. As in
From: "Windle, Alan M. (PA62)" <test@site.com>
It shouldn't be a problem now. It should also work with from-lines like:
From: ("Windle, Alan M. (PA62)") test@site.com
There might be an idea to simply ignore everything within that level of
parentheses. I mean, not add that text to the name.
o The sorted datelist was broken because I must've destroyed unre() when I
turned it dynamic. I improved printsubjects() to deal with pointers and
it now strcpy()s a lot less data.
Did the same change to the printauthors() too.
o increment and readone are now separate options. Read stdin or use mailbox
are mutually exclusive but don't modify increment or readone. The
previous system was very confusing and didn't allow e.g updating an
archive with two mails passed on stdin!
I've now tried to update an existing archive with 3 mails passed on stdin
and it seemed to work. Works if read from a mailbox too. Even works with
the new -1 flag (to indicate there's one mail only). It has an
accompanying config file keyword named 'readone'. I think the new -v flag
is really great for this, cause it shows all built-in variables and kind
of automatically documents them!
o Ok, I wasn't aware the config file did assume quotes around the strings.
I've added support for that (too) now. Distributed this small change
to Kent, Tom and John as a patch for 2b8.
2.0b8
=====
Daniel
(Nov 24, 1998)
o So, just before I was gonna announce the b7 to the guys I got another
report from John Petrakis that pointed out two bugs. One bad free() which
he identified and one From:-line that b7 couldn't get name and email from
properly. I got really tired and rewrote the whole getname() function to
work with all the combinations mentioned in the source, and more. I think
this function also has another benefit: it is easier to read than the old
one.
o I found some other bugs with my new setup system which caused the
hm_htmlbody = NONE to not work. I am actually against that a line that
says NONE sets it to the default. NONE should be NONE, if the keyword
isn't used at all it should use the default. Well well, one thing at a
time I guess.
2.0b7
=====
Daniel (getting deeper and deeper into this now ;-)
o Entirely new config file parser. Does make adding new config items a
lot easier and smoother. Run hypermail -v to make it output a fully
working config file (after reading the given input parameters).
There is no need for the "hm_" prefix on keywords in the config file. You
can still use it if you want, but you don't have to.
Internally, all configurable variables are now named 'set_XXXXX' to better
make it visible in the code.
o readoldheaders() is a lot more robust now. The order of the variables are
not set and empty files no longer cause it to dump core.
o Hypermail from now on only stores the variables inside HTML files that
are actually set. name="" is not needed to store.
2.0b6
=====
Daniel continues:
o parseemail() and ConvURLs() needed to deal with NULLs better.
o loadoldheaders() are no longer dependent on the order of the variables
in previously written HTML files.
o Mails with no subject confused the parser.c
o Tom von Alten <Tom_vonAlten@boi.hp.com> sent me two files he appearantly
got from Kent after the b4 he sent me. (date.c and msg2archive.c)
o All kinds of lists like hm_show_headers, hm_inline_types and
hm_ignore_types now offer the below mentioned wildcards.
o Added dmatch.c for dos-style * and ? wildcard matching.
o Cleaning up more memory leaks.
2.0b5 as sent to John Petrakis 19 Nov 1998
==========================================
Daniel:
o Added 'maketgz' to the archive. It is for creating release archives,
without having to remove a lot of files first.
* first asks for the version number of choice
* uses the file FILES to know what files to include.
* updates the patchlevel.h file to the entered version number
* creates the archive with a directory based on the entered version number
* names the archive based on the entered version number
o Added a whole bunch of more free() calls.
o Inlined HTML that was base64 or uuencoded were not previously dealt with
properly.
o Mails with no Message-Id: caused a crash in the hash function.
o HM_INLINEHTML can now be set to 0 to prevent hypermail from inlining
mail parts in HTML.
2.0b4 as sent to Tom von Alten Nov 19, 1998.
============================================
Daniel:
o Dynamic strings all over. I added a generic dynamic-string system which
I think works pretty good. Using functions and macros it should also be
pretty easy to extend, modify and optimize without any other source
modifications.
I had to modify stuff all over the place and pretty much too. I hope I've
removed at least the worst uses of static buffers and my initial tests
prove me right. No lenght limits of any fields of a mail is my goal, and
I think it is a fair goal.
Beware of leaking memory now though. We need to setup some debug-system
to track them easily.
The dynamic string routines could very well be optimized too.
o My dsprintf system was added. This system offers snprintf() - sprintf with
a buffer length parameter and aprintf() - returns an allocated string with
the text. I did this to better deal with fully dynamic buffers.
o Corrected the swedish texts. All 8bit letters were gone!
o (Nov 16) I recevied the 981013-b4 version. Started work.
2.0b4
====================
Kent:
o Date routine corrections.
- Y2K capable. Hypermail used a two digit representation
for the year through out. It now uses a 4 digit representation.
- In hypermail.h, October was listed in monthdays as only having
30 days.
- hypermail did not deal with all the major date string formats.
Date: formats starting with a digit (09 Sep 1998 01:27:30 +0300)
would cause parsing and threading problems. It now supports
that format.
- Added code to deal correctly with two digit years.
The idea as to how to approach this and the basis for
the solution is thanks to Byron Darrah.
- Corrected an off by one day error in getyearsecs(). It was
adding the current day && adding the hours, minutes, and seconds
for that day as well. It only needed to count all the days UP TO
the current day and then add the hours, minutes, and seconds for
the current day.
- Incorrect data type passed to fprint_summary(), needed to be
long instead of int.
- Corrected an off by one day in getdatestr(). Days in a month
start at 1, not 0.
o Add the ability to save hypermail generated html files with any
configurable html suffix such as ".htm", ".html" or ".shtml", etc.
This works for the index files as well as the message files. (New
.hmrc variable, hm_htmlsuffix, new environment variable HM_HTMLSUFFIX,
and HTMLSUFFIX define in options.h.)
o Removed a conditional "if (use_mbox) increment = 0;" that was
preventing the ability to read one message from a file and update
an existing archive and its indexes.
o Corrected parseurl to allow for a ',' (comma) character to be embedded
in the URL.
o Corrected parseurl to allow for a '&' (ampersand) character to be embedded
in the URL.
o Using -p with -iu on a new archive directory caused a core dump
begause 'bignum' was zero. Corrected to assure bignum > 0.
o Added language abilities to hypermail.
English - en
Spanish - es
German - de
Swedish - se
initially supported. (lang.c and lang.h added.)
Thanks to Francisco Iacobelli <fiacobelli@ibersis.cl> for the
"es" message table translation.
Thanks to Martin Schulze <joey@kuolema.Infodrom.North.DE> for the
"de" message table translation.
Thanks to Daniel Stenberg <Daniel.Stenberg@sth.frontec.se> for the
"se" message table translation.
o Changed how error messages are displayed so options message
only displayed where appropriate instead of for every message.
o Corrected getname() to parse yet another funky name format.
o Corrected printing error when a invalid domain was encountered in
an email address.
o Converted some static internal buffers to dynamically allocated ones
at startup saving 6+K. Also resulted in setstrval() not being needed
so it was removed.
o Corrected MIME parsing problem with previously parsed headers.
o Corrected default labeling problem with stdin generated archives
when no label is supplied.
o Fixed hypermail so it would not crash if started with no arguments
and an article on stdin.
o Added locking to the archive so that there is less chance of corruption
of the archive due to multiple copies of hypermail trying to update
the same archive at the same time with multiple messages. This could
be improved so as to check for pid of process that owns it...
o Extended the configure support.
o Extended the use of hm_progress so that more information about
attachment files can be displayed.
o Updated documentation to reflect changes
o Corrected getname to deal with names that are all spaces.
o Corrected configuration variable setting. Moved checks to the
right place in the code.
o Hypermail now supports listproc mailboxes as well as general Unix
formated mailboxes. It does not require that a blank line exists
between mail messsages in a mailbox. Thanks to Craig A Summerhill
<craig@cni.org> for the push and the test data.
2.0b3 - 8/15/98
=================
o Added validation of domains so that the generation of mailto: is
much more accurate than the previous method.
o Added support for Content-Disposition MIME Header so as to get the
filename from the header.
o Added verification of filenames to assure they are safe to use and
will not cause filesystem problems
o Fixed a problem with parsing the ending MIME boundary (it expended headers
following that)
o Found and removed a one-byte buffer overflow in the line continuation code.
o Corrected docs/hypermail.1 and TODO to reflect the proper RFC 822
parsing was actually included in version 2.0b1
o Corrected a typo in string.c that prevented the proper generation
of mailto: links for email names with numbers [0-9] in them.
o Corrected the base64 decoder error which caused files to get an
extra zero-byte appended at times. (When storing attachments to disk.)
o Added additional ported systems to the README
o Removed the "#ifndef" from the defines in options.h. We do not want to
inherit any define values from other places. If there are confilcts
then I need to correct them. Inheriting defines can lead to unforeseen
results.
o attachments:
- comments are now generated in the output mail for each attachment
that is written in a separate file. The comment looks like:
'<!-- attachment="filename" -->' in the standard comment style.
o buffers and overflows
- mdecodeRFC2047() now has an output buffer size argument
- had to remove the use of rmcr() at two places, since that function uses
a very strict static buffer limiting the maximum line length pretty bad.
- parseurl() now features an output buffer size argument
- parseemail() now features an output buffer size argument
o multipart/alternative
- added awareness and parser "intelligence" to pick the last prefered
content-type within a series of alternatives (as MIME tells us to
do). This has not yet been very thoroughly tested.
- added the preferedcontent() function that returns wether a content-type
is prefered or not (as set with hm_prefered_types). Default prefered
type is 'text/plain' (if hm_prefered_types is unused).
o output
- added the experiment function printhtml(). It strips off unwanted html
tags from the output, even if they are used in attached HTML files. I.e
<HTML> and </HTML>.
- made 'showheaders' not use <BR> or newlines since the BRs are ignored
anyway, and the newlines are already present in each header line.
- added 'hm_show_headers' which is a list of what headers to include when
the 'showheaders' option is used. For now, it also controls which
headers to show when attached mails are shown. Although I can imagine
that you'd like separate lists (since for attached mails, you'd like i.e
subject which you may not need for the main mail itself). If
'hm_show_headers' isn't used, all headers will be shown.
- made the <PRE> system in the printbody() function a little smarter, and
now it prevents multiple </PRE> and <P> tags better. It did however
introduce another side effect (although a less serious one imho) and
that is an extra pair of <PRE></PRE> after the last attachment when
using 'showhtml'.
o parsing
- made the multi-line merger function to make all lines get a regular
white space between them when they're put together. Previously, this
character was left as-is, which could be a space or a tab (or any other
isspace()) letter.
- check changed to check for "<!-- received" as the start of parsing
previous html files in the event that the archive maintainer whishes
to add comments in the header template HTML files.
- in_list() now checks for list items case insensitive
- corrected so Message-ID:, References and Supersedes: lines are not
converted into mailto: URLs.
- corrected off-by-one in isquote that was causing array boundary read
errors.
- corrected off-by-one in printbody line output that was causing array
boundary read errors.
Real thanks are in order for Daniel Stenberg and David D. Kilzer. They helped
greatly with making this release possible by sending in enhancements, comments
and bug fixes. Thanks Guys!
2.0b2 - 6/07/98
=================
o Corrected command line processing for individual messages received
on standard input.
o Corrected formating of Next message links when incremental updating
is done.
o Corrected the template filenames in docs/hmrc.html. Added "file"
to them.
o Added additional systems to the list of ported systems.
o Reset certain options back to the proper defaults.
o Corrected problem in printbody in regards to printing HTML embedded
in a message. Still work to do here.
o Changed address options to assure I didn't get landfield.com
information inadvertantly set in hundreds of archives because
the admins just took the defaults. ;)
2.0b1 6/05/98 - Kent Landfield
===============================
WARNING: There have been too many changes to this version to list them
all here. What appears below are some of the highlights.
o Command line settings override what is in the config file. In the
past the command line variables were read and set before the config
file was read. (Needed to get the name of the config file from the
command line.) This made it hard to have a default list configuration
file and make single runs with only one variable changed. Now processing
sets the hypermail internal options by:
Using Compiled in defaults specified in options.h,
then reads Hypermail Environment variables if set,
then looks for and reads any Configuration file specified
and finally uses the Command line settings specified by the user.
NOTE: THIS IS DIFFERENT THAN PAST HYPERMAIL USAGE.
o Configurable Setting (.hmrc file) or Compile Time Variable to
Domain-ize Addresses -- addresses appearing in the RFC822 field
which lack hostname can't be made into proper HREFs when Hypermail
does it's thing. They are coded with: mailto:(no%20email)
Because the MTA resides on the same host as the list, it is
often not require to domain-ize these addresses for delivery.
In such cases, I think it would nice if Hypermail could be
programmed to output: mailto:kent@landfield.com instead.
This would probably work well as a *required* definition
during compilation; however, it should not simply rely on
the output from `hostname` in case you want to override with
an MX entry or alternate domain (if you run virtual domains)
o Added capability to have customizable index html headers, message
html headers and html footers. Able to use substitution cookies in
the header and footer template files.
Substitution cookies supported:
%% - '%' character
%~ - storage directory
%e - email addr of message author - Not valid on index pages
%h - HMURL
%i - Message-id - Not valid on index pages
%l - archive label
%m - Mailto address
%p - PROGNAME
%s - Subject of message or Index Title
%v - VERSION
%u - Expanded version link (HMURL,PROGNAME,VERSION)
\n - newline character
\t - tab character
Additional cookies generate the complete META lines:
%A - Author META HTML - Not valid on index pages
<META NAME="Author" CONTENT="name (email)">
%B - <BODY> html statement
%S - Subject META TAG - Not valid on index pages
<META NAME="Subject" CONTENT="subject">
o Generates META tags in articles Author and Subject.
o Now uses "configure" to generate the makefiles. This is rather
weak at present and needs to be added to/tested on other systems
but at least it's a start.
o The config.h was renamed to options.h to support configure usage.
o patchlevel.h added to facilitate better patches in the future. Still
need to fully integrate it's useage in version displays.
o Added example .rc files to show how to customize list's and their
looks.
o Removed the _print.c files that had existed in the 103b2 release and
replaced them with template headers/footer files.
o Extended archive path creation to make missing directories.
o Added capabilities dir pathing to allow archive creation by date
variables.
%d - two digit day of month (1-28/30/31)
%D - three letter day of the week
%m - two digit month of year (1-12)
%M - three letter month of year (Jan, Feb, ..., Dec)
%y - four digit year (1990,..2001)
RC example: hm_dir = /some/archive/listname/%y/%M
ENV example: HM_DIR=/some/archive/listname/%y/%M
Command line example: -d /some/archive/listname/%y/%M
Expands to: /some/archive/listname/1998/May
All files would be archived during that run in that directory.
Subsequent executions will put the messages in the directories
according to the date the messages were received on the archive
site.
o All "mailto:" links can include the "subject" so that the Subject:
line of netscape mailer is automatically filled in.
o Fixed "Re:" and redundant "Re:" variation && MS FW...
o Greatly enhanced getname() to correctly deal with most all email
addresses. X.400 addresses are not well supported yet.
o Corrected getreply() to better support the In-Reply-To: formats. The
routine needs to revisited when a readline routine is inserted to
properly deal with continuation lines.
o Added additional documentation describing the Hypermail configuration
file.
o Added additional documentation describing how to customize HTML
generated pages.
o Corrected many petty problems such as:
- recursive '%' substitution. A % in a subject line could cause
an ugly recursion problem in a mail command expansion.
- title length problem. Length of a title needs to be limited to
less than 64 characters as indicated by HTML specs.
- Weblinted the generated output and corrected various things.
- Removed unused and unneeded variables
o Change various storage length defines in hypermail.h
Patches Contributed From: "Roy T. Fielding" <fielding@kiwi.ics.uci.edu>
------------------------------------------------------------------------
o Fixed the umask default,
o Fixed default directory and file creation modes,
o Fixed the many date problems,
o Corrected one of the Message-ID bugs,
o Removed annoying #start/#end fragments that mess up the browser history.
Patches Contributed By: Byron Darrah <bdarr@sed.hac.com>
----------------------------------------------------------
o Added a menu bar for a header and footer on all pages and removed
the bulleted list items that it replaces.
o Reworked the general appearance of header and footer parts of html pages.
o Added the "hm_hmail" configuration parameter and -n command line
option for specifying an email address for input to a hypermail
archive.
o Added "New Message" and "Reply" buttons to the menu bar for submitting
messages to a hypermail based list.
Patches Contributed From: Jared Reisinger <feety@hhhh.org>
---------------------------------------------------------
o Fixed configfile substring problem.
o SHOWBR, IQUOTES, SHOWHR, EURODATE, SHOWREPLIES, and MAILCOMMAND
now run-time configurable.
o Fixed post leap-day error.
o More robust Message-ID parsing.
o Better SHOWHTML handling for indented lines.
o Allow IQUOTES when not using SHOWHTML.
Patches Contributed From: Daniel Stenberg <Daniel.Stenberg@sth.frontec.se>
--------------------------------------------------------------------------
o I had all calls to the decodeRFC2047() function moved to *after* the
merging of long lines.
o decodeRFC2047() now correctly concatenates two succeeding "encoded words".
I now call the function mdecodeRfc2047() since it now allocates the new
string.
o Now informs if the attachment wasn't properly decoded when stored to disk.
This happens if the Content-Transfer-Encoding specified isn't known to
the parser. When this happens, the attachment is stored as 8bit octet-
stream.
o Now supports the encoding type 'x-uue' for uudecoding. I think there are
mailers that use different names for the same encoding type so we better
watch out for them in the future...
o Added the 'demimed' field to the body struct to keep track of
header lines+ that have been RFC2047 converted already.
o Kent Landfield sent me an interesting mail that showed me several weird
bugs in the MIME area.
A. The Quoted-Printable decoder bugged. A quick fix solved that.
B. The quoted printable decoder didn't support unlimited size of the line
the encoded text decodes into. I wrote a new function that seems to do
it properly.
C. Some important headers were not properly supported if they were split
up on several lines. I had to rewrite the header parsing system to make
this work. It now scans all headers and concatenate them into single
lines before any function is trying to parse or decode them.
D. It also showed a need for a uudecoder for the 'x-uue' encode type. This
is only noted for the future as I haven't written any decoder for this
format [yet].
o decodeRFC2047 replaces the former RFC1522 function. I made it support
'encoded-words' anywhere in the line and several different ones on the
same line is now supported. The only flaw I'm still aware of now, is that
if there are two encoded-words next to each other, the result should not
show the spaces between them. My function unfortunately still does.
o renamed decodeRFC1522 to decodeRFC2045.
o decodeRFC1522 (quoted printable header decoding) didn't do well if the
ending ?= sequence was in the middle of the line. I think this function
will need more extensive testing.
o Attached mails' headers (To:, From:, Date: and Subject:) are now shown
in the html.
o Attached mails that contains attachments did force me to add a stack system
for the multipart boundary strings. Seems to work now. (Can't wait to see
an attached mail that contains an attached mail that contains ... )
o strcpymax() introduced to prevent buffer overflows on extra-long headers
o Lines starting with 'from ' messed up the parser pretty badly. It now
checks for 'From ' lines (case sensitive) with an empty preceding line
to split mails.
o Now extracts attachments to separate binary files.
o Supports multiple lined headers.
o Supports quoted-printable and base64 encoded headers.
o Supports base64 encoded text/plain
o Rewrote the URL and email parsing to allow multiple URLs and email
addresses on each line.
o Extended the original functionality to much better deal with MIMEd
mails and the standards from RFC 1521 and 1522. There are still flaws in
compliance with those but the majority of all mails using mimed texts
will be presented in a fairly decent fashion.
Patches Contributed From: David D Kilzer <ddkilzer@ti.com>
-----------------------------------------------------------
o Fixed problem with 'From: ' header lines in messages with the
following format: "From: <email@address.com>" wherein the "name"
from the previous email message would be used instead of reverting
to the address itself.
o URLs can now include ampersands (&) if they are preceded by question
marks (?) in the URL string.
o Email messages with no Subject line no longer grab the previous
email's subject.
o Reworked the order of output so that "message" links are always at
the top of the page in article pages and date/thread/subject/author
pages.
o Now escape '%' in mail URLs.
o Escape for '+' was wrong, changed to '%2B' (was '%22').
o Updated replace() function to recurse on 'afterstring' variable
rather than the whole 'newstring'. More efficient and allows '%'
escaping.
o config.h: Added configuration option for SHOW_MESSAGE_LINKS which
turns all message headers and footers off (except for the links to
the date, subject, thread and author pages). SHOW_MESSAGE_LINKS
overrides the setting of SHOWREPLIES.
o print.c (writearticles): Removed use of currentemail, currentid,
and currentsubject by forcing use of email2, msgid2, inreply2,
subject2, and name2 when calling struct.c (hashreplylookup). This
was needed after I rearranged the order in which articles were
printed.
o string.c (convurls): Added code in two locations for the
Message-Id code segment to recurse on the remaining portion of the
line being processed. Each Message-Id found forces a return from
convurls() after a recursive call. This prevents infinite recursion
(a Bad Thing generally speaking). Note: we assume that Message-Ids
and URLs/email addresses do NOT appear in the same line.
o string.c (convurls): Changed format string from "%.3d" to "%.4d".
Fixed major bug in outputting links for Message-Ids.
o string.c (convurls): Fixed assumption in code for identifying
Message-Ids that there was only one Message-Id per line. We now
stop gobbling up text used for a link with a space (' ') or a tab
('\t').
o string.c (convurls): Added int got_question_mark in URL processing
code to permit an ampersand ('&') in a URL provided it comes after a
question mark in the same URL (a GET method with POST data). Added
one line of code and changed another to accomplish this.
o string.c (convurls): Added code to check whether the next item to
URL-ize is an email address (containing an at sign, '@'). If it is,
we break out of the URL for loop and go process the email address.
o parse.c (loadoldheaders): Modified initial fgets() call to skip any
non-comment lines (i.e. "<html>" and "<head>").
o string.c (makemailcommand): Added code to escape percent signs
('%') when escaping spaces (' ') and plus signs ('+'). Percent
signs must be escaped first since other escape sequences use the
percent sign followed by a two-digit hexadecimal number. We're now
a little more MIME-compliant.
o string.c (replace): Changed the replace() function to recurse only
on the 'afterstring' portion of the URL instead of the whole rebuilt
URL. This is both more efficient and prevents infinite recursion
problems when escaping percent signs ('%') with '%25'.
o string.c (makemailcommand): Fixed escape sequence for plus signs
('+') from '%22' to '%2B'.
LOTS of other small patches from lots of other helpful people. I hope to
be able to more accurately list them in the final 2.0 version.
1.03b2 3/10/98 - Kent Landfield
=================================
o Header corrections made,
o all current memory leaks plugged,
o variable initialization corrected,
o expanded response message recognition,
o fixed many threading related bugs.
o Restructuring directory layout for ease of support and to
make adding utilities easier.
o Added additional archive utilities.
1.03b1 4/6/97 - Kent Landfield
================================
o Corrected memory leaks,
o cleaned up HTML produced,
o ran purify, lint and insight and cleaned up output.
o Added the ability to customize header/footers via crude means
but hey, it works.
1.02 8/1/94 - Kevin Hughes
============================
Fixed configfile problem, different usage() output, days[] space
fix, NODATE, stripzone() fix, insig fix, SHOWBR, SHOWHR, IQUOTES,
THRDLEVELS.
1.01 7/29/94 - Kevin Hughes
============================
Printfooter declaration, getdate() and timezone names changed
to avoid library conflicts. Bad #define fixed (null) bug.
1.0 7/29/94 - Kevin Hughes
============================
Configuration file, logic fixes, better "re:" stripping,
name tags, default index.html (HM_DEFAULTINDEX), default
directory name can be mailbox name, mailto: fix, better dates,
better error messages, numbered files are padded to four digits,
headers are always in <pre>, next in thread, maybe in reply and
maybe reply, MAILCOMMAND, EURODATE, commented source, chmods only
new files, <html>, custom mail command variables.
1.0b3 7/14/94 - Kevin Hughes
============================
Environment variables added, ampersands are converted.
1.0b2 7/13/94 - Kevin Hughes
============================
Incremental updating added and various parsing bugs fixed.
1.0b1 7/6/94 - Kevin Hughes
============================
Hypermail rewritten in C. Because the source is so new and
relatively untested, it's still considered to be in beta
until feedback from users is received.
================================================
FILE: FILES
================================================
#
# FILES: Automatically generated by mkFILES:
# - Wed Mar 20 19:50:32 CET 2013
#
##################
# Top-level files
#
Changelog
COPYING
KNOWN_BUGS
FILES
INSTALL
Makefile.in
README
TODO
UPGRADE
acconfig.h
aclocal.m4
config.guess
config.h.in
config.sub
configure
configure.ac
install-sh
ltmain.sh
maketgz
patchlevel.h
#
# - Archive directory files
#
archive/.indent.pro
archive/1998
archive/Makefile.in
archive/README
archive/lists.h
archive/mbox2hypermail.c
archive/msg2archive.c
archive/runtest
archive/test-msg
#
# - Sample configs
#
configs/hmrc.example
configs/hypermail-footer.hyp
configs/hypermail-index.hyp
configs/hypermail-msg.hyp
configs/hypermail.rc
#
# - Contributed utilities
#
contrib/hoaf-28/haof-0.1.dtd
contrib/hoaf-28/README
contrib/hoaf-28/collect_snipplets.py
contrib/hoaf-28/create_archive_snipplet.py
contrib/hoaf-28/footer_html.hdr
contrib/hoaf-28/hypermail-2b28-2b28+.patch
contrib/hoaf-28/top_html.hdr
contrib/canonicalize.pl
contrib/cron_hypermail
contrib/fixhtime.pl
contrib/hyperfeed.pl
contrib/hypetombox.pl
contrib/ls2mail
contrib/mailbox_date_trimmer/README.html
contrib/mailbox_date_trimmer/README.mailbox_reader
contrib/mailbox_date_trimmer/mailbox_date_trimmer.py
contrib/mailbox_date_trimmer/mailbox_reader.py
contrib/msg2hypermailarchive.py
contrib/runtest
#
# - Documentation
#
docs/Makefile.in
docs/archive_search.html
docs/attachments.txt
docs/customizing.html
docs/hmrc.4
docs/hmrc.html
docs/hr.yellow.png
docs/hypermail-faq.html
docs/hypermail.1
docs/hypermail.html
docs/hypermail.png
docs/index_hypermail.txt
docs/stars.png
#
# - LCC-Win32 Build Support
#
lcc/README.txt
lcc/pcre_chartables.c
lcc/config.h
lcc/pcre_config.h
lcc/defaults.h
lcc/dirent.c
lcc/dirent.h
lcc/getdate.c
lcc/hypermail_files.txt
lcc/lcc_extras.c
lcc/lcc_extras.h
lcc/pcre.h
#
# libcgi - mail suport lib
#
libcgi/.indent.pro
libcgi/Makefile.in
libcgi/cgi.h
libcgi/form_ent.c
libcgi/form_tags.c
libcgi/get_cgi_info.c
libcgi/html.c
libcgi/libcgi.html
libcgi/main.c
libcgi/mcode.c
libcgi/strops.c
libcgi/syn_mime.c
libcgi/syn_url.c
libcgi/template.c
#
# - Hypermail source
#
src/.indent.pro
src/.splintrc
src/Makefile.in
src/base64.c
src/base64.h
src/date.c
src/defaults.h.in
src/dmatch.c
src/dmatch.h
src/domains.c
src/domains.h
src/file.c
src/finelink.c
src/finelink.h
src/getdate.h
src/getdate.texi
src/getdate.y
src/getname.c
src/getname.h
src/hypermail.c
src/hypermail.h
src/lang.c
src/lang.h
src/lock.c
src/mail.c
src/mem.c
src/parse.c
src/parse.h
src/print.c
src/print.h
src/printfile.c
src/printfile.h
src/proto.h
src/quotes.c
src/search.c
src/search.h
src/setup.c
src/setup.h
src/string.c
src/struct.c
src/struct.h
src/threadprint.c
src/threadprint.h
src/txt2html.c
src/txt2html.h
src/uconvert.h
src/uudecode.c
src/uudecode.h
#
# - Source to pcre supporting library
#
src/pcre
src/pcre/pcre_dfa_exec.c
src/pcre/PrepareRelease
src/pcre/pcre32_jit_compile.c
src/pcre/pcre_ord2utf8.c
src/pcre/pcre_maketables.c
src/pcre/makevp.bat
src/pcre/config.h.in
src/pcre/pcre32_byte_order.c
src/pcre/pcre_newline.c
src/pcre/compile
src/pcre/pcre32_printint.c
src/pcre/pcre.h.generic
src/pcre/pcre32_ord2utf32.c
src/pcre/pcre32_fullinfo.c
src/pcre/pcre16_valid_utf16.c
src/pcre/pcre_study.c
src/pcre/sljit
src/pcre/sljit/sljitNativeTILEGX-encoder.c
src/pcre/sljit/sljitNativeMIPS_32.c
src/pcre/sljit/sljitNativeARM_T2_32.c
src/pcre/sljit/sljitUtils.c
src/pcre/sljit/sljitNativeMIPS_common.c
src/pcre/sljit/sljitNativePPC_64.c
src/pcre/sljit/sljitLir.c
src/pcre/sljit/sljitNativeX86_32.c
src/pcre/sljit/sljitLir.h
src/pcre/sljit/sljitNativeTILEGX_64.c
src/pcre/sljit/sljitNativeX86_64.c
src/pcre/sljit/sljitNativeSPARC_common.c
src/pcre/sljit/sljitNativePPC_32.c
src/pcre/sljit/sljitConfigInternal.h
src/pcre/sljit/sljitExecAllocator.c
src/pcre/sljit/sljitConfig.h
src/pcre/sljit/sljitNativePPC_common.c
src/pcre/sljit/sljitNativeARM_32.c
src/pcre/sljit/sljitNativeSPARC_32.c
src/pcre/sljit/sljitNativeX86_common.c
src/pcre/sljit/sljitNativeMIPS_64.c
src/pcre/sljit/sljitNativeARM_64.c
src/pcre/pcre16_tables.c
src/pcre/pcre_tables.c
src/pcre/pcre32_string_utils.c
src/pcre/pcre_stringpiece.h.in
src/pcre/libpcre16.pc.in
src/pcre/pcreposix.c
src/pcre/pcre32_config.c
src/pcre/pcre_printint.c
src/pcre/pcre_jit_test.c
src/pcre/pcre16_newline.c
src/pcre/CMakeLists.txt
src/pcre/CheckMan
src/pcre/pcreposix.h
src/pcre/pcre16_refcount.c
src/pcre/Makefile.in
src/pcre/config.sub
src/pcre/pcre32_ucd.c
src/pcre/pcre16_version.c
src/pcre/makevp_l.txt
src/pcre/pcre32_valid_utf32.c
src/pcre/pcre16_study.c
src/pcre/pcre16_exec.c
src/pcre/COPYING
src/pcre/pcre16_ord2utf16.c
src/pcre/pcre_valid_utf8.c
src/pcre/pcre32_version.c
src/pcre/AUTHORS
src/pcre/pcre16_jit_compile.c
src/pcre/depcomp
src/pcre/pcre_stringpiece.cc
src/pcre/pcre16_dfa_exec.c
src/pcre/HACKING
src/pcre/pcre32_get.c
src/pcre/pcre32_newline.c
src/pcre/pcre16_config.c
src/pcre/pcre16_string_utils.c
src/pcre/pcre32_exec.c
src/pcre/pcre_xclass.c
src/pcre/pcre_exec.c
src/pcre/makevp_c.txt
src/pcre/m4
src/pcre/m4/pcre_visibility.m4
src/pcre/m4/ltversion.m4
src/pcre/m4/ltsugar.m4
src/pcre/m4/ax_pthread.m4
src/pcre/m4/lt~obsolete.m4
src/pcre/m4/ltoptions.m4
src/pcre/m4/libtool.m4
src/pcre/pcregexp.pas
src/pcre/cmake
src/pcre/cmake/COPYING-CMAKE-SCRIPTS
src/pcre/cmake/FindPackageHandleStandardArgs.cmake
src/pcre/cmake/FindEditline.cmake
src/pcre/cmake/FindReadline.cmake
src/pcre/pcre_ucd.c
src/pcre/missing
src/pcre/pcre32_dfa_exec.c
src/pcre/pcre_scanner_unittest.cc
src/pcre/LICENCE
src/pcre/configure
src/pcre/pcre_compile.c
src/pcre/ucp.h
src/pcre/pcretest.c
src/pcre/INSTALL
src/pcre/pcre32_globals.c
src/pcre/pcre16_printint.c
src/pcre/config.guess
src/pcre/pcre16_globals.c
src/pcre/libpcre32.pc.in
src/pcre/CleanTxt
src/pcre/testdata
src/pcre/testdata/testinput5
src/pcre/testdata/testoutput5
src/pcre/testdata/saved8
src/pcre/testdata/grepfilelist
src/pcre/testdata/testoutput20
src/pcre/testdata/testoutput3A
src/pcre/testdata/testoutput26
src/pcre/testdata/testoutput16
src/pcre/testdata/testinput10
src/pcre/testdata/saved16
src/pcre/testdata/greplist
src/pcre/testdata/testoutput4
src/pcre/testdata/testinput21
src/pcre/testdata/testinput25
src/pcre/testdata/testoutput21-16
src/pcre/testdata/testoutput12
src/pcre/testdata/saved32BE-1
src/pcre/testdata/grepoutput
src/pcre/testdata/saved32
src/pcre/testdata/testinput23
src/pcre/testdata/testoutput15
src/pcre/testdata/testinput24
src/pcre/testdata/testoutput11-8
src/pcre/testdata/grepinput
src/pcre/testdata/saved16BE-1
src/pcre/testdata/testinput3
src/pcre/testdata/saved32BE-2
src/pcre/testdata/testinput20
src/pcre/testdata/testinput15
src/pcre/testdata/testinputEBC
src/pcre/testdata/testinput17
src/pcre/testdata/testoutput22-16
src/pcre/testdata/testoutput25
src/pcre/testdata/wintestoutput3
src/pcre/testdata/testinput7
src/pcre/testdata/testoutput11-32
src/pcre/testdata/grepinput8
src/pcre/testdata/saved32LE-1
src/pcre/testdata/testoutput23
src/pcre/testdata/testoutput18-16
src/pcre/testdata/wintestinput3
src/pcre/testdata/testinput11
src/pcre/testdata/testoutputEBC
src/pcre/testdata/saved16LE-2
src/pcre/testdata/testinput1
src/pcre/testdata/saved16LE-1
src/pcre/testdata/grepinputx
src/pcre/testdata/grepoutput8
src/pcre/testdata/testoutput24
src/pcre/testdata/testoutput19
src/pcre/testdata/testoutput6
src/pcre/testdata/testinput9
src/pcre/testdata/testoutput3B
src/pcre/testdata/grepbinary
src/pcre/testdata/grepinputv
src/pcre/testdata/testoutput14
src/pcre/testdata/testinput8
src/pcre/testdata/testinput6
src/pcre/testdata/testoutput21-32
src/pcre/testdata/testinput13
src/pcre/testdata/testoutput17
src/pcre/testdata/testinput2
src/pcre/testdata/testoutput18-32
src/pcre/testdata/testinput16
src/pcre/testdata/testoutput8
src/pcre/testdata/valgrind-jit.supp
src/pcre/testdata/grepoutputN
src/pcre/testdata/testoutput7
src/pcre/testdata/testoutput3
src/pcre/testdata/testoutput1
src/pcre/testdata/testoutput2
src/pcre/testdata/testoutput22-32
src/pcre/testdata/greppatN4
src/pcre/testdata/testinput14
src/pcre/testdata/testinput18
src/pcre/testdata/testoutput10
src/pcre/testdata/testoutput11-16
src/pcre/testdata/saved16BE-2
src/pcre/testdata/saved32LE-2
src/pcre/testdata/testinput22
src/pcre/testdata/testinput19
src/pcre/testdata/grepinput3
src/pcre/testdata/testinput4
src/pcre/testdata/testoutput9
src/pcre/testdata/testoutput13
src/pcre/testdata/testinput12
src/pcre/testdata/testinput26
src/pcre/pcre32_study.c
src/pcre/aclocal.m4
src/pcre/pcre32_refcount.c
src/pcre/pcre_stringpiece_unittest.cc
src/pcre/pcre_jit_compile.c
src/pcre/test-driver
src/pcre/pcre32_compile.c
src/pcre/ChangeLog
src/pcre/pcre_globals.c
src/pcre/Detrail
src/pcre/pcre_string_utils.c
src/pcre/pcre32_maketables.c
src/pcre/pcre_chartables.c.dist
src/pcre/libpcrecpp.pc.in
src/pcre/pcre32_xclass.c
src/pcre/dftables.c
src/pcre/pcredemo.c
src/pcre/config-cmake.h.in
src/pcre/pcrecpparg.h.in
src/pcre/config.h.generic
src/pcre/RunGrepTest
src/pcre/pcre32_utf32_utils.c
src/pcre/pcre_internal.h
src/pcre/ar-lib
src/pcre/ltmain.sh
src/pcre/pcre16_xclass.c
src/pcre/pcre16_maketables.c
src/pcre/pcre_fullinfo.c
src/pcre/configure.ac
src/pcre/132html
src/pcre/pcre_get.c
src/pcre/pcre16_fullinfo.c
src/pcre/NEWS
src/pcre/pcre16_ucd.c
src/pcre/pcre_scanner.h
src/pcre/pcregrep.c
src/pcre/libpcreposix.pc.in
src/pcre/pcre32_chartables.c
src/pcre/pcre32_tables.c
src/pcre/pcre_version.c
src/pcre/pcre-config.in
src/pcre/pcre16_chartables.c
src/pcre/perltest.pl
src/pcre/pcrecpp_internal.h
src/pcre/libpcre.pc.in
src/pcre/pcrecpp.h
src/pcre/pcrecpp_unittest.cc
src/pcre/pcre16_get.c
src/pcre/pcre16_utf16_utils.c
src/pcre/Makefile.am
src/pcre/pcrecpp.cc
src/pcre/pcre16_byte_order.c
src/pcre/README
src/pcre/pcre_scanner.cc
src/pcre/NON-AUTOTOOLS-BUILD
src/pcre/pcre_config.c
src/pcre/pcre_byte_order.c
src/pcre/RunTest.bat
src/pcre/pcre.h.in
src/pcre/NON-UNIX-USE
src/pcre/doc
src/pcre/doc/pcrebuild.3
src/pcre/doc/pcre_get_substring_list.3
src/pcre/doc/pcre_free_study.3
src/pcre/doc/pcrelimits.3
src/pcre/doc/pcre_get_stringnumber.3
src/pcre/doc/pcre_jit_exec.3
src/pcre/doc/pcre16.3
src/pcre/doc/pcre-config.txt
src/pcre/doc/perltest.txt
src/pcre/doc/pcretest.1
src/pcre/doc/pcrematching.3
src/pcre/doc/pcre_jit_stack_alloc.3
src/pcre/doc/pcreprecompile.3
src/pcre/doc/pcre_dfa_exec.3
src/pcre/doc/pcre_pattern_to_host_byte_order.3
src/pcre/doc/pcre_compile.3
src/pcre/doc/pcredemo.3
src/pcre/doc/pcre_utf16_to_host_byte_order.3
src/pcre/doc/pcre_study.3
src/pcre/doc/pcrecallout.3
src/pcre/doc/pcre_version.3
src/pcre/doc/pcre_utf32_to_host_byte_order.3
src/pcre/doc/pcre_jit_stack_free.3
src/pcre/doc/pcrecpp.3
src/pcre/doc/pcregrep.1
src/pcre/doc/pcre_assign_jit_stack.3
src/pcre/doc/pcre_exec.3
src/pcre/doc/pcre-config.1
src/pcre/doc/pcrepattern.3
src/pcre/doc/pcre_get_stringtable_entries.3
src/pcre/doc/pcre_free_substring.3
src/pcre/doc/pcre_get_substring.3
src/pcre/doc/pcrepartial.3
src/pcre/doc/pcre.3
src/pcre/doc/pcreunicode.3
src/pcre/doc/pcretest.txt
src/pcre/doc/pcre_copy_named_substring.3
src/pcre/doc/pcre_maketables.3
src/pcre/doc/pcreapi.3
src/pcre/doc/pcre.txt
src/pcre/doc/pcre_copy_substring.3
src/pcre/doc/pcre_config.3
src/pcre/doc/pcre32.3
src/pcre/doc/pcrestack.3
src/pcre/doc/pcre_compile2.3
src/pcre/doc/pcrecompat.3
src/pcre/doc/pcreposix.3
src/pcre/doc/pcre_refcount.3
src/pcre/doc/pcre_fullinfo.3
src/pcre/doc/pcregrep.txt
src/pcre/doc/pcresample.3
src/pcre/doc/pcresyntax.3
src/pcre/doc/pcre_get_named_substring.3
src/pcre/doc/index.html.src
src/pcre/doc/pcrejit.3
src/pcre/doc/html
src/pcre/doc/html/pcre_free_substring_list.html
src/pcre/doc/html/pcre_assign_jit_stack.html
src/pcre/doc/html/pcre_config.html
src/pcre/doc/html/pcre16.html
src/pcre/doc/html/pcrelimits.html
src/pcre/doc/html/pcrejit.html
src/pcre/doc/html/pcre-config.html
src/pcre/doc/html/pcre_jit_exec.html
src/pcre/doc/html/pcre_refcount.html
src/pcre/doc/html/pcrepartial.html
src/pcre/doc/html/pcreunicode.html
src/pcre/doc/html/index.html
src/pcre/doc/html/pcre_exec.html
src/pcre/doc/html/pcre_fullinfo.html
src/pcre/doc/html/pcrecompat.html
src/pcre/doc/html/pcreapi.html
src/pcre/doc/html/pcre_get_stringnumber.html
src/pcre/doc/html/pcre_get_substring.html
src/pcre/doc/html/pcrecpp.html
src/pcre/doc/html/pcrecallout.html
src/pcre/doc/html/pcre_free_study.html
src/pcre/doc/html/pcre_pattern_to_host_byte_order.html
src/pcre/doc/html/pcreprecompile.html
src/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt
src/pcre/doc/html/pcrematching.html
src/pcre/doc/html/pcre_get_stringtable_entries.html
src/pcre/doc/html/pcre_jit_stack_alloc.html
src/pcre/doc/html/pcre_free_substring.html
src/pcre/doc/html/pcre_version.html
src/pcre/doc/html/pcresyntax.html
src/pcre/doc/html/pcre_jit_stack_free.html
src/pcre/doc/html/pcretest.html
src/pcre/doc/html/pcre_utf16_to_host_byte_order.html
src/pcre/doc/html/pcre_maketables.html
src/pcre/doc/html/pcrestack.html
src/pcre/doc/html/pcre_copy_substring.html
src/pcre/doc/html/pcreposix.html
src/pcre/doc/html/README.txt
src/pcre/doc/html/pcrepattern.html
src/pcre/doc/html/pcre_get_named_substring.html
src/pcre/doc/html/pcrebuild.html
src/pcre/doc/html/pcresample.html
src/pcre/doc/html/pcre.html
src/pcre/doc/html/pcre_study.html
src/pcre/doc/html/pcre_copy_named_substring.html
src/pcre/doc/html/pcre_compile.html
src/pcre/doc/html/pcre_compile2.html
src/pcre/doc/html/pcregrep.html
src/pcre/doc/html/pcre32.html
src/pcre/doc/html/pcre_utf32_to_host_byte_order.html
src/pcre/doc/html/pcredemo.html
src/pcre/doc/html/pcre_get_substring_list.html
src/pcre/doc/html/pcre_dfa_exec.html
src/pcre/doc/html/pcreperform.html
src/pcre/doc/pcreperform.3
src/pcre/doc/pcre_free_substring_list.3
src/pcre/pcre_refcount.c
src/pcre/pcre16_compile.c
src/pcre/install-sh
src/pcre/RunTest
#
# - Source to ctrio supporting library
#
src/trio
src/trio/hypermail-patches.diff
src/trio/triodef.h
src/trio/README
src/trio/README.hypermail
src/trio/install-sh
src/trio/strio.h
src/trio/compare.c
src/trio/autogen.sh
src/trio/Makefile.in
src/trio/trio.h
src/trio/trio.c
src/trio/regression.c
src/trio/triop.h
src/trio/CHANGES
src/trio/configure.in
src/trio/trionan.c
src/trio/configure
src/trio/triostr.c
src/trio/triostr.h
src/trio/trionan.h
src/trio/FILES
#
# - Source to fnv supporting library
#
src/fnv/Makefile.in
src/fnv/README
src/fnv/aclocal.m4
src/fnv/config.guess
src/fnv/config.in
src/fnv/config.sub
src/fnv/configure
src/fnv/configure.in
src/fnv/configure.scan
src/fnv/fnv.h
src/fnv/fnv32.c
src/fnv/fnv64.c
src/fnv/hash_32.c
src/fnv/hash_64.c
src/fnv/have_ulong64.c
src/fnv/ltconfig
src/fnv/ltmain.sh
#
# - Hypermail testing support
#
tests/stdintest.pl
tests/README
tests/diff_hypermail_archives.pl
tests/test-footer.hyp
tests/test-index.hyp
tests/test-msg.hyp
tests/test.rc
tests/testhm.in
#
# - Hypermail test mailboxes
#
tests/mboxes/1msg.mbox
tests/mboxes/critmail.mbox
tests/mboxes/embedded.msg
tests/mboxes/t1
tests/mboxes/t2
tests/mboxes/t3
tests/mboxes/t4
tests/mboxes/t5
tests/mboxes/t6
tests/mboxes/t7
tests/mboxes/t8
tests/mboxes/y2k.mbox
================================================
FILE: INSTALL
================================================
Quick summary:
./configure
make
make install
See the Upgrading section at the end for changes that might affect users
of older versions.
==========================
SECURITY WARNING: Do not put hypermail's output anyplace where a web
server might have server side includes (SSI) enabled, unless you are sure
you know what you are doing. If in doubt, check your web server
configuration. If you are using Apache, look for an Options line
that mentions Includes or IncludesNOEXEC. The author of an email
normally has substantial control over what files hypermail creates,
particularly via attachments. Hypermail is designed to insure that
filenames don't end in .shtml and don't contain characters like / or \,
which prevent some security problems, but there are few restrictions
on what can go in a file (e.g. possibly malicious html tags - try the
"text_types = *" option or "ignore_types = $NONPLAIN" option if you want
to restrict this). You might also want to look at the attachmentlink
and unsafe_chars options to restrict attachment filenames.
Also, it is probably a bad idea to enable cgi execution on a directory
that hypermail puts files in.
Do not use the crappy cgi program called "mail".
Before Building Hypermail:
==========================
Hypermail now uses "configure" to generate the Makefiles. In the
top level directory, type "configure" to create the Makefiles.
If it does not work on your system, please let me know.
Building Hypermail:
===================
Hypermail has been normally compiled and run on Unix-based systems
in the past. Today it can be configured and built using Cygwin
software. I have either compiled and tested this code successfully
on the following platforms or others have told me of their success.
Solaris, SunOS 4.1.3, FreeBSD 2.2.5 and later,
BSDI/3.x, Linux kernel 2.0.18 and 2.0.30, Redhat 5.x and later,
NT using CygWin-b19 <http://www.cygnus.com/misc/gnu-win32>,
Irix6.2, HP-UX 10.20 and later, SCO OS 5.0.5, and TRU64/OSF1
on a DEC Alpha
Hypermail compiles on MacOSX, tested with X.2.6. Beware that
you may need to configure it to use --disable-shared and manually
execute make in src/pcre before.
For more information on Cygwin and build hypermail on a Windows-based
system, see the file docs/Install-win32.txt.
Generic Build:
1) Type "./configure". This creates the makefiles and the
config.h file needed to build the software.
If you want to install Hypermail somewhere other than in /usr/local,
run something like this instead: ./configure --prefix=$HOME
2) Type "make". This will build the software.
If it has trouble finding gdbm (e.g. if it fails with a message such as
"cannot open -lgdbm", you may need to disable gdbm with:
./configure --without-gdbm
and type "make clean" and then "make" again. (Note that without gdbm,
you can't do incremental updates using the folder_by_date option).
On some systems you may need to add "-R/usr/local/lib -L/usr/local/lib"
to the CFLAGS variable in the Makefiles, or alter your LD_LIBRARY_PATH
environment variable (Willi Kernen reports that on a 64-bit Solaris,
changing LD_LIBRARY_PATH to:
/usr/lib:/usr/local/lib:/usr/ccs/lib:/usr/ucb/lib:/usr/openwin/lib
fixed a problem).
If the make fails at this line:
ar cq libpcre.a maketables.o get.o study.o pcre.o
and the configure had said:
checking whether to build static libraries... no
then you probably should try:
./configure --disable-shared
If the make fails with a message such as:
proto.h:99: conflicting types for `strcasestr'
/usr/include/string.h:86: previous declaration of `strcasestr'
then you should try removing the line in proto.h that refers to strcasestr.
Testing Hypermail:
==================
If you wish to test the new hypermail before installing it
- chdir to tests/
- copy a mailbox you have to a local file named "testmail"
- type "sh ./testhm"
This will generate an archive under a newly created "testdir/"
directory. Check it out with your favorite browser.
When you are done testing,
- remove the testdir directory,
- remove the testmail file.
(See the README in tests/ for more information.)
Installing Hypermail:
=====================
You may need to login as root for this step.
To install just the Hypermail programs:
- chdir to the src/ directory
- Type "make install". (Or, if you prefer, just copy "hypermail" to
wherever you want it).
If you want a full install of Hypermail and its documentation, do
make install
in the main Hypermail directory (the one where you did ./configure).
If it fails with something like:
mkdir: "/usr/local/apache/htdocs/hypermail": Permission denied
then you may need to rerun ./configure giving it the directory in
which you want to install html documentation files using this option:
--with-htmldir=/var/www/htdocs
Upgrading:
==============
The body option has been disabled as of version 2.1.4 for strict
HTML 4.01 compatibility. You should replace any body command you
have in your .hmrc with a style sheet (such as a file called
hypermail.css in the archive directory), and set icss_url and
mcss_url to the url of that style sheet. If you want the appearance
that was the default before 2.1.4, your style sheet should contain this:
body {color: black; background: #ffffff}
h1.center {text-align: center}
div.center {text-align: center}
Also, if you have been using the icss_url and/or mcss_url options and
are upgrading to 2.1.4 or higher, you might want to add those statements
to your style sheet, as their style is no longer being provided by
<body ...> tags, etc. (For users not specifying an icss_url and mcss_url,
default style sheets have been put in all files to maintain that style.)
The overwrite option defaulted to On for many versions. Starting with
version 2.1.4, it defaults to off again. You may want to turn it on
again occasionally to insure that all of your archive uses the same style
(assuming you have a copy of the archive in mbox format).
::: SPECIAL NOTE:::
The cgi program called "mail" has been disabled. If you've been
using it, you should either stop using it or look carefully enough
at what it does to understand whether it is safe for you to enable
its functionality. This could be a security concern for your site.
================================================
FILE: KNOWN_BUGS
================================================
This is a list of know problems with the current version of Hypermail
=================================================
Problem: Converting existing hypermail archives
to use a different HTML file suffix:
If you are going to change the filename suffix used from the default
".html" to something else, you must deal with the existing files first.
Otherwise, hypermail does not know they are there and starts numbering
files from the begining.
This means that you need to either start out fresh, regenerate the
archive from an existing mailbox or convert all existing files and
the links within the existing archive files to use the proper extension.
=================================================
Problem: File Locking On NFS Mounted Directories:
File locking doesn't work all that well over NFS. For that reason
you are encouraged to run Hypermail on the same system that the
disk is on. This is due to possible timing issues within NFS.
Hypermail based network locking is not expected to work at this time.
=================================================
Problem: Message Dates:
Dates on messages prior to 1970 are not processed correctly.
=================================================
Problem: Not parsing correctly.
The following line is not parsing correctly.
news:fr.comp.os.ms-windows.win95 post news:34EF975C.4097FF89@club-internet.fr
=================================================
Problem: Embedded HTML
If HTML file included in message it is just putting it there
without concern of BASE, TITLE, HEAD, BODY ...
=================================================
Problem: Blank name not interpreted correctly.
Puts out a <STRONG></STRONG> if name is blank.
=================================================
Problem: Memory leaks
Leaking < 30 bytes per message processed.
=================================================
Problem: Empty container elements
Putting out empty container elements <P>. Should be <P> </P>
=================================================
Problem: No verification of link syntax
Not verifying a valid HTML link syntax before converting somthing
with a http://.
=================================================
Problem: indextable format problem
The message list column widths for "subject" "author" and "date" are sized
based on the content. Subjects and dates are fairly predictably riddled
with white space on which long lines can wrap.
The "author" string is not -- in particular, I have a person with a long
pseudonym (having a descriptive pseudo-middle name, used to distinguish
between several people with the same first and last name), and a long
machine.domain identifier -- coming out to 52 (!) characters total. His
MUA does not give a "real name" string that hypermail could use.
In a typical browser display, this forces the 'author' column to about
2/3rds of the display width, and the subject and date get crammed into the
remaining 1/3rd.
The "hm_usetable" resource only affects headers and footers, and not the
bulk of the index display itself. Is there an existing configuration
choice that could help me?
=================================================
Problem: corrupt mailbox handing.
If the parser never finds the end-boundary in the alternative section it
leaves the parser in an undefined state, it still treats "^From_"
(underscore to display space) lines as the beginning of a new mail. The
problem I think is more related to that the "alternative parser" never really
finishes its work until it finds the end-boundary and when the following
"From " line starts a new mail, something bad happens. Hypermail should
process corrupt messages a bit better.
=================================================
Problem: Building on DEC Alpha systems.
Make sure and use the GCC compiler and not the native DEC compiler
when building on a DEC Alpha using TRU64 (OSF1).
================================================
FILE: Makefile.in
================================================
#
# Makefile for hypermail package.
#
@SET_MAKE@
prefix=@prefix@
datarootdir = @datarootdir@
datadir = @datadir@
exec_prefix=@exec_prefix@
# This is where you want hypermail to be installed
bindir=@bindir@
# This is where the man page goes
mandir=@mandir@
srcdir=@srcdir@
# This is where the HTML documentation goes
htmldir=@htmldir@
# This is where your CGI programs live
cgidir=@cgidir@
INSTALL_PROG=@INSTALL@
#WNOERROR=-Werror
#WARNINGS=$(WNOERROR) -ansi -pedantic -Wall -Wtraditional -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Dlint
# Compiler to use
CC=@CC@
CFLAGS=@CFLAGS@ $(WARNINGS)
CPPFLAGS=@CPPFLAGS@ @INCLUDES@
LIBS=@LIBS@
LDFLAGS=@LDFLAGS@
all: hypermail support
hypermail:
@cd src; $(MAKE) all CC="$(CC)" \
CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
cgidir="$(cgidir)" bindir="$(bindir)" LIBS="$(LIBS)"
support:
@cd archive; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)"
install:
@cd src; $(MAKE) install CC="$(CC)" CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
cgidir="$(cgidir)" bindir="$(bindir)" LIBS="$(LIBS)"
@cd docs; $(MAKE) install CC="$(CC)" CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
$(MAKEFLAGS) mandir="$(mandir)" htmldir="$(htmldir)"
@cd archive; $(MAKE) install CC="$(CC)" CFLAGS="$(CFLAGS)" \
CPPFLAGS="$(CPPFLAGS)" \
bindir="$(bindir)"
uninstall:
@cd src; $(MAKE) uninstall cgidir="$(cgidir)" bindir="$(bindir)"
@cd docs; $(MAKE) uninstall mandir="$(mandir)" htmldir="$(htmldir)"
@cd archive; $(MAKE) uninstall bindir="$(bindir)"
lint:
@cd src; $(MAKE) lint
@cd archive; $(MAKE) lint
clean:
@cd src; $(MAKE) clean
@cd docs; $(MAKE) clean
@cd archive; $(MAKE) clean
rm -f lint.out
clobber: clean
rm -f config.h
rm -f config.cache
rm -f config.log
rm -f config.status
rm -f archive/Makefile
rm -f docs/Makefile
rm -f libcgi/Makefile
rm -f src/Makefile
rm -f src/defaults.h
rm -f tests/testhm
rm -rf tests/testdir
rm -rf tests/mail-archive
rm -f Makefile
distclean: clobber
rm -f tests/testmail
tgz:
@(dir=`pwd`;name=`basename $$dir`;echo Creates $$name.tar.gz; cd .. ; \
tar -cf $$name.tar \
`cat $$name/FILES | grep -v "^#" | sed "s:^:$$name/:g"` ; \
gzip $$name.tar ; chmod a+r $$name.tar.gz ; mv $$name.tar.gz $$name/)
================================================
FILE: README
================================================
Hypermail
Version: 2.4.x
This is a release of the 2.4.x version of hypermail.
Hypermail is a program that takes a file of mail messages in UNIX mailbox
format and generates a set of cross-referenced HTML documents.
SECURITY WARNING:
Do not put hypermail's output anyplace where a web server might have
server side includes (SSI) enabled unless you are sure you know what
you are doing.
WARNING:
There once existed a program call "mail" that came with hypermail.
'mail' utility has not installed by default for the last two years.
This program has been disabled because it was probably easy for spammers
to use as an open relay. It also had problems with enabling malicious
use of JavaScript and CRLF Injection. The 'mail' utility is a historic
reclic and will not be supplied in future versions. Its functionality
has been replaced with a warning that anyone using it should remove it
immediately.
See the INSTALL file to get started. For a description of how to use it,
see the hypermail.html, hmrc.html, and hypermail-faq.html files that come
in the docs/ directory.
Please refer to Changelog for the list of recent changes.
Hypermail is distributed under the GNU GPL license (see the file COPYING for
details). Some programs that are distributed with it in the archive and
contrib directories have different licenses - check the individual files for
details.
Hypermail Background:
=====================
Hypermail was originally designed and developed by Tom Gruber for
Enterprise Integration Technologies (EIT) using Common Lisp.
It was later rewritten in C by Kevin Hughes in 1994 while Kevin
worked at EIT.
License Evolution:
------------------
In the spring of 1997, Kevin Hughes heavily pressed Hewlett-Packard
(who was now the legal owner of Hypermail, since EIT was bought by
VeriFone, which was bought by Hewlett-Packard) into placing a free
software license onto his old EIT software. They officially put the
GNU GPL license on *all* of Kevin's old EIT software, opening it up to
more open methods of development and distribution. So now Hypermail
is under GPL.
EIT's net.disappearance:
------------------------
A very old and established government contractor company called
Electronic Instrumentation and Technology Inc. made legal moves to
obtain the eit.com domain. Since VeriFone/HP had no interest in keeping
EIT, dissolved it completely. As this company had a trademark on EIT,
the domain name was given to them. Elizabeth Batson of EIT/VeriFone/HP
informed Kevin he could maintain all his old software himself wherever
he wished to put it.
Kevin and ongoing Hypermail Development:
----------------------------------------
Kevin left Hewlett-Packard in 1997 and helped form a new company
called Veo Systems (www.veosystems.com) with his old boss Marty
Tenenbaum, who founded EIT. Kevin did not have the time to maintain
any of his old software, so he was looking for different parties to
help maintain it and take over different pieces. For instance, Getstats
has been obsoleted by Analog (http://www.statslab.cam.ac.uk/~sret1/analog/).
SWISH has been taken over by the SWISH-E project
(http://sunsite.berkeley.edu/SWISH-E/) and many people have been doing
good things with it. April 17, 1998 Kevin passed hypermail development
to Kent Landfield (http://www.hypermail.org/). Kent had been
supporting an enhanced version of hypermail he had been using for the
last few years. It has gradually become a group effort, with Peter McCluskey
<pcm@rahul.net> often acting as the leader during its heydays.
Since a couple of years, it is stable and mostly unmaintained. W3C continues
to contribute to this repository, although infrequently, sharing with the
community enhancements and bug fixes originating from its use of
hypermail.
General:
========
This version has been tested on the platforms listed below. If you would
like to send portability patches or confirmation that it works on a certain
platform, please do. There should not be toooo many changes that need to be
made.
This version of hypermail has substantial support for attachments and for
splitting archives into subdirectories. It also allows an administrator to
customize the header and footers to match their local needs. This allows
you to have hypermail facilities better integrated into your web site.
This version is an integration of patches that Kevin had received through
the years, and new features through the individual efforts many people.
This has been run through lint, Insight and Purify and has been cleaned up
accordingly.
* archive - general archive utilites that are useful in managing
list archives. Much of the functionality here has been
rendered obsolete by the folder_by_date option.
* contrib - contributed hypermail relate utilities
* configs - sample hypermail configuration files,
* docs - documentation and documentation support files,
* libcgi - support library for the mail utility,
* src - here's the beef,
* tests - directory for supporting local testing,
Warning:
========
Take the time to read the KNOWN_BUGS file so that you are aware of
things that might affect your use of hypermail.
GIT Repository:
===============
Hypermail's code base has migrated from CVS to git and after a
residence at sourceforge, now resides at github:
https://github.com/hypermail-project/hypermail/
CVS Server:
===========
The hypermail CVS repository has been retired. Hypermail's code base
now resides at github (see above).
Thanks to Ashley M. Kirchner <ashley@pcraft.com> for having
hosted and keep alive the CVS repository during the years.
Getting Help:
=============
There is no active dedicated mailing list for hypermail support or
development.
Please use hypermail's github repository issue tracker for all bug
reports, feature requests, patches, and other program-related
things. This project is under low-maintenance priority.
You can browse the old hypermail development mailing list archives
from the historical hypermail project homepage:
http://hypermail-project.org/
Additionally:
=============
You'll find the image "hypermail.gif" included with the source;
this icon is for your use in your Hypermail-related pages and links
to them. If you are talented with graphics and would like to donate
new icons and images to the hypermail effort, please feel free.
Regular expression support is provided by the PCRE library package,
which is open source software, written by Philip Hazel, and copyright
by the University of Cambridge, England. See http://www.pcre.org/.
================================================
FILE: README.CVS
================================================
[ DEPRECATED We're now using github : https://github.com/hypermail-project/hypermail ]
Hypermail CVS Server Access
----
Hypermail Development has a CVS server, where we (try to) keep the
latest changes (usually hot out of the oven) and anyone is welcome to
use it. Thanks to Elliot Lee <sopwith@redhat.com> for helping with
setting it up, Daniel Stenberg <Daniel.Stenberg@haxx.nu> with his
contributions. And many thanks to Ashley M. Kirchner <ashley@pcraft.com>
for hosting and managing the hypermail CVS server.
------------------------------------
Setting up the CVS software locally:
If you system does not have cvs installed on it already then you
need to do the following to install the client locally.
- Obtain the cvs source at ftp://ftp.cvshome.org/pub/
For more information on CVS stop by http://www.cvshome.org/
- Compile and install the client (you can disable the server with
the --disable-server during the 'configure' command. Read the
INSTALL file once you're uncompressed the archive)
------------------------------------
General information on accessing the Hypermail CVS repository:
Hypermail CVS Archive Address:
:pserver:cvs@cvs.hypermail.org:/CVS
The 'cvs' user doesn't have a password, so just hit return when it
asks you for one. The cvs user is setup for read access only.
------------------------------------
Step by Step information on accessing the Hypermail CVS repository:
Aftering installing the CVS software:
- Set your CVSROOT enviroment:
For sh, bash and ksh users, execute the following commands:
CVSROOT=:pserver:cvs@cvs.hypermail.org:/CVS
export CVSROOT
(or you can stick them in your .profile and/or .bash_profile file)
For C shell users (csh, tcsh), you can do the following:
setenv CVSROOT :pserver:cvs@cvs.hypermail.org:/CVS
(or stick it in your .cshrc and/or .login file)
- From here you can login to the server with:
$ cvs login
(Logging in to cvs@cvs.hypermail.org)
CVS password: <-- hit RETURN (cvs user password is blank)
- Now you're ready to grab the source
$ cvs checkout hypermail
This will create a mirror of the sources in your account/on your
machine called 'hypermail' that you can then compile and play
with.
- Once done, don't forget to log out:
$ cvs logout
All of the above commands can be performed without having to set a
CVSROOT enviroment if you want, it's just a lot more to type in since
you'll have to specify the directory every time with:
-d :pserver:cvs@cvs.hypermail.org:/CVS
For example, you would need to use the following to execute the login
command
cvs -d :pserver:cvs@cvs.hypermail.org:/CVS login
cvs -d :pserver:cvs@cvs.hypermail.org:/CVS checkout hypermail
cvs -d :pserver:cvs@cvs.hypermail.org:/CVS logout
------------------------------------
Browsing the Hypermail CVS Archive:
You can also browse the repository at:
http://cvsweb.hypermail.org/
----
================================================
FILE: README.git
================================================
Hypermail GIT Server Access
----
Hypermail Development has a GIT server, where we (try to) keep the
latest changes (usually hot out of the oven) and anyone is welcome to
use it.
------------------------------------
General information on accessing the Hypermail CVS repository:
Hypermail git repository address:
http://sourceforge.net/scm/?type=git&group_id=18117&source=navbar
git://hypermail.git.sourceforge.net/gitroot/hypermail/hypermail (read-only)
A mirror is also availabe on github:
https://github.com/hypermail-project/hypermail
See the sourceforge documentation for more information about
git and how to checkout the hypermail repository:
http://sourceforge.net/scm/?type=git&group_id=18117&source=navbar
------------------------------------
Browsing the Hypermail git repository:
You can also browse the repository at:
http://hypermail.git.sourceforge.net/git/gitweb-index.cgi
----
================================================
FILE: TODO
================================================
This is a file of things to do. If you have other ideas or needs send
them to hypermail-dev@hypermail.org.
===============
General Things:
===============
- Need to use splint to clean up the code.
- Need to clean up the code and remove old code that is commented/ifdefed out.
- Update the doc files to assure all configuration file directives
are included appropriately in the documentation. Currently the
documentation does not completely list all options.
- Update the pcre library to a much more recent version.
- Modify configure to locate the appropriate htdocs directory locations
for installing the documentation and image files.
- Add the msgid hash to the emailinfo structure to speed-up looking
of this value when we already know it.
- Finish the libtool work on the fnv library so that we can link to
shared libraries _and_ install/uninstall them.
- Need to lowercase HTML tags to support XHTML 1.0 in the future.
- Need to add XHTML support - Configurable ?
- Make the "New List Message" and "Reply To List" features available
when usetable == 0
- system() should be replaced by fork()+execvp() (or maybe by s_popen())
in archive/ mbox2hypermail.c
- HTML code should be escaped where appropriate.
- Make it possible to insert the FONT to use in the tables.
<TH><FONT ...>string</FONT></TH>
Fonts are not be inherited correctly in many browsers.
- Have configure look at the language selected and if it is not "en"
set the EURODATE to 1.
- Add date/subject/author filters for articles that are read in
- Need to create a library of hypermail functions so that other utilities
can be generated without making things real ugly. (i.e. removal, other
indexing.)
- Combine mbox2hypermail.c and msg2archive.c into a single program instead
of having the two do the same general job...
- There is an irreversible aspect to piping messages into hypermail;
what gets written into HTML does not readily convert back to RFC822
form such that it could be re-archived (put in another archive, etc.)
- Convert the doc files to a SGML system like linuxdoc, which will allow
generating html, text, and man pages from the same source.
- You currently look for text in messages of the form http://... and
turn them into hyperlinks. You also look for text in the form
foo@bar.com and turn that into a mailto: hyperlink.
I suggest you also look for text in for form of
mailto:foo@bar.com?subject=bat and turn the whole of it into a
mailto: link, with the correct subject line.
=============
Index Issues:
=============
- Make the formating of index pages use magic cookies for all parts of the
page.
- It seems strange and undesireable to have the message date shown only in
the subject and author indexes. It seems *really* strange to not have it
show up in the date index! I wanted it "on" for our archives, and did
that in my latest beta, which required changing the "reply" structure to
include it (for the thread index). I think ideally it would be configureable
on or off.
- Make it optional that a site generate index files with the listings
sorted by date in one file and reverse sorted in the other index.
This pertains to all index types as well. For example:
one thread-index with the newest mails topmost
one thread-index with the oldest mails topmost
one author-index in alphabetical order
one author-index in reversed alphabetical or
etc.
============
Attachments:
============
o Make it configurable to get test/plain attachments to have a link
created for them, instead of having them printed out beneath the
original email.
o If a filename is not known and the MIME type is known, the proper
extension should be added to the randomly generated file name.
o For security reasons, *all* binary attachments should be
written to disk with file permissions of 444 or equivalent
read-only access and should *never* allowed to be executable.
o The user should be able to 1 indicate if attachments are stored to
be stored as separate files from the original message.
(Turn it on or off.)
o Specifying a list with 'preferred' content-types when
receiving/decoding mixed/alternative attachments. Support is there
in the config file but not in the code. Currently the "text" is always
preferred.
o It is doubtful that hypermail deals with all kinds of uuencoded
attachments as defined with 'x-uue' in the current hypermail. Other
MIME resources mention a whole set of different names for this kind
of encoding, but are they in use?
o Hypermail should be able to deal with Sun's (silly) mailtool
attachments in a manner similar to how it deals with mime attachments.
It would be really cool if the output would be identical and the
differences hidden from the user(s).
=================
Configure issues
=================
Defines not used in config.h.in:
HAVE_STRFTIME, HAVE_GETOPT, HAVE_GETPWUID, HAVE_LSTAT,
HAVE_MKDIR, HAVE_STRCASECMP, HAVE_STRDUP, HAVE_STRSTR, HAVE_STRTOL,
HAVE_ALLOCA_H, HAVE_ARPA_INET_H, HAVE_MALLOC_H, HAVE_NDIR_H ,
HAVE_NETDB_H, HAVE_NETINET_IN_H, HAVE_STDARG_H, HAVE_STDIO_H,
HAVE_SYS_DIR_H, HAVE_SYS_NDIR_H , HAVE_SYS_SOCKET_H, HAVE_TIME_H
HAVE_BCOPY is only used in in pcre and not hypermail sources.
Configure needs to support SunOS4x.
Change prototype definitions for certain systems (FREBSD 4.6 for example)
============
Misc. Needs:
============
- EURODATE
Given that these two formats are ambiguous, and many companies have
people of both sorts, need an alternate, unambigous date format.
- Should recognize and parse indented HTML tags better
- Don't ignore umask - HM_UMASK variable?
- A better icon for hypermail!
- Ability to check for duplicate message IDs using cksum
to assure that duplicate message are infact truely duplicated
and not just a different message with the same msg-id header.
- Ability to refer to articles via message ID as well
- The ability to cap the archive to X most recent messages
- Allow for multiple mailbox formats to be recognized, like news articles,
listproc, elm mailboxes, etc.
- In parsing header fields, check for extra spaces, tabs, etc.
- Check for zero-length headers
- Search for "HTTP" and "http" when making links
- Parse archives with only one or zero messages
- Make sure "sort by..." groups all messages in same thread
- Add sort by "in reply to" as well
=============================
Administrative Things to do:
=============================
o Get a good set of test files. For now you can use your own...
o Get to develop a complete regression test suite
===========================
:Requests:
===========================
* Do you know if there is any way to cutomize the index sort of Hypermail?
I am using Solaris mailbox and the header field can be modified by user
(i.e. add more headers if required). However, the default index sort of
Hypermail only support Author, Thread and Subject. Is there any way to
customize the index sort of Hypermail so that we can map the UNIX mail
to HTML mail with cutomize headers.
* Would like to see a reindex option. Would like to remove a message from
the mailbox and click on reindex to delete the message.
* There should be an option I can set in the Hypermail command to cause it
to write html files as a specified user. Right now Hypermail is writing
files as daemon and this is causing problems. We'd prefer that it run as
something/someone else.
* One more: I still think that hypermail should also save the
full mail body part additionally, when there is an OpenPGP(PGP/MIME
rfc2015) signed Mail. If we do it first, maybe somebody enhances a
webbrowser to take advantage of it. Would be cool, if it could check
the signature then.
* It would be nice to be able to throttle hypermail. Could we add a
config option that would allow hypermail to renice itself ?
================================================
FILE: UPGRADE
================================================
Upgrade Notes
==============
From Hypermail 2.3.0 to Hypermail 2.4.0
-----------------------------------------
Hypermail will now detect and link with a system libpcre if it's
available and current. Otherwise, it will compile the bundled
libpcre. You can force the compile with the bundled one with the
--enable-bundled-pcre configure option.
The configuration directive "htmlmessage_deleted" has been
renamed "htmlmessage_deleted_spam".
The "deleted" configuration directive has been deprecated
in favor of "annotated". However, for backwards compatibility
with legacy archives, it will continue to be honored.
From Hypermail 1.x to Hypermail 2.x
-----------------------------------
!!!!WARNING!!!!
Hypermail 2.x HTML output files, indexes, etc are not compatible with 1.x
files. When installing 2.x, all existing HTML files in the specified output
directory must be removed first.
Use the original 1.x mailbox files to regenerate the new 2.x archive.
If the mailboxes are not available it should be possible to use the
script hypetombox.pl in the contrib/ directory.
================================================
FILE: acconfig.h
================================================
#undef HAVE_GDBM_H
================================================
FILE: aclocal.m4
================================================
dnl Some macros borrowed from Apache's httpd config file. Thanks!
dnl
dnl APR_SUBDIR_CONFIG(dir [, sub-package-cmdline-args, args-to-drop])
dnl
dnl dir: directory to find configure in
dnl sub-package-cmdline-args: arguments to add to the invocation (optional)
dnl args-to-drop: arguments to drop from the invocation (optional)
dnl
dnl Note: This macro relies on ac_configure_args being set properly.
dnl
dnl The args-to-drop argument is shoved into a case statement, so
dnl multiple arguments can be separated with a |.
dnl
dnl Note: Older versions of autoconf do not single-quote args, while 2.54+
dnl places quotes around every argument. So, if you want to drop the
dnl argument called --enable-layout, you must pass the third argument as:
dnl [--enable-layout=*|\'--enable-layout=*]
dnl
dnl Trying to optimize this is left as an exercise to the reader who wants
dnl to put up with more autoconf craziness. I give up.
dnl
AC_DEFUN([APR_SUBDIR_CONFIG], [
# save our work to this point; this allows the sub-package to use it
AC_CACHE_SAVE
echo "configuring package in $1 now"
ac_popdir=`pwd`
apr_config_subdirs="$1"
test -d $1 || $mkdir_p $1
ac_abs_srcdir=`(cd $srcdir/$1 && pwd)`
cd $1
changequote(, )dnl
# A "../" for each directory in /$config_subdirs.
ac_dots=`echo $apr_config_subdirs|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
changequote([, ])dnl
# Make the cache file pathname absolute for the subdirs
# required to correctly handle subdirs that might actually
# be symlinks
case "$cache_file" in
/*) # already absolute
ac_sub_cache_file=$cache_file ;;
*) # Was relative path.
ac_sub_cache_file="$ac_popdir/$cache_file" ;;
esac
ifelse($3, [], [apr_configure_args=$ac_configure_args],[
apr_configure_args=
apr_sep=
for apr_configure_arg in $ac_configure_args
do
case "$apr_configure_arg" in
$3)
continue ;;
esac
apr_configure_args="$apr_configure_args$apr_sep'$apr_configure_arg'"
apr_sep=" "
done
])
dnl autoconf doesn't add --silent to ac_configure_args; explicitly pass it
test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent"
dnl AC_CONFIG_SUBDIRS silences option warnings, emulate this for 2.62
apr_configure_args="--disable-option-checking $apr_configure_args"
dnl The eval makes quoting arguments work - specifically the second argument
dnl where the quoting mechanisms used is "" rather than [].
dnl
dnl We need to execute another shell because some autoconf/shell combinations
dnl will choke after doing repeated APR_SUBDIR_CONFIG()s. (Namely Solaris
dnl and autoconf-2.54+)
if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $2
then :
echo "$1 configured properly"
else
echo "configure failed for $1"
exit 1
fi
cd $ac_popdir
# grab any updates from the sub-package
AC_CACHE_LOAD
])dnl
dnl
dnl APR_ADDTO(variable, value)
dnl
dnl Add value to variable
dnl
AC_DEFUN([APR_ADDTO], [
if test "x$$1" = "x"; then
test "x$silent" != "xyes" && echo " setting $1 to \"$2\""
$1="$2"
else
apr_addto_bugger="$2"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
for j in $$1; do
if test "x$i" = "x$j"; then
apr_addto_duplicate="1"
break
fi
done
if test $apr_addto_duplicate = "0"; then
test "x$silent" != "xyes" && echo " adding \"$i\" to $1"
$1="$$1 $i"
fi
done
fi
])dnl
dnl
dnl APR_REMOVEFROM(variable, value)
dnl
dnl Remove a value from a variable
dnl
AC_DEFUN([APR_REMOVEFROM], [
if test "x$$1" = "x$2"; then
test "x$silent" != "xyes" && echo " nulling $1"
$1=""
else
apr_new_bugger=""
apr_removed=0
for i in $$1; do
if test "x$i" != "x$2"; then
apr_new_bugger="$apr_new_bugger $i"
else
apr_removed=1
fi
done
if test $apr_removed = "1"; then
test "x$silent" != "xyes" && echo " removed \"$2\" from $1"
$1=$apr_new_bugger
fi
fi
]) dnl
================================================
FILE: archive/.indent.pro
================================================
-nbad -bap -nbbo -nbc -br -brs -c33 -cd33 -ncdb -nce -ci4
-cp33 -ncs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-npsl -nsc -nsob -nss
-Tform_entry
-Tcgi_info
-TFILE
================================================
FILE: archive/1998
================================================
#!/bin/sh
#
# set -x # bug squisher
#
# The purpose of this script is to allow you to re-generate your
# hypermail archives at will. What you need to do is have a Unix
# mailbox copy of the archive that you want to rebuild.
#
# Please read throught the script to see what it does. Basically
# it takes a set of mailbox files and converts them into a hypermail
# archive of messages and will install an index.html file if you have
# specified one. Might want to edit this a bit. I maintain 20+
# list archives with hypermail so I have 20+ copies of this script
# around, each customized for the individual archives. Easyier
# to do that then have to remember complicated command line options
# and archive structures. The scripts are self documenting.
#
# Paths to things on disk
#
# ARCHIVE_DIR = The base directory of the archive
# MAILBOX_DIR = Mailbox version of the archive
# RDMSG = Location of mbox2hypermail utility
#
ARCHIVE_DIR=/ftp/hypermail/mail-archive
MAILBOX_DIR=${ARCHIVE_DIR}/mailbox
RDMSG=hrdmsg
LISTNAME=hypermail
#
# Ownership of the archives
#
# Beware: Hypermail needs to be able to potentially
# write these directories. Know who your mailer
# runs as.
#
OWNER=lists
GROUP=daemon
#
# Create_archive YYYY MON path-to-mailbox
#
# YYYY - 4 digit year
# MON - 3 Letter month abreviation
#
create_archive()
{
year=$1
month=$2
mailbox=$3
if [ ! -d ${ARCHIVE_DIR}/$year ]; then
mkdir ${ARCHIVE_DIR}/$year
fi
if [ ! -d ${ARCHIVE_DIR}/$year/$month ]; then
mkdir ${ARCHIVE_DIR}/$year/$month
else
rm -r ${ARCHIVE_DIR}/$year/$month
mkdir ${ARCHIVE_DIR}/$year/$month
fi
${RDMSG} -v -Y $year -M $month $mailbox
chown -R ${OWNER}.${GROUP} ${ARCHIVE_DIR}/$year/$month
}
#
# Ye Olde Main
#
create_archive 1998 Jan ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9801
create_archive 1998 Feb ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9802
create_archive 1998 Mar ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9803
create_archive 1998 Apr ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9804
create_archive 1998 May ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9805
create_archive 1998 Jun ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9806
create_archive 1998 Jul ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9807
create_archive 1998 Aug ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9808
create_archive 1998 Sep ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9809
create_archive 1998 Oct ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9810
create_archive 1998 Nov ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9811
create_archive 1998 Dec ${ARCHIVE_DIR}/mailbox/${LISTNAME}.9812
if [ -f index.html ]; then
cp index.html ${ARCHIVE_DIR}/1998
fi
#
# C'ya
#
exit 0
================================================
FILE: archive/Makefile.in
================================================
###################################################
# Sample Makefile for mail archive maintenance.
#
# Define variables and Macros
#
###################################################
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
SUFFIX=@suffix@
#WNOERROR=-Werror
#WARNINGS=$(WNOERROR) -ansi -pedantic -Wall -Wtraditional -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Dlint
CC=@CC@ $(WARNINGS)
CFLAGS=@CFLAGS@
INSTALL_PROG=@INSTALL@
###################################################
#
# Build the executable images
#
###################################################
#
# PLEASE read the README in this directory before continuing.
PROGS = msg2archive$(SUFFIX) rdmsg$(SUFFIX)
all: $(PROGS)
msg2archive$(SUFFIX): msg2archive.c lists.h
$(CC) $(CFLAGS) -o $@ msg2archive.c
rdmsg$(SUFFIX): mbox2hypermail.c lists.h
$(CC) $(CFLAGS) -o $@ mbox2hypermail.c
########################################
#
# Commands
#
########################################
lint:
lint $(LINT_FLAGS) $(SOURCE) | tee Lint.out
clean:
rm -f $(OBJS) Lint.out
rm -f $(PROGS)
clobber: clean
distclean: clean
install: $(bindir)/msg2archive$(SUFFIX) $(bindir)/rdmsg$(SUFFIX)
$(bindir)/msg2archive$(SUFFIX): msg2archive$(SUFFIX)
@if [ ! -d $(bindir) ]; then mkdir -p $(bindir); fi
$(INSTALL_PROG) -c msg2archive$(SUFFIX) $@
$(bindir)/rdmsg$(SUFFIX): rdmsg$(SUFFIX)
@if [ ! -d $(bindir) ]; then mkdir -p $(bindir); fi
$(INSTALL_PROG) -c rdmsg$(SUFFIX) $@
uninstall:
rm -f $(bindir)/msg2archive$(SUFFIX)
rm -f $(bindir)/rdmsg$(SUFFIX)
###################################################
#
# Object file include dependencies.
# The object file include dependencies are required.
#
###################################################
depend:
makedepend -- $(CFLAGS) -- $(SOURCE)
# DO NOT DELETE THIS LINE -- make depend depends on it.
================================================
FILE: archive
gitextract_0pcap6jv/
├── .gitignore
├── COPYING
├── Changelog
├── FILES
├── INSTALL
├── KNOWN_BUGS
├── Makefile.in
├── README
├── README.CVS
├── README.git
├── TODO
├── UPGRADE
├── acconfig.h
├── aclocal.m4
├── archive/
│ ├── .indent.pro
│ ├── 1998
│ ├── Makefile.in
│ ├── README
│ ├── lists.h
│ ├── mbox2hypermail.c
│ ├── msg2archive.c
│ ├── runtest
│ └── test-msg
├── autogen.sh
├── config.guess
├── config.h.in
├── config.sub
├── configs/
│ ├── hmrc.example
│ ├── hypermail-footer.hyp
│ ├── hypermail-index.hyp
│ ├── hypermail-msg.hyp
│ └── hypermail.rc
├── configure
├── configure.ac
├── contrib/
│ ├── canonicalize.pl
│ ├── cron_hypermail
│ ├── fixhtime.pl
│ ├── hoaf-28/
│ │ ├── README
│ │ ├── collect_snipplets.py
│ │ ├── create_archive_snipplet.py
│ │ ├── footer_html.hdr
│ │ ├── haof-0.1.dtd
│ │ ├── hypermail-2b28-2b28+.patch
│ │ └── top_html.hdr
│ ├── hyperfeed.pl
│ ├── hypetombox.pl
│ ├── ls2mail
│ ├── mailbox_date_trimmer/
│ │ ├── README.html
│ │ ├── README.mailbox_reader
│ │ ├── mailbox_date_trimmer.py
│ │ └── mailbox_reader.py
│ ├── msg2hypermailarchive.py
│ └── runtest
├── docs/
│ ├── Makefile.in
│ ├── archive_search.html
│ ├── attachments.txt
│ ├── customizing.html
│ ├── hmrc.4
│ ├── hmrc.html
│ ├── hypermail-faq.html
│ ├── hypermail.1
│ ├── hypermail.html
│ └── index_hypermail.txt
├── install-sh
├── lcc/
│ ├── README.txt
│ ├── defaults.h
│ ├── dirent.c
│ ├── dirent.h
│ ├── getdate.c
│ ├── hypermail_files.txt
│ ├── lcc_extras.c
│ ├── lcc_extras.h
│ ├── pcre.h
│ ├── pcre_chartables.c
│ └── pcre_config.h
├── libcgi/
│ ├── .indent.pro
│ ├── Makefile.in
│ ├── cgi.h
│ ├── form_ent.c
│ ├── form_tags.c
│ ├── get_cgi_info.c
│ ├── html.c
│ ├── libcgi.html
│ ├── main.c
│ ├── mcode.c
│ ├── strops.c
│ ├── syn_mime.c
│ ├── syn_url.c
│ └── template.c
├── ltmain.sh
├── maketgz
├── patchlevel.h
├── src/
│ ├── .indent.pro
│ ├── .splintrc
│ ├── Makefile.in
│ ├── base64.c
│ ├── base64.h
│ ├── date.c
│ ├── defaults.h.in
│ ├── dmatch.c
│ ├── dmatch.h
│ ├── domains.c
│ ├── domains.h
│ ├── file.c
│ ├── finelink.c
│ ├── finelink.h
│ ├── fnv/
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── aclocal.m4
│ │ ├── config.guess
│ │ ├── config.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.in
│ │ ├── configure.scan
│ │ ├── fnv.h
│ │ ├── fnv32.c
│ │ ├── fnv64.c
│ │ ├── hash_32.c
│ │ ├── hash_64.c
│ │ ├── have_ulong64.c
│ │ ├── ltconfig
│ │ └── ltmain.sh
│ ├── getdate.h
│ ├── getdate.texi
│ ├── getdate.y
│ ├── getname.c
│ ├── getname.h
│ ├── hypermail.c
│ ├── hypermail.h
│ ├── lang.c
│ ├── lang.h
│ ├── lock.c
│ ├── mail.c
│ ├── mem.c
│ ├── parse.c
│ ├── parse.h
│ ├── pcre/
│ │ ├── 132html
│ │ ├── AUTHORS
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── ChangeLog
│ │ ├── CheckMan
│ │ ├── CleanTxt
│ │ ├── Detrail
│ │ ├── HACKING
│ │ ├── INSTALL
│ │ ├── LICENCE
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── NEWS
│ │ ├── NON-AUTOTOOLS-BUILD
│ │ ├── NON-UNIX-USE
│ │ ├── PrepareRelease
│ │ ├── README
│ │ ├── RunGrepTest
│ │ ├── RunTest
│ │ ├── RunTest.bat
│ │ ├── aclocal.m4
│ │ ├── ar-lib
│ │ ├── cmake/
│ │ │ ├── COPYING-CMAKE-SCRIPTS
│ │ │ ├── FindEditline.cmake
│ │ │ ├── FindPackageHandleStandardArgs.cmake
│ │ │ └── FindReadline.cmake
│ │ ├── compile
│ │ ├── config-cmake.h.in
│ │ ├── config.guess
│ │ ├── config.h.generic
│ │ ├── config.h.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── depcomp
│ │ ├── dftables.c
│ │ ├── doc/
│ │ │ ├── html/
│ │ │ │ ├── NON-AUTOTOOLS-BUILD.txt
│ │ │ │ ├── README.txt
│ │ │ │ ├── index.html
│ │ │ │ ├── pcre-config.html
│ │ │ │ ├── pcre.html
│ │ │ │ ├── pcre16.html
│ │ │ │ ├── pcre32.html
│ │ │ │ ├── pcre_assign_jit_stack.html
│ │ │ │ ├── pcre_compile.html
│ │ │ │ ├── pcre_compile2.html
│ │ │ │ ├── pcre_config.html
│ │ │ │ ├── pcre_copy_named_substring.html
│ │ │ │ ├── pcre_copy_substring.html
│ │ │ │ ├── pcre_dfa_exec.html
│ │ │ │ ├── pcre_exec.html
│ │ │ │ ├── pcre_free_study.html
│ │ │ │ ├── pcre_free_substring.html
│ │ │ │ ├── pcre_free_substring_list.html
│ │ │ │ ├── pcre_fullinfo.html
│ │ │ │ ├── pcre_get_named_substring.html
│ │ │ │ ├── pcre_get_stringnumber.html
│ │ │ │ ├── pcre_get_stringtable_entries.html
│ │ │ │ ├── pcre_get_substring.html
│ │ │ │ ├── pcre_get_substring_list.html
│ │ │ │ ├── pcre_jit_exec.html
│ │ │ │ ├── pcre_jit_stack_alloc.html
│ │ │ │ ├── pcre_jit_stack_free.html
│ │ │ │ ├── pcre_maketables.html
│ │ │ │ ├── pcre_pattern_to_host_byte_order.html
│ │ │ │ ├── pcre_refcount.html
│ │ │ │ ├── pcre_study.html
│ │ │ │ ├── pcre_utf16_to_host_byte_order.html
│ │ │ │ ├── pcre_utf32_to_host_byte_order.html
│ │ │ │ ├── pcre_version.html
│ │ │ │ ├── pcreapi.html
│ │ │ │ ├── pcrebuild.html
│ │ │ │ ├── pcrecallout.html
│ │ │ │ ├── pcrecompat.html
│ │ │ │ ├── pcrecpp.html
│ │ │ │ ├── pcredemo.html
│ │ │ │ ├── pcregrep.html
│ │ │ │ ├── pcrejit.html
│ │ │ │ ├── pcrelimits.html
│ │ │ │ ├── pcrematching.html
│ │ │ │ ├── pcrepartial.html
│ │ │ │ ├── pcrepattern.html
│ │ │ │ ├── pcreperform.html
│ │ │ │ ├── pcreposix.html
│ │ │ │ ├── pcreprecompile.html
│ │ │ │ ├── pcresample.html
│ │ │ │ ├── pcrestack.html
│ │ │ │ ├── pcresyntax.html
│ │ │ │ ├── pcretest.html
│ │ │ │ └── pcreunicode.html
│ │ │ ├── index.html.src
│ │ │ ├── pcre-config.1
│ │ │ ├── pcre-config.txt
│ │ │ ├── pcre.3
│ │ │ ├── pcre.txt
│ │ │ ├── pcre16.3
│ │ │ ├── pcre32.3
│ │ │ ├── pcre_assign_jit_stack.3
│ │ │ ├── pcre_compile.3
│ │ │ ├── pcre_compile2.3
│ │ │ ├── pcre_config.3
│ │ │ ├── pcre_copy_named_substring.3
│ │ │ ├── pcre_copy_substring.3
│ │ │ ├── pcre_dfa_exec.3
│ │ │ ├── pcre_exec.3
│ │ │ ├── pcre_free_study.3
│ │ │ ├── pcre_free_substring.3
│ │ │ ├── pcre_free_substring_list.3
│ │ │ ├── pcre_fullinfo.3
│ │ │ ├── pcre_get_named_substring.3
│ │ │ ├── pcre_get_stringnumber.3
│ │ │ ├── pcre_get_stringtable_entries.3
│ │ │ ├── pcre_get_substring.3
│ │ │ ├── pcre_get_substring_list.3
│ │ │ ├── pcre_jit_exec.3
│ │ │ ├── pcre_jit_stack_alloc.3
│ │ │ ├── pcre_jit_stack_free.3
│ │ │ ├── pcre_maketables.3
│ │ │ ├── pcre_pattern_to_host_byte_order.3
│ │ │ ├── pcre_refcount.3
│ │ │ ├── pcre_study.3
│ │ │ ├── pcre_utf16_to_host_byte_order.3
│ │ │ ├── pcre_utf32_to_host_byte_order.3
│ │ │ ├── pcre_version.3
│ │ │ ├── pcreapi.3
│ │ │ ├── pcrebuild.3
│ │ │ ├── pcrecallout.3
│ │ │ ├── pcrecompat.3
│ │ │ ├── pcrecpp.3
│ │ │ ├── pcredemo.3
│ │ │ ├── pcregrep.1
│ │ │ ├── pcregrep.txt
│ │ │ ├── pcrejit.3
│ │ │ ├── pcrelimits.3
│ │ │ ├── pcrematching.3
│ │ │ ├── pcrepartial.3
│ │ │ ├── pcrepattern.3
│ │ │ ├── pcreperform.3
│ │ │ ├── pcreposix.3
│ │ │ ├── pcreprecompile.3
│ │ │ ├── pcresample.3
│ │ │ ├── pcrestack.3
│ │ │ ├── pcresyntax.3
│ │ │ ├── pcretest.1
│ │ │ ├── pcretest.txt
│ │ │ ├── pcreunicode.3
│ │ │ └── perltest.txt
│ │ ├── install-sh
│ │ ├── libpcre.pc.in
│ │ ├── libpcre16.pc.in
│ │ ├── libpcre32.pc.in
│ │ ├── libpcrecpp.pc.in
│ │ ├── libpcreposix.pc.in
│ │ ├── ltmain.sh
│ │ ├── m4/
│ │ │ ├── ax_pthread.m4
│ │ │ ├── libtool.m4
│ │ │ ├── ltoptions.m4
│ │ │ ├── ltsugar.m4
│ │ │ ├── ltversion.m4
│ │ │ ├── lt~obsolete.m4
│ │ │ └── pcre_visibility.m4
│ │ ├── makevp.bat
│ │ ├── makevp_c.txt
│ │ ├── makevp_l.txt
│ │ ├── missing
│ │ ├── pcre-config.in
│ │ ├── pcre.h.generic
│ │ ├── pcre.h.in
│ │ ├── pcre16_byte_order.c
│ │ ├── pcre16_chartables.c
│ │ ├── pcre16_compile.c
│ │ ├── pcre16_config.c
│ │ ├── pcre16_dfa_exec.c
│ │ ├── pcre16_exec.c
│ │ ├── pcre16_fullinfo.c
│ │ ├── pcre16_get.c
│ │ ├── pcre16_globals.c
│ │ ├── pcre16_jit_compile.c
│ │ ├── pcre16_maketables.c
│ │ ├── pcre16_newline.c
│ │ ├── pcre16_ord2utf16.c
│ │ ├── pcre16_printint.c
│ │ ├── pcre16_refcount.c
│ │ ├── pcre16_string_utils.c
│ │ ├── pcre16_study.c
│ │ ├── pcre16_tables.c
│ │ ├── pcre16_ucd.c
│ │ ├── pcre16_utf16_utils.c
│ │ ├── pcre16_valid_utf16.c
│ │ ├── pcre16_version.c
│ │ ├── pcre16_xclass.c
│ │ ├── pcre32_byte_order.c
│ │ ├── pcre32_chartables.c
│ │ ├── pcre32_compile.c
│ │ ├── pcre32_config.c
│ │ ├── pcre32_dfa_exec.c
│ │ ├── pcre32_exec.c
│ │ ├── pcre32_fullinfo.c
│ │ ├── pcre32_get.c
│ │ ├── pcre32_globals.c
│ │ ├── pcre32_jit_compile.c
│ │ ├── pcre32_maketables.c
│ │ ├── pcre32_newline.c
│ │ ├── pcre32_ord2utf32.c
│ │ ├── pcre32_printint.c
│ │ ├── pcre32_refcount.c
│ │ ├── pcre32_string_utils.c
│ │ ├── pcre32_study.c
│ │ ├── pcre32_tables.c
│ │ ├── pcre32_ucd.c
│ │ ├── pcre32_utf32_utils.c
│ │ ├── pcre32_valid_utf32.c
│ │ ├── pcre32_version.c
│ │ ├── pcre32_xclass.c
│ │ ├── pcre_byte_order.c
│ │ ├── pcre_chartables.c.dist
│ │ ├── pcre_compile.c
│ │ ├── pcre_config.c
│ │ ├── pcre_dfa_exec.c
│ │ ├── pcre_exec.c
│ │ ├── pcre_fullinfo.c
│ │ ├── pcre_get.c
│ │ ├── pcre_globals.c
│ │ ├── pcre_internal.h
│ │ ├── pcre_jit_compile.c
│ │ ├── pcre_jit_test.c
│ │ ├── pcre_maketables.c
│ │ ├── pcre_newline.c
│ │ ├── pcre_ord2utf8.c
│ │ ├── pcre_printint.c
│ │ ├── pcre_refcount.c
│ │ ├── pcre_scanner.cc
│ │ ├── pcre_scanner.h
│ │ ├── pcre_scanner_unittest.cc
│ │ ├── pcre_string_utils.c
│ │ ├── pcre_stringpiece.cc
│ │ ├── pcre_stringpiece.h.in
│ │ ├── pcre_stringpiece_unittest.cc
│ │ ├── pcre_study.c
│ │ ├── pcre_tables.c
│ │ ├── pcre_ucd.c
│ │ ├── pcre_valid_utf8.c
│ │ ├── pcre_version.c
│ │ ├── pcre_xclass.c
│ │ ├── pcrecpp.cc
│ │ ├── pcrecpp.h
│ │ ├── pcrecpp_internal.h
│ │ ├── pcrecpp_unittest.cc
│ │ ├── pcrecpparg.h.in
│ │ ├── pcredemo.c
│ │ ├── pcregexp.pas
│ │ ├── pcregrep.c
│ │ ├── pcreposix.c
│ │ ├── pcreposix.h
│ │ ├── pcretest.c
│ │ ├── perltest.pl
│ │ ├── sljit/
│ │ │ ├── sljitConfig.h
│ │ │ ├── sljitConfigInternal.h
│ │ │ ├── sljitExecAllocator.c
│ │ │ ├── sljitLir.c
│ │ │ ├── sljitLir.h
│ │ │ ├── sljitNativeARM_32.c
│ │ │ ├── sljitNativeARM_64.c
│ │ │ ├── sljitNativeARM_T2_32.c
│ │ │ ├── sljitNativeMIPS_32.c
│ │ │ ├── sljitNativeMIPS_64.c
│ │ │ ├── sljitNativeMIPS_common.c
│ │ │ ├── sljitNativePPC_32.c
│ │ │ ├── sljitNativePPC_64.c
│ │ │ ├── sljitNativePPC_common.c
│ │ │ ├── sljitNativeSPARC_32.c
│ │ │ ├── sljitNativeSPARC_common.c
│ │ │ ├── sljitNativeTILEGX-encoder.c
│ │ │ ├── sljitNativeTILEGX_64.c
│ │ │ ├── sljitNativeX86_32.c
│ │ │ ├── sljitNativeX86_64.c
│ │ │ ├── sljitNativeX86_common.c
│ │ │ └── sljitUtils.c
│ │ ├── test-driver
│ │ ├── testdata/
│ │ │ ├── grepbinary
│ │ │ ├── grepfilelist
│ │ │ ├── grepinput
│ │ │ ├── grepinput3
│ │ │ ├── grepinput8
│ │ │ ├── grepinputv
│ │ │ ├── grepinputx
│ │ │ ├── greplist
│ │ │ ├── grepoutput
│ │ │ ├── grepoutput8
│ │ │ ├── grepoutputN
│ │ │ ├── greppatN4
│ │ │ ├── saved16
│ │ │ ├── saved16BE-1
│ │ │ ├── saved16BE-2
│ │ │ ├── saved16LE-1
│ │ │ ├── saved16LE-2
│ │ │ ├── saved32
│ │ │ ├── saved32BE-1
│ │ │ ├── saved32BE-2
│ │ │ ├── saved32LE-1
│ │ │ ├── saved32LE-2
│ │ │ ├── saved8
│ │ │ ├── testinput1
│ │ │ ├── testinput10
│ │ │ ├── testinput11
│ │ │ ├── testinput12
│ │ │ ├── testinput13
│ │ │ ├── testinput14
│ │ │ ├── testinput15
│ │ │ ├── testinput16
│ │ │ ├── testinput17
│ │ │ ├── testinput18
│ │ │ ├── testinput19
│ │ │ ├── testinput2
│ │ │ ├── testinput20
│ │ │ ├── testinput21
│ │ │ ├── testinput22
│ │ │ ├── testinput23
│ │ │ ├── testinput24
│ │ │ ├── testinput25
│ │ │ ├── testinput26
│ │ │ ├── testinput3
│ │ │ ├── testinput4
│ │ │ ├── testinput5
│ │ │ ├── testinput6
│ │ │ ├── testinput7
│ │ │ ├── testinput8
│ │ │ ├── testinput9
│ │ │ ├── testinputEBC
│ │ │ ├── testoutput1
│ │ │ ├── testoutput10
│ │ │ ├── testoutput11-16
│ │ │ ├── testoutput11-32
│ │ │ ├── testoutput11-8
│ │ │ ├── testoutput12
│ │ │ ├── testoutput13
│ │ │ ├── testoutput14
│ │ │ ├── testoutput15
│ │ │ ├── testoutput16
│ │ │ ├── testoutput17
│ │ │ ├── testoutput18-16
│ │ │ ├── testoutput18-32
│ │ │ ├── testoutput19
│ │ │ ├── testoutput2
│ │ │ ├── testoutput20
│ │ │ ├── testoutput21-16
│ │ │ ├── testoutput21-32
│ │ │ ├── testoutput22-16
│ │ │ ├── testoutput22-32
│ │ │ ├── testoutput23
│ │ │ ├── testoutput24
│ │ │ ├── testoutput25
│ │ │ ├── testoutput26
│ │ │ ├── testoutput3
│ │ │ ├── testoutput3A
│ │ │ ├── testoutput3B
│ │ │ ├── testoutput4
│ │ │ ├── testoutput5
│ │ │ ├── testoutput6
│ │ │ ├── testoutput7
│ │ │ ├── testoutput8
│ │ │ ├── testoutput9
│ │ │ ├── testoutputEBC
│ │ │ ├── valgrind-jit.supp
│ │ │ ├── wintestinput3
│ │ │ └── wintestoutput3
│ │ └── ucp.h
│ ├── print.c
│ ├── print.h
│ ├── printfile.c
│ ├── printfile.h
│ ├── proto.h
│ ├── quotes.c
│ ├── search.c
│ ├── search.h
│ ├── setup.c
│ ├── setup.h
│ ├── string.c
│ ├── struct.c
│ ├── struct.h
│ ├── threadprint.c
│ ├── threadprint.h
│ ├── trio/
│ │ ├── CHANGES
│ │ ├── FILES
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── README.hypermail
│ │ ├── autogen.sh
│ │ ├── compare.c
│ │ ├── configure
│ │ ├── configure.in
│ │ ├── hypermail-patches.diff
│ │ ├── install-sh
│ │ ├── regression.c
│ │ ├── strio.h
│ │ ├── trio.c
│ │ ├── trio.h
│ │ ├── triodef.h
│ │ ├── trionan.c
│ │ ├── trionan.h
│ │ ├── triop.h
│ │ ├── triostr.c
│ │ └── triostr.h
│ ├── txt2html.c
│ ├── txt2html.h
│ ├── uconvert.h
│ ├── uudecode.c
│ └── uudecode.h
└── tests/
├── README
├── diff_hypermail_archives.pl
├── mboxes/
│ ├── 1msg.mbox
│ ├── critmail.mbox
│ ├── embedded.msg
│ ├── t1
│ ├── t2
│ ├── t3
│ ├── t4
│ ├── t5
│ ├── t6
│ ├── t7
│ ├── t8
│ └── y2k.mbox
├── stdintest.pl
├── test-footer.hyp
├── test-index.hyp
├── test-msg.hyp
├── test.rc
└── testhm.in
SYMBOL INDEX (2150 symbols across 123 files)
FILE: archive/mbox2hypermail.c
function FILE (line 55) | static FILE *safe_tmpfile(void)
function FILE (line 73) | static FILE *efopen(char *file, char *mode)
function blankline (line 99) | static int blankline(char *line)
function main (line 237) | int main(int argc, char **argv)
FILE: archive/msg2archive.c
type tm (line 55) | struct tm
function usage (line 71) | static int usage(void)
function FILE (line 86) | static FILE *safe_tmpfile(void)
function FILE (line 280) | FILE *s_popen(char *cmd, const char *type)
FILE: contrib/hoaf-28/collect_snipplets.py
function add_header (line 32) | def add_header(outputfile,path):
function add_footer (line 43) | def add_footer(outputfile,path):
function main (line 54) | def main(argv):
FILE: contrib/hoaf-28/create_archive_snipplet.py
function getmtime (line 36) | def getmtime(file):
class Mail (line 45) | class Mail:
method __init__ (line 47) | def __init__(self):
class SimpleDocHandler (line 55) | class SimpleDocHandler(saxlib.DocumentHandler):
method __init__ (line 57) | def __init__(self):
method startElement (line 65) | def startElement(self, name, attrs):
method endElement (line 77) | def endElement(self, name):
method characters (line 85) | def characters(self, ch, start,length):
function main (line 106) | def main(argv):
FILE: contrib/mailbox_date_trimmer/mailbox_date_trimmer.py
class Error (line 46) | class Error(Exception): pass
class Parse_error (line 47) | class Parse_error(Error): pass
class Parse_time_error (line 48) | class Parse_time_error(Parse_error): pass
function complete_time_string (line 61) | def complete_time_string(time_string):
function parse_date (line 81) | def parse_date(date_string):
function extract_header_dates (line 113) | def extract_header_dates(headers):
function time_to_string (line 145) | def time_to_string(time_in_seconds):
function get_acceptable_date (line 151) | def get_acceptable_date(reference_time, time_range, headers):
function replace_date_header (line 169) | def replace_date_header(email, new_date, verbose):
function usage_information (line 190) | def usage_information(exit_code = 0, binary_name = "mailbox_date_trimmer...
function process_command_line (line 217) | def process_command_line(argv = None):
function main_process (line 269) | def main_process(input, output, verbose):
FILE: contrib/mailbox_date_trimmer/mailbox_reader.py
class Error (line 103) | class Error(Exception): pass
class Parse_error (line 104) | class Parse_error(Error): pass
class Mailbox_base (line 116) | class Mailbox_base:
method __init__ (line 137) | def __init__(self, file_object):
method __del__ (line 152) | def __del__(self):
method read_mail (line 156) | def read_mail(self):
method close (line 204) | def close(self):
class Mailbox (line 216) | class Mailbox(Mailbox_base):
method __init__ (line 223) | def __init__(self, filename_or_file_object):
method read_mail (line 238) | def read_mail(self):
method close (line 257) | def close(self):
class Email (line 277) | class Email:
method __init__ (line 295) | def __init__(self, headers, body):
method readline (line 316) | def readline(self):
method readline_reset (line 342) | def readline_reset(self):
method all_lines (line 350) | def all_lines(self):
method close (line 360) | def close(self):
method get_header (line 369) | def get_header(self, header_name):
FILE: contrib/msg2hypermailarchive.py
class listconfig (line 53) | class listconfig:
method __init__ (line 55) | def __init__(self,
function usage (line 94) | def usage():
function openmailboxfile (line 105) | def openmailboxfile(list,yearstring,month):
function openhypermailpipe (line 121) | def openhypermailpipe(list,yearstring, month):
function archivemail (line 135) | def archivemail(listname,inputfile, yearstring, month):
function main (line 177) | def main():
FILE: lcc/dirent.c
type DIR (line 17) | struct DIR
function DIR (line 25) | DIR *opendir(const char *name)
function closedir (line 66) | int closedir(DIR *dir)
type dirent (line 89) | struct dirent
type dirent (line 91) | struct dirent
function rewinddir (line 109) | void rewinddir(DIR *dir)
FILE: lcc/dirent.h
type DIR (line 14) | typedef struct DIR DIR;
type dirent (line 16) | struct dirent
type dirent (line 23) | struct dirent
FILE: lcc/getdate.c
type TABLE (line 160) | typedef struct _TABLE {
type MERIDIAN (line 170) | typedef enum _MERIDIAN {
type yystype (line 207) | typedef union {
function yystrlen (line 669) | yystrlen (const char *yystr)
function yyparse (line 774) | int
function yyerror (line 1890) | static int yyerror (char *s)
function ToHour (line 1895) | static int ToHour (int Hours, MERIDIAN Meridian)
function ToYear (line 1921) | static int ToYear (int Year)
function LookupWord (line 1936) | static int LookupWord (char *buff)
function yylex (line 2055) | static int yylex (void)
function difftm (line 2115) | static long difftm (struct tm *a, struct tm *b)
function time_t (line 2134) | time_t get_date (const char *p, const time_t *now)
function main (line 2242) | int main (int ac, char *av[])
FILE: lcc/lcc_extras.c
function lstat (line 11) | int lstat(const char *file_name, struct stat *buf)
FILE: lcc/lcc_extras.h
type stat (line 5) | struct stat
FILE: lcc/pcre.h
type real_pcre (line 309) | struct real_pcre
type pcre (line 310) | typedef struct real_pcre pcre;
type real_pcre16 (line 312) | struct real_pcre16
type pcre16 (line 313) | typedef struct real_pcre16 pcre16;
type real_pcre32 (line 315) | struct real_pcre32
type pcre32 (line 316) | typedef struct real_pcre32 pcre32;
type real_pcre_jit_stack (line 318) | struct real_pcre_jit_stack
type pcre_jit_stack (line 319) | typedef struct real_pcre_jit_stack pcre_jit_stack;
type real_pcre16_jit_stack (line 321) | struct real_pcre16_jit_stack
type pcre16_jit_stack (line 322) | typedef struct real_pcre16_jit_stack pcre16_jit_stack;
type real_pcre32_jit_stack (line 324) | struct real_pcre32_jit_stack
type pcre32_jit_stack (line 325) | typedef struct real_pcre32_jit_stack pcre32_jit_stack;
type pcre_extra (line 361) | typedef struct pcre_extra {
type pcre16_extra (line 374) | typedef struct pcre16_extra {
type pcre32_extra (line 387) | typedef struct pcre32_extra {
type pcre_callout_block (line 403) | typedef struct pcre_callout_block {
type pcre16_callout_block (line 425) | typedef struct pcre16_callout_block {
type pcre32_callout_block (line 447) | typedef struct pcre32_callout_block {
type pcre_jit_stack (line 513) | typedef pcre_jit_stack *(*pcre_jit_callback)(void *);
type pcre16_jit_stack (line 514) | typedef pcre16_jit_stack *(*pcre16_jit_callback)(void *);
type pcre32_jit_stack (line 515) | typedef pcre32_jit_stack *(*pcre32_jit_callback)(void *);
FILE: libcgi/cgi.h
type cgi_info (line 58) | typedef struct {
type form_entry (line 79) | typedef struct festruct {
FILE: libcgi/form_ent.c
function form_entry (line 34) | form_entry *get_form_entries(cgi_info *ci)
function free_form_entries (line 48) | void free_form_entries(form_entry *fe)
function form_entry (line 73) | form_entry *get_fes_from_string(char *s)
function form_entry (line 159) | form_entry *get_fes_from_stream(int length, FILE *stream)
function dd2c (line 241) | unsigned char dd2c(char d1, char d2)
function dump_cgi_info (line 252) | void dump_cgi_info(cgi_info *ci)
FILE: libcgi/form_tags.c
function print_sel_list (line 29) | void print_sel_list(char *tname, char **opts, char *init)
function print_input_blank (line 40) | void print_input_blank(char *tname, unsigned int size,
function print_submit (line 53) | void print_submit(char *label)
FILE: libcgi/get_cgi_info.c
function get_cgi_info (line 29) | int get_cgi_info(cgi_info *ci)
FILE: libcgi/html.c
function print_doc_begin (line 29) | void print_doc_begin(char *title)
function print_doc_end (line 36) | void print_doc_end(char *text)
function print_logo (line 47) | void print_logo(void)
FILE: libcgi/main.c
function main (line 31) | int main(void)
FILE: libcgi/mcode.c
function mcode (line 29) | int mcode(cgi_info *ci)
FILE: libcgi/syn_mime.c
function syn_mimeheader (line 30) | int syn_mimeheader(char *buf, char *ct)
function print_mimeheader (line 43) | int print_mimeheader(const char *ct)
FILE: libcgi/syn_url.c
function syn_base_url (line 30) | int syn_base_url(char *buf, cgi_info *ci)
function print_base_url (line 45) | int print_base_url(cgi_info *ci)
FILE: libcgi/template.c
function cgi_main (line 29) | void cgi_main(cgi_info *ci)
FILE: src/base64.c
function base64Decode (line 18) | void base64Decode(char *intext, char *out, int *length)
FILE: src/date.c
type tm (line 37) | struct tm
type tm (line 38) | struct tm
function time_t (line 40) | time_t convtoyearsecs(char *date)
type tm (line 81) | struct tm
function gettimezone (line 118) | void gettimezone(void)
function getthisyear (line 131) | void getthisyear(void)
function year_of_datenum (line 139) | int year_of_datenum(time_t t)
function month_of_datenum (line 145) | int month_of_datenum(time_t t)
type tm (line 159) | struct tm
type tm (line 229) | struct tm
type tm (line 247) | struct tm
function time_t (line 255) | time_t iso_to_secs(char *isodate)
function time_t (line 317) | static time_t ydhms_tm_diff(int year, int yday, int hour,
function time_t (line 340) | static time_t my_mktime(struct tm *tp)
FILE: src/dmatch.c
function Match (line 29) | char Match(char *string, char *pattern)
FILE: src/domains.c
type co_code (line 4) | struct co_code
function valid_root_domain (line 6) | int valid_root_domain(char *eaddr)
FILE: src/domains.h
type co_code (line 16) | struct co_code {
type co_code (line 21) | struct co_code
FILE: src/file.c
function isfile (line 60) | int isfile(char *path)
function isdir (line 73) | int isdir(char *path)
type stat (line 88) | struct stat
type stat (line 122) | struct stat
type stat (line 167) | struct stat
type tm (line 219) | struct tm
type Push (line 222) | struct Push
function readconfigs (line 276) | void readconfigs(char *path, int cmd_show_variables)
function symlink_latest (line 313) | void symlink_latest()
function find_max_msgnum (line 346) | int find_max_msgnum()
function find_max_msgnum_id (line 433) | int find_max_msgnum_id()
function free_msgnum_id_table (line 504) | void free_msgnum_id_table(char *table[], int max_num)
function is_empty_archive (line 517) | int is_empty_archive()
type Push (line 551) | struct Push
type emailsubdir (line 591) | struct emailsubdir
type emailsubdir (line 593) | struct emailsubdir
type emailsubdir (line 594) | struct emailsubdir
type emailinfo (line 633) | struct emailinfo
type emailinfo (line 667) | struct emailinfo
type emailinfo (line 667) | struct emailinfo
type emailinfo (line 686) | struct emailinfo
type emailinfo (line 686) | struct emailinfo
type emailinfo (line 706) | struct emailinfo
type emailinfo (line 717) | struct emailinfo
type emailinfo (line 726) | struct emailinfo
function matches_existing (line 742) | int matches_existing(int msgnum)
FILE: src/finelink.c
type emailinfo (line 35) | struct emailinfo
type emailinfo (line 35) | struct emailinfo
type body (line 43) | struct body
type body (line 44) | struct body
function place_a_end (line 93) | static int place_a_end(const String_Match * match_info, struct body **bp...
function add_anchor (line 131) | static int add_anchor(int msgnum, int quoting_msgnum, int quote_num, con...
type emailinfo (line 279) | struct emailinfo
type body (line 281) | struct body
type emailinfo (line 287) | struct emailinfo
type emailinfo (line 293) | struct emailinfo
type Push (line 333) | struct Push
type Push (line 334) | struct Push
type emailinfo (line 359) | struct emailinfo
function handle_quoted_text (line 390) | int handle_quoted_text(FILE *fp, struct emailinfo *email, const struct b...
function set_new_reply_to (line 472) | void set_new_reply_to(int msgnum, int match_len)
function get_new_reply_to (line 503) | int get_new_reply_to()
function replace_maybe_replies (line 513) | void replace_maybe_replies(const char *filename, struct emailinfo *ep, i...
function str_similar_str (line 631) | static int str_similar_str(const char *str1, const char *str2)
FILE: src/finelink.h
type emailinfo (line 8) | struct emailinfo
type body (line 8) | struct body
type emailinfo (line 11) | struct emailinfo
FILE: src/fnv/fnv.h
type Fnv32_t (line 78) | typedef unsigned long Fnv32_t;
type Fnv64_t (line 113) | typedef unsigned long long Fnv64_t;
type Fnv64_t (line 115) | typedef struct {
FILE: src/fnv/fnv32.c
function print_fnv (line 103) | static void
function main (line 119) | int
FILE: src/fnv/fnv64.c
function print_fnv (line 104) | static void
function main (line 133) | int
FILE: src/fnv/hash_32.c
function Fnv32_t (line 90) | Fnv32_t
function Fnv32_t (line 129) | Fnv32_t
FILE: src/fnv/hash_64.c
function Fnv64_t (line 112) | Fnv64_t
function Fnv64_t (line 217) | Fnv64_t
FILE: src/fnv/have_ulong64.c
function main (line 40) | int
FILE: src/getname.c
function blankstring (line 7) | static int blankstring(char *str)
function getname (line 62) | void getname(char *line, char **namep, char **emailp)
FILE: src/hypermail.c
function cmderr (line 53) | void cmderr(char *errorstr)
function progerr (line 65) | void progerr(char *errorstr)
function version (line 115) | void version(void)
function usage (line 125) | void usage(void)
function main (line 173) | int main(int argc, char **argv)
FILE: src/hypermail.h
type mindex_t (line 162) | typedef enum { DATE_INDEX, THREAD_INDEX, SUBJECT_INDEX, AUTHOR_INDEX,
type filtered_reason_t (line 166) | typedef enum {
type annotation_robot_t (line 176) | typedef enum {
type annotation_content_t (line 182) | typedef enum {
type textplain_format_t (line 189) | typedef enum {
type parseemail_conversion_t (line 195) | typedef enum {
type Push (line 210) | struct Push {
type reply (line 222) | struct reply {
type body (line 231) | struct body {
type printed (line 244) | struct printed {
type hmlist (line 249) | struct hmlist {
type hashemail (line 254) | struct hashemail {
type emailsubdir (line 259) | struct emailsubdir { /* used by set_folder_by_date, set_msgsperfolder */
type emailinfo (line 273) | struct emailinfo {
type header (line 312) | struct header {
type attach (line 318) | struct attach {
type boundary (line 339) | struct boundary {
type charset_stack (line 345) | struct charset_stack {
FILE: src/lang.c
type language_entry (line 11) | struct language_entry
function main (line 34) | int main(int argc, char **argv)
FILE: src/lang.h
type language_entry (line 29) | struct language_entry {
type language_entry (line 2621) | struct language_entry
type language_entry (line 2647) | struct language_entry
FILE: src/lock.c
function lock_archive (line 8) | void lock_archive(char *dir)
function unlock_archive (line 44) | void unlock_archive(void)
FILE: src/mail.c
function cgi_main (line 25) | void cgi_main(cgi_info *ci)
FILE: src/parse.c
type EncodeType (line 69) | typedef enum {
type ContentType (line 85) | typedef enum {
function hasblack (line 94) | static int hasblack(char *p)
function ignorecontent (line 100) | int ignorecontent(char *type)
function inlinecontent (line 111) | int inlinecontent(char *type)
function preferedcontent (line 116) | int preferedcontent(int *current_weight, char *type, int decode)
function textcontent (line 162) | int textcontent(char *type)
function is_applemail_ua (line 177) | static int is_applemail_ua(char *ua_string)
function isre (line 207) | int isre(char *re, char **end)
function print_progress (line 250) | void print_progress(int num, char *msg, char *filename)
function create_attachname (line 334) | static void
function crossindex (line 360) | void crossindex(void)
function crossindexthread2 (line 446) | void crossindexthread2(int num)
function crossindexthread2 (line 469) | void crossindexthread2(int num)
function crossindexthread1 (line 492) | void crossindexthread1(struct header *hp)
type Push (line 541) | struct Push
type Push (line 593) | struct Push
type Push (line 643) | struct Push
function getannotation (line 696) | static bool
type Push (line 773) | struct Push
type Push (line 879) | struct Push
function get_quotelevel (line 1106) | static int get_quotelevel (const char *line)
function rfc3676_handler (line 1138) | static bool rfc3676_handler (char *line, bool delsp_flag, int *quotelevel,
type Push (line 1309) | struct Push
type Push (line 1369) | struct Push
function emptydir (line 1423) | void emptydir(char *directory)
function do_uudecode (line 1456) | static int do_uudecode(FILE *fp, char *line, char *line_buf,
function write_txt_file (line 1485) | static void write_txt_file(struct emailinfo *emp, struct Push *raw_text_...
function parsemail (line 1516) | int parsemail(char *mbox, /* file name */
function fixreplyheader (line 4480) | void fixreplyheader(char *dir, int num, int remove_maybes, int max_update)
function fixthreadheader (line 4759) | void fixthreadheader(char *dir, int num, int max_update)
function count_deleted (line 4886) | int count_deleted(int limit)
FILE: src/parse.h
type emailinfo (line 16) | struct emailinfo
type reply (line 16) | struct reply
type header (line 20) | struct header
FILE: src/pcre/dftables.c
function main (line 61) | int main(int argc, char **argv)
FILE: src/pcre/pcre16_utf16_utils.c
function pcre16_utf16_to_host_byte_order (line 84) | int
FILE: src/pcre/pcre32_utf32_utils.c
function pcre_uint32 (line 55) | static pcre_uint32
function pcre32_utf32_to_host_byte_order (line 96) | int
FILE: src/pcre/pcre_byte_order.c
function pcre_uint32 (line 66) | static pcre_uint32
function pcre_uint16 (line 75) | static pcre_uint16
function PCRE_EXP_DECL (line 105) | PCRE_EXP_DECL int pcre32_pattern_to_host_byte_order(pcre32 *argument_re,
FILE: src/pcre/pcre_compile.c
type verbitem (line 237) | typedef struct verbitem {
function expand_workspace (line 921) | static int
function BOOL (line 960) | static BOOL
function check_escape (line 1005) | static int
function BOOL (line 1511) | static BOOL
function pcre_uchar (line 1607) | static const pcre_uchar *
function pcre_uchar (line 1669) | static const pcre_uchar*
function find_fixedlength (line 1736) | static int
function pcre_uchar (line 2080) | const pcre_uchar *
function pcre_uchar (line 2243) | static const pcre_uchar *
function BOOL (line 2396) | static BOOL
function BOOL (line 2771) | static BOOL
function pcre_uchar (line 2797) | static pcre_uchar
function BOOL (line 2827) | static BOOL
function pcre_uchar (line 2915) | static const pcre_uchar *
function BOOL (line 3120) | static BOOL
function auto_possessify (line 3659) | static void
function BOOL (line 3933) | static BOOL
function check_posix_name (line 3972) | static int
function adjust_recurse (line 4020) | static void
function pcre_uchar (line 4076) | static pcre_uchar *
function complete_callout (line 4104) | static void
function get_othercase_range (line 4136) | static int
function add_list_to_class (line 4365) | static int
function add_not_list_to_class (line 4403) | static int
function BOOL (line 4452) | static BOOL
function BOOL (line 8306) | static BOOL
function BOOL (line 8660) | static BOOL
function BOOL (line 8759) | static BOOL
function pcre_uint32 (line 8880) | static pcre_uint32
function add_name (line 8971) | static void
function PCRE_EXP_DEFN (line 9040) | PCRE_EXP_DEFN pcre32 * PCRE_CALL_CONVENTION
function PCRE_EXP_DEFN (line 9064) | PCRE_EXP_DEFN pcre32 * PCRE_CALL_CONVENTION
FILE: src/pcre/pcre_config.c
function PCRE_CALL_CONVENTION (line 75) | PCRE_CALL_CONVENTION
FILE: src/pcre/pcre_dfa_exec.c
type stateblock (line 284) | typedef struct stateblock {
function pchars (line 308) | static void
function internal_dfa_exec (line 397) | static int
function PCRE_CALL_CONVENTION (line 3188) | PCRE_CALL_CONVENTION
FILE: src/pcre/pcre_exec.c
function pchars (line 130) | static void
function match_ref (line 164) | static int
type heapframe (line 389) | typedef struct heapframe {
function release_match_heapframes (line 6307) | static void
function PCRE_CALL_CONVENTION (line 6356) | PCRE_CALL_CONVENTION
FILE: src/pcre/pcre_fullinfo.c
function PCRE_CALL_CONVENTION (line 77) | PCRE_CALL_CONVENTION
FILE: src/pcre/pcre_get.c
function PCRE_CALL_CONVENTION (line 75) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 157) | PCRE_CALL_CONVENTION
function get_first_set (line 269) | static int
function PCRE_CALL_CONVENTION (line 346) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 403) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 452) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 515) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 558) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 623) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 662) | PCRE_CALL_CONVENTION
FILE: src/pcre/pcre_globals.c
function LocalPcreFree (line 66) | static void LocalPcreFree(void* aPtr)
FILE: src/pcre/pcre_internal.h
type pcre_uint8 (line 194) | typedef unsigned char pcre_uint8;
type pcre_uint16 (line 197) | typedef unsigned short pcre_uint16;
type pcre_int16 (line 198) | typedef short pcre_int16;
type pcre_uint16 (line 202) | typedef unsigned int pcre_uint16;
type pcre_int16 (line 203) | typedef int pcre_int16;
type pcre_uint32 (line 211) | typedef unsigned int pcre_uint32;
type pcre_int32 (line 212) | typedef int pcre_int32;
type pcre_uint32 (line 216) | typedef unsigned long int pcre_uint32;
type pcre_int32 (line 217) | typedef long int pcre_int32;
type pcre_uchar (line 263) | typedef unsigned char pcre_uchar;
type pcre_uint16 (line 276) | typedef pcre_uint16 pcre_uchar;
type pcre_uint32 (line 284) | typedef pcre_uint32 pcre_uchar;
type BOOL (line 1159) | typedef int BOOL;
type real_pcre8_or_16 (line 2325) | typedef struct real_pcre8_or_16 {
type real_pcre (line 2348) | typedef struct real_pcre8_or_16 real_pcre;
type real_pcre16 (line 2349) | typedef struct real_pcre8_or_16 real_pcre16;
type real_pcre32 (line 2351) | typedef struct real_pcre32 {
type pcre_study_data (line 2395) | typedef struct pcre_study_data {
type open_capitem (line 2407) | typedef struct open_capitem {
type named_group (line 2416) | typedef struct named_group {
type compile_data (line 2425) | typedef struct compile_data {
type branch_chain (line 2467) | typedef struct branch_chain {
type recurse_check (line 2474) | typedef struct recurse_check {
type recursion_info (line 2482) | typedef struct recursion_info {
type dfa_recursion_info (line 2493) | typedef struct dfa_recursion_info {
type eptrblock (line 2504) | typedef struct eptrblock {
type match_data (line 2513) | typedef struct match_data {
type dfa_match_data (line 2568) | typedef struct dfa_match_data {
type ucp_type_table (line 2649) | typedef struct {
type ucd_record (line 2761) | typedef struct {
FILE: src/pcre/pcre_jit_compile.c
type jit_arguments (line 160) | typedef struct jit_arguments {
type executable_functions (line 179) | typedef struct executable_functions {
type jump_list (line 189) | typedef struct jump_list {
type stub_list (line 194) | typedef struct stub_list {
type label_addr_list (line 200) | typedef struct label_addr_list {
type frame_types (line 206) | enum frame_types {
type control_types (line 211) | enum control_types {
type backtrack_common (line 222) | typedef struct backtrack_common {
type assert_backtrack (line 233) | typedef struct assert_backtrack {
type bracket_backtrack (line 244) | typedef struct bracket_backtrack {
type bracketpos_backtrack (line 264) | typedef struct bracketpos_backtrack {
type braminzero_backtrack (line 274) | typedef struct braminzero_backtrack {
type char_iterator_backtrack (line 279) | typedef struct char_iterator_backtrack {
type ref_iterator_backtrack (line 293) | typedef struct ref_iterator_backtrack {
type recurse_entry (line 299) | typedef struct recurse_entry {
type recurse_backtrack (line 309) | typedef struct recurse_backtrack {
type then_trap_backtrack (line 316) | typedef struct then_trap_backtrack {
type compiler_common (line 331) | typedef struct compiler_common {
type compare_context (line 453) | typedef struct compare_context {
function pcre_uchar (line 575) | static pcre_uchar *bracketend(pcre_uchar *cc)
function no_alternatives (line 584) | static int no_alternatives(pcre_uchar *cc)
function pcre_uchar (line 610) | static pcre_uchar *next_opcode(compiler_common *common, pcre_uchar *cc)
function BOOL (line 805) | static BOOL check_opcode_types(compiler_common *common, pcre_uchar *cc, ...
function BOOL (line 932) | static BOOL is_accelerated_repeat(pcre_uchar *cc)
function SLJIT_INLINE (line 997) | static SLJIT_INLINE BOOL detect_fast_forward_skip(compiler_common *commo...
function SLJIT_INLINE (line 1048) | static SLJIT_INLINE void detect_fast_fail(compiler_common *common, pcre_...
function get_class_iterator_size (line 1111) | static int get_class_iterator_size(pcre_uchar *cc)
function BOOL (line 1143) | static BOOL detect_repeat(compiler_common *common, pcre_uchar *begin)
function set_private_data_ptrs (line 1280) | static void set_private_data_ptrs(compiler_common *common, int *private_...
function get_framesize (line 1462) | static int get_framesize(compiler_common *common, pcre_uchar *cc, pcre_u...
function init_frame (line 1645) | static void init_frame(compiler_common *common, pcre_uchar *cc, pcre_uch...
function SLJIT_INLINE (line 1767) | static SLJIT_INLINE int get_private_data_copy_length(compiler_common *co...
function copy_private_data (line 1892) | static void copy_private_data(compiler_common *common, pcre_uchar *cc, p...
function SLJIT_INLINE (line 2203) | static SLJIT_INLINE pcre_uchar *set_then_offsets(compiler_common *common...
function SLJIT_INLINE (line 2243) | static SLJIT_INLINE BOOL is_powerof2(unsigned int value)
function SLJIT_INLINE (line 2248) | static SLJIT_INLINE void set_jumps(jump_list *list, struct sljit_label *...
function SLJIT_INLINE (line 2259) | static SLJIT_INLINE void add_jump(struct sljit_compiler *compiler, jump_...
function add_stub (line 2270) | static void add_stub(compiler_common *common, struct sljit_jump *start)
function flush_stubs (line 2284) | static void flush_stubs(compiler_common *common)
function add_label_addr (line 2299) | static void add_label_addr(compiler_common *common, sljit_uw *update_addr)
function SLJIT_INLINE (line 2313) | static SLJIT_INLINE void count_match(compiler_common *common)
function SLJIT_INLINE (line 2321) | static SLJIT_INLINE void allocate_stack(compiler_common *common, int size)
function SLJIT_INLINE (line 2338) | static SLJIT_INLINE void free_stack(compiler_common *common, int size)
function sljit_uw (line 2346) | static sljit_uw * allocate_read_only_data(compiler_common *common, sljit...
function free_read_only_data (line 2366) | static void free_read_only_data(void *current, void *allocator_data)
function SLJIT_INLINE (line 2380) | static SLJIT_INLINE void reset_ovector(compiler_common *common, int length)
function SLJIT_INLINE (line 2419) | static SLJIT_INLINE void reset_fast_fail(compiler_common *common)
function SLJIT_INLINE (line 2431) | static SLJIT_INLINE void do_reset_match(compiler_common *common, int len...
function sljit_sw (line 2479) | static sljit_sw SLJIT_FUNC do_search_mark(sljit_sw *current, const pcre_...
function SLJIT_INLINE (line 2503) | static SLJIT_INLINE void copy_ovector(compiler_common *common, int topbr...
function SLJIT_INLINE (line 2582) | static SLJIT_INLINE void return_with_partial_match(compiler_common *comm...
function SLJIT_INLINE (line 2624) | static SLJIT_INLINE void check_start_used_ptr(compiler_common *common)
function SLJIT_INLINE (line 2648) | static SLJIT_INLINE BOOL char_has_othercase(compiler_common *common, pcr...
function char_othercase (line 2675) | static SLJIT_INLINE unsigned int char_othercase(compiler_common *common,...
function char_get_othercase_bit (line 2691) | static unsigned int char_get_othercase_bit(compiler_common *common, pcre...
function check_partial (line 2767) | static void check_partial(compiler_common *common, BOOL force)
function check_str_end (line 2797) | static void check_str_end(compiler_common *common, jump_list **end_reached)
function detect_partial_match (line 2827) | static void detect_partial_match(compiler_common *common, jump_list **ba...
function peek_char (line 2856) | static void peek_char(compiler_common *common, sljit_u32 max)
function BOOL (line 2901) | static BOOL is_char7_bitset(const sljit_u8 *bitset, BOOL nclass)
function read_char7_type (line 2918) | static void read_char7_type(compiler_common *common, BOOL full_read)
function read_char_range (line 2944) | static void read_char_range(compiler_common *common, sljit_u32 min, slji...
function SLJIT_INLINE (line 3072) | static SLJIT_INLINE void read_char(compiler_common *common)
function read_char8_type (line 3077) | static void read_char8_type(compiler_common *common, BOOL update_str_ptr)
function skip_char_back (line 3142) | static void skip_char_back(compiler_common *common)
function check_newlinechar (line 3177) | static void check_newlinechar(compiler_common *common, int nltype, jump_...
function do_utfreadchar (line 3213) | static void do_utfreadchar(compiler_common *common)
function do_utfreadchar16 (line 3261) | static void do_utfreadchar16(compiler_common *common)
function do_utfreadtype8 (line 3297) | static void do_utfreadtype8(compiler_common *common)
function do_getucd (line 3343) | static void do_getucd(compiler_common *common)
function sljit_label (line 3385) | sljit_label *mainloop_entry(compiler_common *common, BOOL hascrorlf)
function SLJIT_INLINE (line 3506) | static SLJIT_INLINE void add_prefix_char(pcre_uchar chr, pcre_uchar *chars)
function scan_prefix (line 3536) | static int scan_prefix(compiler_common *common, pcre_uchar *cc, pcre_uch...
function sljit_s32 (line 3936) | static sljit_s32 character_to_int32(pcre_uchar chr)
function SLJIT_INLINE (line 3953) | static SLJIT_INLINE void fast_forward_first_char2_sse2(compiler_common *...
function fast_forward_first_char2 (line 4217) | static void fast_forward_first_char2(compiler_common *common, pcre_uchar...
function SLJIT_INLINE (line 4375) | static SLJIT_INLINE BOOL fast_forward_first_n_chars(compiler_common *com...
function SLJIT_INLINE (line 4601) | static SLJIT_INLINE void fast_forward_first_char(compiler_common *common...
function SLJIT_INLINE (line 4618) | static SLJIT_INLINE void fast_forward_newline(compiler_common *common)
function SLJIT_INLINE (line 4707) | static SLJIT_INLINE void fast_forward_start_bits(compiler_common *common...
function sljit_jump (line 4783) | sljit_jump *search_requested_char(compiler_common *common, pcre_uchar re...
function do_revertframes (line 4846) | static void do_revertframes(compiler_common *common)
function check_wordboundary (line 4881) | static void check_wordboundary(compiler_common *common)
function BOOL (line 4990) | static BOOL check_class_ranges(compiler_common *common, const sljit_u8 *...
function do_casefulcmp (line 5236) | static void do_casefulcmp(compiler_common *common)
function do_caselesscmp (line 5316) | static void do_caselesscmp(compiler_common *common)
function pcre_uchar (line 5416) | static const pcre_uchar * SLJIT_FUNC do_utf_caselesscmp(pcre_uchar *src1...
function compile_xclass_matchingpath (line 5622) | static void compile_xclass_matchingpath(compiler_common *common, pcre_uc...
function pcre_uchar (line 6181) | static pcre_uchar *compile_simple_assertion_matchingpath(compiler_common...
function pcre_uchar (line 6402) | static pcre_uchar *compile_char1_matchingpath(compiler_common *common, p...
function SLJIT_INLINE (line 6791) | static SLJIT_INLINE pcre_uchar *compile_charn_matchingpath(compiler_comm...
type backtrack_common (line 6859) | struct backtrack_common
function compile_dnref_search (line 6889) | static void compile_dnref_search(compiler_common *common, pcre_uchar *cc...
function compile_ref_matchingpath (line 6919) | static void compile_ref_matchingpath(compiler_common *common, pcre_uchar...
function SLJIT_INLINE (line 7020) | static SLJIT_INLINE pcre_uchar *compile_ref_iterator_matchingpath(compil...
function SLJIT_INLINE (line 7227) | static SLJIT_INLINE pcre_uchar *compile_recurse_matchingpath(compiler_co...
function sljit_s32 (line 7296) | static sljit_s32 SLJIT_FUNC do_callout(struct jit_arguments *arguments, ...
function SLJIT_INLINE (line 7347) | static SLJIT_INLINE pcre_uchar *compile_callout_matchingpath(compiler_co...
function SLJIT_INLINE (line 7395) | static SLJIT_INLINE BOOL assert_needs_str_ptr_saving(pcre_uchar *cc)
function pcre_uchar (line 7421) | static pcre_uchar *compile_assert_matchingpath(compiler_common *common, ...
function SLJIT_INLINE (line 7843) | static SLJIT_INLINE void match_once_common(compiler_common *common, pcre...
function SLJIT_INLINE (line 7891) | static SLJIT_INLINE int match_capture_common(compiler_common *common, in...
function pcre_uchar (line 7970) | static pcre_uchar *compile_bracket_matchingpath(compiler_common *common,...
function pcre_uchar (line 8515) | static pcre_uchar *compile_bracketpos_matchingpath(compiler_common *comm...
function SLJIT_INLINE (line 8798) | static SLJIT_INLINE pcre_uchar *get_iterator_parameters(compiler_common ...
function pcre_uchar (line 8943) | static pcre_uchar *compile_iterator_matchingpath(compiler_common *common...
function SLJIT_INLINE (line 9338) | static SLJIT_INLINE pcre_uchar *compile_fail_accept_matchingpath(compile...
function SLJIT_INLINE (line 9382) | static SLJIT_INLINE pcre_uchar *compile_close_matchingpath(compiler_comm...
function SLJIT_INLINE (line 9401) | static SLJIT_INLINE pcre_uchar *compile_control_verb_matchingpath(compil...
function SLJIT_INLINE (line 9433) | static SLJIT_INLINE void compile_then_trap_matchingpath(compiler_common ...
function compile_matchingpath (line 9464) | static void compile_matchingpath(compiler_common *common, pcre_uchar *cc...
function compile_iterator_backtrackingpath (line 9790) | static void compile_iterator_backtrackingpath(compiler_common *common, s...
function SLJIT_INLINE (line 9918) | static SLJIT_INLINE void compile_ref_iterator_backtrackingpath(compiler_...
function SLJIT_INLINE (line 9943) | static SLJIT_INLINE void compile_recurse_backtrackingpath(compiler_commo...
function compile_assert_backtrackingpath (line 9969) | static void compile_assert_backtrackingpath(compiler_common *common, str...
function compile_bracket_backtrackingpath (line 10036) | static void compile_bracket_backtrackingpath(compiler_common *common, st...
function SLJIT_INLINE (line 10498) | static SLJIT_INLINE void compile_bracketpos_backtrackingpath(compiler_co...
function SLJIT_INLINE (line 10537) | static SLJIT_INLINE void compile_braminzero_backtrackingpath(compiler_co...
function SLJIT_INLINE (line 10561) | static SLJIT_INLINE void compile_control_verb_backtrackingpath(compiler_...
function SLJIT_INLINE (line 10624) | static SLJIT_INLINE void compile_then_trap_backtrackingpath(compiler_com...
function compile_backtrackingpath (line 10654) | static void compile_backtrackingpath(compiler_common *common, struct bac...
function SLJIT_INLINE (line 10841) | static SLJIT_INLINE void compile_recurse(compiler_common *common)
type sljit_compiler (line 10972) | struct sljit_compiler
type sljit_label (line 10985) | struct sljit_label
type sljit_label (line 10986) | struct sljit_label
type sljit_label (line 10987) | struct sljit_label
type sljit_label (line 10988) | struct sljit_label
type sljit_label (line 10989) | struct sljit_label
type sljit_label (line 10990) | struct sljit_label
type sljit_jump (line 10991) | struct sljit_jump
type sljit_jump (line 10992) | struct sljit_jump
type sljit_jump (line 10993) | struct sljit_jump
type sljit_jump (line 10994) | struct sljit_jump
function SLJIT_NOINLINE (line 11572) | static SLJIT_NOINLINE int jit_machine_stack_exec(jit_arguments *argument...
type sljit_stack (line 11643) | struct sljit_stack
type sljit_stack (line 11645) | struct sljit_stack
function PCRE_CALL_CONVENTION (line 11674) | PCRE_CALL_CONVENTION
function PCRE_EXP_DECL (line 11784) | PCRE_EXP_DECL pcre32_jit_stack *
function PCRE_EXP_DECL (line 11804) | PCRE_EXP_DECL void
function PCRE_EXP_DECL (line 11818) | PCRE_EXP_DECL void
function PCRE_EXP_DECL (line 11840) | PCRE_EXP_DECL void
function PCRE_EXP_DECL (line 11859) | PCRE_EXP_DECL pcre32_jit_stack *
function PCRE_EXP_DECL (line 11875) | PCRE_EXP_DECL void
function PCRE_EXP_DECL (line 11889) | PCRE_EXP_DECL void
function PCRE_EXP_DECL (line 11905) | PCRE_EXP_DECL void
FILE: src/pcre/pcre_jit_test.c
function main (line 100) | int main(void)
type regression_test_case (line 141) | struct regression_test_case {
type regression_test_case (line 148) | struct regression_test_case
function pcre_jit_stack (line 919) | static pcre_jit_stack* callback8(void *arg)
function pcre16_jit_stack (line 926) | static pcre16_jit_stack* callback16(void *arg)
function pcre32_jit_stack (line 933) | static pcre32_jit_stack* callback32(void *arg)
function pcre_jit_stack (line 942) | static pcre_jit_stack *getstack8(void)
function setstack8 (line 949) | static void setstack8(pcre_extra *extra)
function pcre16_jit_stack (line 965) | static pcre16_jit_stack *getstack16(void)
function setstack16 (line 972) | static void setstack16(pcre16_extra *extra)
function pcre32_jit_stack (line 988) | static pcre32_jit_stack *getstack32(void)
function setstack32 (line 995) | static void setstack32(pcre32_extra *extra)
function convert_utf8_to_utf16 (line 1010) | static int convert_utf8_to_utf16(const char *input, PCRE_UCHAR16 *output...
function copy_char8_to_char16 (line 1058) | static int copy_char8_to_char16(const char *input, PCRE_UCHAR16 *output,...
function convert_utf8_to_utf32 (line 1082) | static int convert_utf8_to_utf32(const char *input, PCRE_UCHAR32 *output...
function copy_char8_to_char32 (line 1118) | static int copy_char8_to_char32(const char *input, PCRE_UCHAR32 *output,...
function check_ascii (line 1140) | static int check_ascii(const char *input)
function regression_tests (line 1151) | static int regression_tests(void)
FILE: src/pcre/pcre_newline.c
function BOOL (line 75) | BOOL
function BOOL (line 150) | BOOL
FILE: src/pcre/pcre_printint.c
function print_char (line 117) | static unsigned int
function print_puchar (line 221) | static void
function print_prop (line 263) | static void
function pcre32_printint (line 308) | void
FILE: src/pcre/pcre_scanner.cc
type pcrecpp (line 44) | namespace pcrecpp {
FILE: src/pcre/pcre_scanner.h
function namespace (line 54) | namespace pcrecpp {
FILE: src/pcre/pcre_scanner_unittest.cc
function TestScanner (line 64) | static void TestScanner() {
function TestBigComment (line 130) | static void TestBigComment() {
function main (line 152) | int main(int argc, char** argv) {
FILE: src/pcre/pcre_stringpiece_unittest.cc
function CheckSTLComparator (line 30) | static void CheckSTLComparator() {
function CheckComparisonOperators (line 74) | static void CheckComparisonOperators() {
function main (line 145) | int main(int argc, char** argv) {
FILE: src/pcre/pcre_study.c
function find_minlength (line 82) | static int
function pcre_uchar (line 634) | static const pcre_uchar *
function set_type_bits (line 722) | static void
function set_nottype_bits (line 764) | static void
function set_start_bits (line 801) | static int
function PCRE_EXP_DEFN (line 1672) | PCRE_EXP_DEFN void
FILE: src/pcre/pcre_xclass.c
function BOOL (line 66) | BOOL
FILE: src/pcre/pcrecpp.cc
type pcrecpp (line 52) | namespace pcrecpp {
function pcre (line 130) | pcre* RE::Compile(Anchor anchor) {
function NewlineMode (line 413) | static int NewlineMode(int pcre_options) {
function string (line 526) | string RE::QuoteMeta(const StringPiece& unquoted) {
FILE: src/pcre/pcrecpp.h
function namespace (line 340) | namespace pcrecpp {
type Anchor (line 632) | enum Anchor {
FILE: src/pcre/pcrecpp_unittest.cc
function Timing1 (line 70) | static void Timing1(int num_iters) {
function Timing2 (line 79) | static void Timing2(int num_iters) {
function Timing3 (line 89) | static void Timing3(int num_iters) {
function LeakTest (line 107) | static void LeakTest() {
function RadixTests (line 128) | static void RadixTests() {
function TestExtract (line 367) | static void TestExtract() {
function TestConsume (line 382) | static void TestConsume() {
function TestFindAndConsume (line 398) | static void TestFindAndConsume() {
function TestMatchNumberPeculiarity (line 416) | static void TestMatchNumberPeculiarity() {
function TestRecursion (line 443) | static void TestRecursion() {
function TestQuoteMeta (line 487) | static void TestQuoteMeta(string unquoted, RE_Options options = RE_Optio...
function NegativeTestQuoteMeta (line 495) | static void NegativeTestQuoteMeta(string unquoted, string should_not_match,
function TestQuotaMetaSimple (line 504) | static void TestQuotaMetaSimple() {
function TestQuoteMetaSimpleNegative (line 518) | static void TestQuoteMetaSimpleNegative() {
function TestQuoteMetaLatin1 (line 533) | static void TestQuoteMetaLatin1() {
function TestQuoteMetaUtf8 (line 537) | static void TestQuoteMetaUtf8() {
function TestQuoteMetaAll (line 552) | static void TestQuoteMetaAll() {
function GetOneOptionResult (line 565) | static void GetOneOptionResult(
function TestOneOption (line 587) | static void TestOneOption(
function Test_CASELESS (line 614) | static void Test_CASELESS() {
function Test_MULTILINE (line 629) | static void Test_MULTILINE() {
function Test_DOTALL (line 642) | static void Test_DOTALL() {
function Test_DOLLAR_ENDONLY (line 655) | static void Test_DOLLAR_ENDONLY() {
function Test_EXTRA (line 666) | static void Test_EXTRA() {
function Test_EXTENDED (line 677) | static void Test_EXTENDED() {
function Test_NO_AUTO_CAPTURE (line 706) | static void Test_NO_AUTO_CAPTURE() {
function Test_UNGREEDY (line 725) | static void Test_UNGREEDY() {
function Test_all_options (line 739) | static void Test_all_options() {
function TestOptions (line 769) | static void TestOptions() {
function TestConstructors (line 782) | static void TestConstructors() {
function main (line 811) | int main(int argc, char** argv) {
FILE: src/pcre/pcredemo.c
function main (line 46) | int main(int argc, char **argv)
FILE: src/pcre/pcregrep.c
type BOOL (line 77) | typedef int BOOL;
type omstr (line 203) | typedef struct omstr {
type omdatastr (line 213) | typedef struct omdatastr {
type fnstr (line 222) | typedef struct fnstr {
type fndatastr (line 239) | typedef struct fndatastr {
type patstr (line 252) | typedef struct patstr {
type patdatastr (line 273) | typedef struct patdatastr {
type option_item (line 295) | typedef struct option_item {
function pcregrep_exit (line 433) | static void
function patstr (line 461) | static patstr *
function free_pattern_chain (line 501) | static void
function free_file_chain (line 524) | static void
type DIR (line 563) | typedef DIR directory_type;
function isdirectory (line 566) | static int
function directory_type (line 575) | static directory_type *
type dirent (line 586) | struct dirent
function closedirectory (line 594) | static void
function isregfile (line 603) | static int
function BOOL (line 617) | static BOOL
function BOOL (line 623) | static BOOL
function BOOL (line 633) | static BOOL
function BOOL (line 639) | static BOOL
type directory_type (line 673) | typedef struct directory_type
function isdirectory (line 682) | int
function directory_type (line 691) | directory_type *
function closedirectory (line 744) | void
function isregfile (line 757) | int isregfile(char *filename)
function BOOL (line 767) | static BOOL
function BOOL (line 773) | static BOOL
type directory_type (line 789) | typedef void directory_type;
function isdirectory (line 791) | int isdirectory(char *filename) { return 0; }
function directory_type (line 792) | directory_type * opendirectory(char *filename) { return (directory_type*...
function closedirectory (line 794) | void closedirectory(directory_type *dir) {}
function isregfile (line 801) | int isregfile(char *filename) { return 1; }
function BOOL (line 806) | static BOOL
function BOOL (line 812) | static BOOL
function usage (line 848) | static int
function help (line 869) | static void
function BOOL (line 951) | static BOOL
function decode_number (line 991) | static long int
function omstr (line 1045) | static omstr *
function read_one_line (line 1087) | static unsigned int
function do_after_lines (line 1389) | static void
function BOOL (line 1433) | static BOOL
function pcregrep (line 1501) | static int
function handle_option (line 2404) | static int
function BOOL (line 2505) | static BOOL
function BOOL (line 2581) | static BOOL
function main (line 2657) | int
FILE: src/pcre/pcreposix.c
function PCRE_CALL_CONVENTION (line 210) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 245) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 268) | PCRE_CALL_CONVENTION
function PCRE_CALL_CONVENTION (line 322) | PCRE_CALL_CONVENTION
FILE: src/pcre/pcreposix.h
type regex_t (line 97) | typedef struct {
type regoff_t (line 105) | typedef int regoff_t;
type regmatch_t (line 107) | typedef struct {
FILE: src/pcre/pcretest.c
function print_newline_config (line 1529) | static void
function pcre_jit_stack (line 1556) | static pcre_jit_stack* jit_callback(void *arg)
function utf82ord (line 1579) | static int
function ord2utf8 (line 1638) | static int
function to16 (line 1688) | static int
function to32 (line 1767) | static int
function BOOL (line 1826) | static BOOL
function pcre_uint8 (line 1869) | static pcre_uint8 *
function get_value (line 1964) | static int
function pchar (line 1982) | static int pchar(pcre_uint32 c, FILE *f)
function pchars (line 2022) | static int pchars(pcre_uint8 *p, int length, FILE *f)
function strlen16 (line 2060) | static int strlen16(PCRE_SPTR16 p)
function strlen32 (line 2075) | static int strlen32(PCRE_SPTR32 p)
function pchars16 (line 2093) | static int pchars16(PCRE_SPTR16 p, int length, FILE *f)
function pchars32 (line 2132) | static int pchars32(PCRE_SPTR32 p, int length, BOOL utf, FILE *f)
function pcre_uint8 (line 2158) | static pcre_uint8 *
function pcre_uint8 (line 2186) | static pcre_uint8 *
function pcre_uint8 (line 2213) | static pcre_uint8 *
function stack_guard (line 2240) | static int stack_guard(void)
function callout (line 2253) | static int callout(pcre_callout_block *cb)
function new_free (line 2378) | static void new_free(void *block)
function stack_free (line 2395) | static void stack_free(void *block)
function new_info (line 2420) | static int
function pcre_uint32 (line 2472) | static pcre_uint32
function pcre_uint16 (line 2481) | static pcre_uint16
function regexflip8_or_16 (line 2501) | static void
function regexflip_32 (line 2688) | static void
function regexflip (line 2783) | static void
function check_match_limit (line 2802) | static int
function strncmpic (line 2862) | static int
function check_mc_option (line 2891) | static int
function usage (line 2917) | static void
function main (line 2986) | int main(int argc, char **argv)
FILE: src/pcre/sljit/sljitConfigInternal.h
type sljit_u8 (line 353) | typedef unsigned char sljit_u8;
type sljit_s8 (line 354) | typedef signed char sljit_s8;
type sljit_u16 (line 357) | typedef unsigned short int sljit_u16;
type sljit_s16 (line 358) | typedef signed short int sljit_s16;
type sljit_u32 (line 361) | typedef unsigned int sljit_u32;
type sljit_s32 (line 362) | typedef signed int sljit_s32;
type sljit_uw (line 370) | typedef unsigned long int sljit_uw;
type sljit_sw (line 371) | typedef long int sljit_sw;
type sljit_uw (line 379) | typedef unsigned int sljit_uw;
type sljit_sw (line 380) | typedef int sljit_sw;
type sljit_uw (line 387) | typedef unsigned long long sljit_uw;
type sljit_sw (line 388) | typedef long long sljit_sw;
type sljit_uw (line 390) | typedef unsigned __int64 sljit_uw;
type __int64 (line 391) | typedef __int64 sljit_sw;
type sljit_uw (line 394) | typedef unsigned long int sljit_uw;
type sljit_sw (line 395) | typedef long int sljit_sw;
type sljit_uw (line 399) | typedef sljit_uw sljit_p;
type sljit_f32 (line 402) | typedef float sljit_f32;
type sljit_f64 (line 403) | typedef double sljit_f64;
FILE: src/pcre/sljit/sljitExecAllocator.c
function SLJIT_INLINE (line 84) | static SLJIT_INLINE void* alloc_chunk(sljit_uw size)
function SLJIT_INLINE (line 89) | static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size)
function SLJIT_INLINE (line 107) | static SLJIT_INLINE int get_map_jit_flag()
function SLJIT_INLINE (line 137) | static SLJIT_INLINE void* alloc_chunk(sljit_uw size)
function SLJIT_INLINE (line 161) | static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size)
type block_header (line 174) | struct block_header {
type free_block (line 179) | struct free_block {
type free_block (line 193) | struct free_block
function SLJIT_INLINE (line 197) | static SLJIT_INLINE void sljit_insert_free_block(struct free_block *free...
function SLJIT_INLINE (line 209) | static SLJIT_INLINE void sljit_remove_free_block(struct free_block *free...
function SLJIT_API_FUNC_ATTRIBUTE (line 222) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size)
function SLJIT_API_FUNC_ATTRIBUTE (line 293) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr)
function SLJIT_API_FUNC_ATTRIBUTE (line 338) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void)
FILE: src/pcre/sljit/sljitLir.c
function sljit_compiler (line 367) | sljit_compiler* sljit_create_compiler(void *allocator_data)
function SLJIT_API_FUNC_ATTRIBUTE (line 452) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 479) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct slj...
function SLJIT_API_FUNC_ATTRIBUTE (line 486) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
function SLJIT_API_FUNC_ATTRIBUTE (line 492) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
function SLJIT_API_FUNC_ATTRIBUTE (line 499) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
function SLJIT_API_FUNC_ATTRIBUTE (line 505) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_label(struct sljit_jump *jump, s...
function SLJIT_API_FUNC_ATTRIBUTE (line 514) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_target(struct sljit_jump *jump, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 523) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compi...
type sljit_compiler (line 539) | struct sljit_compiler
type sljit_memory_fragment (line 542) | struct sljit_memory_fragment
type sljit_memory_fragment (line 550) | struct sljit_memory_fragment
type sljit_compiler (line 558) | struct sljit_compiler
type sljit_memory_fragment (line 561) | struct sljit_memory_fragment
type sljit_memory_fragment (line 569) | struct sljit_memory_fragment
function SLJIT_API_FUNC_ATTRIBUTE (line 577) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler ...
function SLJIT_INLINE (line 593) | static SLJIT_INLINE void reverse_buf(struct sljit_compiler *compiler)
function SLJIT_INLINE (line 609) | static SLJIT_INLINE sljit_s32 get_arg_count(sljit_s32 arg_types)
function SLJIT_INLINE (line 622) | static SLJIT_INLINE void set_emit_enter(struct sljit_compiler *compiler,
function SLJIT_INLINE (line 639) | static SLJIT_INLINE void set_set_context(struct sljit_compiler *compiler,
function SLJIT_INLINE (line 656) | static SLJIT_INLINE void set_label(struct sljit_label *label, struct slj...
function SLJIT_INLINE (line 667) | static SLJIT_INLINE void set_jump(struct sljit_jump *jump, struct sljit_...
function SLJIT_INLINE (line 678) | static SLJIT_INLINE void set_const(struct sljit_const *const_, struct sl...
function sljit_s32 (line 708) | static sljit_s32 function_check_src_mem(struct sljit_compiler *compiler,...
function sljit_s32 (line 742) | static sljit_s32 function_check_src(struct sljit_compiler *compiler, slj...
function sljit_s32 (line 762) | static sljit_s32 function_check_dst(struct sljit_compiler *compiler, slj...
function sljit_s32 (line 779) | static sljit_s32 function_fcheck(struct sljit_compiler *compiler, sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 800) | SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compil...
function sljit_verbose_reg (line 815) | static void sljit_verbose_reg(struct sljit_compiler *compiler, sljit_s32 r)
function sljit_verbose_freg (line 825) | static void sljit_verbose_freg(struct sljit_compiler *compiler, sljit_s3...
function sljit_verbose_param (line 833) | static void sljit_verbose_param(struct sljit_compiler *compiler, sljit_s...
function sljit_verbose_fparam (line 859) | static void sljit_verbose_fparam(struct sljit_compiler *compiler, sljit_...
function SLJIT_INLINE (line 945) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_generate_code(struct s...
function SLJIT_INLINE (line 965) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_enter(struct slji...
function SLJIT_INLINE (line 1017) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_set_context(struct slj...
function SLJIT_INLINE (line 1068) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_return(struct slj...
function SLJIT_INLINE (line 1094) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fast_enter(struct...
function SLJIT_INLINE (line 1110) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fast_return(struc...
function SLJIT_INLINE (line 1127) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op0(struct sljit_...
function SLJIT_INLINE (line 1149) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op1(struct sljit_...
function SLJIT_INLINE (line 1213) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op2(struct sljit_...
function SLJIT_INLINE (line 1283) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_get_register_index(slj...
function SLJIT_INLINE (line 1292) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_get_float_register_ind...
function SLJIT_INLINE (line 1301) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_custom(struct ...
function SLJIT_INLINE (line 1335) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1(struct sljit...
function SLJIT_INLINE (line 1369) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1_cmp(struct s...
function SLJIT_INLINE (line 1407) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1_conv_sw_from...
function SLJIT_INLINE (line 1437) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop1_conv_f64_fro...
function SLJIT_INLINE (line 1467) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fop2(struct sljit...
function SLJIT_INLINE (line 1494) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_label(struct slji...
function SLJIT_INLINE (line 1514) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_jump(struct sljit...
function SLJIT_INLINE (line 1545) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_call(struct sljit...
function SLJIT_INLINE (line 1602) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_cmp(struct sljit_...
function SLJIT_INLINE (line 1626) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fcmp(struct sljit...
function SLJIT_INLINE (line 1651) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_ijump(struct slji...
function SLJIT_INLINE (line 1673) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_icall(struct slji...
function SLJIT_INLINE (line 1733) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_flags(struct s...
function SLJIT_INLINE (line 1770) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_cmov(struct sljit...
function SLJIT_INLINE (line 1806) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_mem(struct sljit_...
function SLJIT_INLINE (line 1841) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fmem(struct sljit...
function SLJIT_INLINE (line 1872) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_get_local_base(struct ...
function SLJIT_INLINE (line 1890) | static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_const(struct slji...
function SLJIT_INLINE (line 1934) | static SLJIT_INLINE sljit_s32 emit_mov_before_return(struct sljit_compil...
function SLJIT_INLINE (line 1961) | static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compi...
function sljit_jump (line 2042) | sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s32 type,
function sljit_jump (line 2125) | sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 2149) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2170) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2191) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_com...
function SLJIT_API_FUNC_ATTRIBUTE (line 2212) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
function sljit_compiler (line 2217) | sljit_compiler* sljit_create_compiler(void *allocator_data)
function SLJIT_API_FUNC_ATTRIBUTE (line 2224) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2230) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct slj...
function SLJIT_API_FUNC_ATTRIBUTE (line 2236) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_alloc_memory(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2245) | SLJIT_API_FUNC_ATTRIBUTE void sljit_compiler_verbose(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 2253) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2260) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
function SLJIT_API_FUNC_ATTRIBUTE (line 2267) | SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code)
function SLJIT_API_FUNC_ATTRIBUTE (line 2273) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2289) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 2305) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 2315) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 2324) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function SLJIT_API_FUNC_ATTRIBUTE (line 2333) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2341) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2355) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2372) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 2378) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function SLJIT_API_FUNC_ATTRIBUTE (line 2388) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compi...
function SLJIT_API_FUNC_ATTRIBUTE (line 2394) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2408) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function sljit_label (line 2425) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_jump (line 2432) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 2440) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 2450) | sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s32 type,
function sljit_jump (line 2464) | sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 2478) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_label(struct sljit_jump *jump, s...
function SLJIT_API_FUNC_ATTRIBUTE (line 2485) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_target(struct sljit_jump *jump, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2492) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2502) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2515) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 2528) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2541) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2552) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2563) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_com...
function sljit_const (line 2573) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_API_FUNC_ATTRIBUTE (line 2583) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 2591) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitLir.h
type sljit_memory_fragment (line 334) | struct sljit_memory_fragment {
type sljit_label (line 341) | struct sljit_label {
type sljit_jump (line 348) | struct sljit_jump {
type sljit_const (line 358) | struct sljit_const {
type sljit_compiler (line 363) | struct sljit_compiler {
type sljit_compiler (line 481) | struct sljit_compiler
function SLJIT_INLINE (line 488) | static SLJIT_INLINE sljit_s32 sljit_get_compiler_error(struct sljit_comp...
type sljit_compiler (line 496) | struct sljit_compiler
type sljit_compiler (line 509) | struct sljit_compiler
type sljit_compiler (line 513) | struct sljit_compiler
type sljit_compiler (line 521) | struct sljit_compiler
function SLJIT_INLINE (line 538) | static SLJIT_INLINE sljit_sw sljit_get_executable_offset(struct sljit_co...
function SLJIT_INLINE (line 546) | static SLJIT_INLINE sljit_uw sljit_get_generated_code_size(struct sljit_...
type sljit_compiler (line 624) | struct sljit_compiler
type sljit_compiler (line 638) | struct sljit_compiler
type sljit_compiler (line 648) | struct sljit_compiler
type sljit_compiler (line 671) | struct sljit_compiler
type sljit_compiler (line 672) | struct sljit_compiler
type sljit_compiler (line 882) | struct sljit_compiler
type sljit_compiler (line 950) | struct sljit_compiler
type sljit_compiler (line 1006) | struct sljit_compiler
type sljit_compiler (line 1046) | struct sljit_compiler
type sljit_compiler (line 1066) | struct sljit_compiler
type sljit_compiler (line 1073) | struct sljit_compiler
type sljit_compiler (line 1171) | struct sljit_compiler
type sljit_compiler (line 1179) | struct sljit_compiler
type sljit_compiler (line 1190) | struct sljit_compiler
type sljit_compiler (line 1204) | struct sljit_compiler
type sljit_jump (line 1209) | struct sljit_jump
type sljit_label (line 1209) | struct sljit_label
type sljit_jump (line 1211) | struct sljit_jump
type sljit_compiler (line 1219) | struct sljit_compiler
type sljit_compiler (line 1228) | struct sljit_compiler
type sljit_compiler (line 1242) | struct sljit_compiler
type sljit_compiler (line 1256) | struct sljit_compiler
type sljit_compiler (line 1290) | struct sljit_compiler
type sljit_compiler (line 1301) | struct sljit_compiler
type sljit_compiler (line 1315) | struct sljit_compiler
type sljit_compiler (line 1319) | struct sljit_compiler
function SLJIT_INLINE (line 1324) | static SLJIT_INLINE sljit_uw sljit_get_label_addr(struct sljit_label *la...
function SLJIT_INLINE (line 1325) | static SLJIT_INLINE sljit_uw sljit_get_jump_addr(struct sljit_jump *jump...
function SLJIT_INLINE (line 1326) | static SLJIT_INLINE sljit_uw sljit_get_const_addr(struct sljit_const *co...
type sljit_stack (line 1378) | struct sljit_stack {
type sljit_stack (line 1394) | struct sljit_stack
type sljit_stack (line 1401) | struct sljit_stack
type sljit_function_context (line 1417) | struct sljit_function_context {
type sljit_function_context (line 1426) | struct sljit_function_context
type sljit_compiler (line 1468) | struct sljit_compiler
type sljit_compiler (line 1474) | struct sljit_compiler
FILE: src/pcre/sljit/sljitNativeARM_32.c
function SLJIT_API_FUNC_ATTRIBUTE (line 33) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
function sljit_s32 (line 139) | static sljit_s32 push_cpool(struct sljit_compiler *compiler)
function sljit_s32 (line 177) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst)
function sljit_s32 (line 191) | static sljit_s32 push_inst_with_literal(struct sljit_compiler *compiler,...
function sljit_s32 (line 241) | static sljit_s32 push_inst_with_unique_literal(struct sljit_compiler *co...
function SLJIT_INLINE (line 261) | static SLJIT_INLINE sljit_s32 prepare_blx(struct sljit_compiler *compiler)
function SLJIT_INLINE (line 269) | static SLJIT_INLINE sljit_s32 emit_blx(struct sljit_compiler *compiler)
function sljit_uw (line 278) | static sljit_uw patch_pc_relative_loads(sljit_uw *last_pc_patch, sljit_u...
type future_patch (line 324) | struct future_patch {
function sljit_s32 (line 330) | static sljit_s32 resolve_const_pool_index(struct sljit_compiler *compile...
function sljit_s32 (line 385) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_uw inst)
function SLJIT_INLINE (line 396) | static SLJIT_INLINE sljit_s32 emit_imm(struct sljit_compiler *compiler, ...
function SLJIT_INLINE (line 404) | static SLJIT_INLINE sljit_s32 detect_jump_type(struct sljit_jump *jump, ...
function SLJIT_INLINE (line 461) | static SLJIT_INLINE void inline_set_jump_addr(sljit_uw jump_ptr, sljit_s...
function SLJIT_INLINE (line 524) | static SLJIT_INLINE void inline_set_const(sljit_uw addr, sljit_sw execut...
function SLJIT_API_FUNC_ATTRIBUTE (line 577) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 829) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
type sljit_compiler (line 901) | struct sljit_compiler
function SLJIT_API_FUNC_ATTRIBUTE (line 906) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 949) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 964) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function SLJIT_INLINE (line 1026) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function sljit_uw (line 1152) | static sljit_uw get_imm(sljit_uw imm)
function sljit_s32 (line 1190) | static sljit_s32 generate_int(struct sljit_compiler *compiler, sljit_s32...
function sljit_s32 (line 1301) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 1334) | static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compile...
function sljit_s32 (line 1430) | static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1577) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1653) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1706) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1751) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 1757) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 1763) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function sljit_s32 (line 1783) | static sljit_s32 emit_fop_mem(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_INLINE (line 1827) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 1847) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 1873) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1893) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1940) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1998) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 2013) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_uw (line 2033) | static sljit_uw get_cc(sljit_s32 type)
function sljit_label (line 2088) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_jump (line 2104) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_s32 (line 2148) | static sljit_s32 softfloat_call_with_args(struct sljit_compiler *compile...
function sljit_s32 (line 2258) | static sljit_s32 softfloat_post_call_with_args(struct sljit_compiler *co...
function sljit_s32 (line 2295) | static sljit_s32 hardfloat_call_with_args(struct sljit_compiler *compile...
function sljit_jump (line 2346) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 2381) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2422) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2457) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 2498) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2535) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler ...
function sljit_const (line 2639) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_API_FUNC_ATTRIBUTE (line 2666) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 2671) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitNativeARM_64.c
function SLJIT_API_FUNC_ATTRIBUTE (line 27) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
type sljit_u32 (line 33) | typedef sljit_u32 sljit_ins;
function sljit_s32 (line 137) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins)
function SLJIT_INLINE (line 146) | static SLJIT_INLINE sljit_s32 emit_imm64_const(struct sljit_compiler *co...
function SLJIT_INLINE (line 154) | static SLJIT_INLINE void modify_imm64_const(sljit_ins* inst, sljit_uw ne...
function SLJIT_INLINE (line 164) | static SLJIT_INLINE sljit_s32 detect_jump_type(struct sljit_jump *jump, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 218) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 337) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
function sljit_ins (line 390) | static sljit_ins logical_imm(sljit_sw imm, sljit_s32 len)
function sljit_s32 (line 456) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function sljit_s32 (line 558) | static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 ...
function sljit_s32 (line 811) | static sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 ...
function SLJIT_API_FUNC_ATTRIBUTE (line 868) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 994) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 1012) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 1081) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1113) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1226) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1281) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 1287) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 1293) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function sljit_s32 (line 1306) | static sljit_s32 emit_fop_mem(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_INLINE (line 1355) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 1377) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 1406) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1426) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1471) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1519) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 1532) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_uw (line 1550) | static sljit_uw get_cc(sljit_s32 type)
function sljit_label (line 1605) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_jump (line 1621) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 1647) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 1661) | sljit_jump* emit_cmp_to0(struct sljit_compiler *compiler, sljit_s32 type,
function SLJIT_API_FUNC_ATTRIBUTE (line 1696) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1723) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1738) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 1786) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1810) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1860) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1889) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_com...
function sljit_const (line 1929) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_API_FUNC_ATTRIBUTE (line 1950) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 1958) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitNativeARM_T2_32.c
function SLJIT_API_FUNC_ATTRIBUTE (line 27) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
type sljit_u32 (line 37) | typedef sljit_u32 sljit_ins;
function sljit_s32 (line 200) | static sljit_s32 push_inst16(struct sljit_compiler *compiler, sljit_ins ...
function sljit_s32 (line 212) | static sljit_s32 push_inst32(struct sljit_compiler *compiler, sljit_ins ...
function SLJIT_INLINE (line 222) | static SLJIT_INLINE sljit_s32 emit_imm32_const(struct sljit_compiler *co...
function SLJIT_INLINE (line 230) | static SLJIT_INLINE void modify_imm32_const(sljit_u16 *inst, sljit_uw ne...
function SLJIT_INLINE (line 240) | static SLJIT_INLINE sljit_s32 detect_jump_type(struct sljit_jump *jump, ...
function SLJIT_INLINE (line 295) | static SLJIT_INLINE void set_jump_instruction(struct sljit_jump *jump, s...
function SLJIT_API_FUNC_ATTRIBUTE (line 360) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 449) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
function sljit_uw (line 474) | static sljit_uw get_imm(sljit_uw imm)
function sljit_s32 (line 523) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function sljit_s32 (line 555) | static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 ...
function sljit_s32 (line 923) | static sljit_s32 emit_set_delta(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 943) | static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1035) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1151) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 1166) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 1221) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1315) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1409) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1457) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 1463) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 1469) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function sljit_s32 (line 1486) | static sljit_s32 emit_fop_mem(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_INLINE (line 1531) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 1551) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 1577) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1597) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1644) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1695) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 1710) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_uw (line 1730) | static sljit_uw get_cc(sljit_s32 type)
function sljit_label (line 1785) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_jump (line 1801) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_s32 (line 1835) | static sljit_s32 softfloat_call_with_args(struct sljit_compiler *compile...
function sljit_s32 (line 1947) | static sljit_s32 softfloat_post_call_with_args(struct sljit_compiler *co...
function sljit_s32 (line 1984) | static sljit_s32 hardfloat_call_with_args(struct sljit_compiler *compile...
function sljit_jump (line 2033) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 2068) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2100) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2135) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 2188) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2236) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler ...
function sljit_const (line 2293) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_API_FUNC_ATTRIBUTE (line 2314) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 2322) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitNativeMIPS_32.c
function sljit_s32 (line 29) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 69) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function SLJIT_INLINE (line 413) | static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 419) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 429) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
function sljit_s32 (line 439) | static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s...
function sljit_s32 (line 579) | static sljit_s32 post_call_with_args(struct sljit_compiler *compiler, sl...
function sljit_jump (line 610) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 640) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
FILE: src/pcre/sljit/sljitNativeMIPS_64.c
function sljit_s32 (line 29) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 160) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function SLJIT_INLINE (line 507) | static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 517) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 529) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
function sljit_s32 (line 541) | static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s...
function sljit_jump (line 615) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 643) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
FILE: src/pcre/sljit/sljitNativeMIPS_common.c
function SLJIT_API_FUNC_ATTRIBUTE (line 30) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
type sljit_u32 (line 45) | typedef sljit_u32 sljit_ins;
function sljit_s32 (line 223) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins in...
function SLJIT_INLINE (line 235) | static SLJIT_INLINE sljit_ins invert_branch(sljit_s32 flags)
function SLJIT_INLINE (line 240) | static SLJIT_INLINE sljit_ins* detect_jump_type(struct sljit_jump *jump,...
function sljit_cache_flush (line 373) | static __attribute__ ((noinline)) void sljit_cache_flush(void* code, voi...
function SLJIT_API_FUNC_ATTRIBUTE (line 379) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 517) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
type sljit_compiler (line 584) | struct sljit_compiler
function SLJIT_API_FUNC_ATTRIBUTE (line 592) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 651) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 668) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function sljit_s32 (line 755) | static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_...
function sljit_s32 (line 773) | static sljit_s32 can_cache(sljit_s32 arg, sljit_sw argw, sljit_s32 next_...
function sljit_s32 (line 796) | static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 f...
function SLJIT_INLINE (line 884) | static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compile...
function SLJIT_INLINE (line 921) | static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compil...
function sljit_s32 (line 928) | static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1061) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function sljit_s32 (line 1112) | static sljit_s32 emit_prefetch(struct sljit_compiler *compiler,
function SLJIT_API_FUNC_ATTRIBUTE (line 1134) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1211) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1283) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 1289) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 1295) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function SLJIT_INLINE (line 1311) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 1339) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 1377) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1415) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1464) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1546) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 1559) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_label (line 1578) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_jump (line 1621) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 1718) | sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, sljit_s32 type,
function SLJIT_API_FUNC_ATTRIBUTE (line 1848) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1880) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 1966) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function sljit_const (line 2039) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
FILE: src/pcre/sljit/sljitNativePPC_32.c
function sljit_s32 (line 29) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 44) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function SLJIT_INLINE (line 252) | static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 258) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 268) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitNativePPC_64.c
function sljit_s32 (line 44) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 148) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function sljit_s32 (line 416) | static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 471) | static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 480) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 492) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitNativePPC_common.c
function SLJIT_API_FUNC_ATTRIBUTE (line 27) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
type sljit_u32 (line 34) | typedef sljit_u32 sljit_ins;
function ppc_cache_flush (line 51) | static void ppc_cache_flush(sljit_ins *from, sljit_ins *to)
function SLJIT_API_FUNC_ATTRIBUTE (line 235) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_function_context(void** func_ptr...
function sljit_s32 (line 247) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins)
function SLJIT_INLINE (line 256) | static SLJIT_INLINE sljit_s32 detect_jump_type(struct sljit_jump *jump, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 327) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 531) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
function SLJIT_API_FUNC_ATTRIBUTE (line 608) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 675) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 688) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
type sljit_compiler (line 895) | struct sljit_compiler
function sljit_s32 (line 970) | static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1032) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function sljit_s32 (line 1079) | static sljit_s32 emit_prefetch(struct sljit_compiler *compiler,
function SLJIT_API_FUNC_ATTRIBUTE (line 1107) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1240) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1452) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 1458) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 1464) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function SLJIT_INLINE (line 1495) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 1556) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 1634) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1651) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1701) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1756) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 1770) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_label (line 1790) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_ins (line 1806) | static sljit_ins get_bo_bi_flags(sljit_s32 type)
function sljit_jump (line 1869) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 1901) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 1919) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1963) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1988) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 2118) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2128) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2222) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem(struct sljit_compiler...
function sljit_const (line 2261) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
FILE: src/pcre/sljit/sljitNativeSPARC_32.c
function sljit_s32 (line 27) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 38) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function sljit_s32 (line 141) | static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s...
function SLJIT_INLINE (line 260) | static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 266) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 276) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitNativeSPARC_common.c
function SLJIT_API_FUNC_ATTRIBUTE (line 27) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
type sljit_u32 (line 34) | typedef sljit_u32 sljit_ins;
function sparc_cache_flush (line 38) | static void sparc_cache_flush(sljit_ins *from, sljit_ins *to)
function sljit_s32 (line 204) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins in...
function SLJIT_INLINE (line 218) | static SLJIT_INLINE sljit_ins* detect_jump_type(struct sljit_jump *jump,...
function SLJIT_API_FUNC_ATTRIBUTE (line 293) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 413) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
function SLJIT_API_FUNC_ATTRIBUTE (line 472) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 496) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 508) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function sljit_s32 (line 560) | static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_...
function sljit_s32 (line 581) | static sljit_s32 can_cache(sljit_s32 arg, sljit_sw argw, sljit_s32 next_...
function sljit_s32 (line 601) | static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 f...
function SLJIT_INLINE (line 661) | static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compile...
function SLJIT_INLINE (line 670) | static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compil...
function sljit_s32 (line 677) | static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 804) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 850) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 899) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 944) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 950) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 956) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function SLJIT_INLINE (line 973) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 993) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 1023) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 1040) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1096) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 1181) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 1194) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_label (line 1213) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_ins (line 1230) | static sljit_ins get_cc(sljit_s32 type)
function sljit_jump (line 1285) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function sljit_jump (line 1332) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 1348) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1384) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1407) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 1452) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function sljit_const (line 1466) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
FILE: src/pcre/sljit/sljitNativeTILEGX-encoder.c
type tilegx_pipeline (line 183) | typedef enum
type tilegx_bundle_bits (line 192) | typedef unsigned long long tilegx_bundle_bits;
type tilegx_bundle_bits (line 225) | typedef tilegx_bundle_bits tile_bundle_bits;
type tilegx_operand_type (line 234) | typedef enum
type tilegx_operand (line 242) | struct tilegx_operand
type tilegx_mnemonic (line 275) | typedef enum
type tilegx_opcode (line 620) | struct tilegx_opcode
type tilegx_decoded_instruction (line 660) | struct tilegx_decoded_instruction
function get_BFEnd_X0 (line 1256) | static __inline unsigned int
function get_BFOpcodeExtension_X0 (line 1263) | static __inline unsigned int
function get_BFStart_X0 (line 1270) | static __inline unsigned int
function get_BrOff_X1 (line 1277) | static __inline unsigned int
function get_BrType_X1 (line 1284) | static __inline unsigned int
function get_Dest_Imm8_X1 (line 1290) | static __inline unsigned int
function get_Dest_X0 (line 1297) | static __inline unsigned int
function get_Dest_X1 (line 1304) | static __inline unsigned int
function get_Dest_Y0 (line 1310) | static __inline unsigned int
function get_Dest_Y1 (line 1317) | static __inline unsigned int
function get_Imm16_X0 (line 1323) | static __inline unsigned int
function get_Imm16_X1 (line 1330) | static __inline unsigned int
function get_Imm8OpcodeExtension_X0 (line 1336) | static __inline unsigned int
function get_Imm8OpcodeExtension_X1 (line 1343) | static __inline unsigned int
function get_Imm8_X0 (line 1349) | static __inline unsigned int
function get_Imm8_X1 (line 1356) | static __inline unsigned int
function get_Imm8_Y0 (line 1362) | static __inline unsigned int
function get_Imm8_Y1 (line 1369) | static __inline unsigned int
function get_JumpOff_X1 (line 1375) | static __inline unsigned int
function get_JumpOpcodeExtension_X1 (line 1381) | static __inline unsigned int
function get_MF_Imm14_X1 (line 1387) | static __inline unsigned int
function get_MT_Imm14_X1 (line 1393) | static __inline unsigned int
function get_Mode (line 1400) | static __inline unsigned int
function get_Opcode_X0 (line 1406) | static __inline unsigned int
function get_Opcode_X1 (line 1413) | static __inline unsigned int
function get_Opcode_Y0 (line 1419) | static __inline unsigned int
function get_Opcode_Y1 (line 1426) | static __inline unsigned int
function get_Opcode_Y2 (line 1432) | static __inline unsigned int
function get_RRROpcodeExtension_X0 (line 1439) | static __inline unsigned int
function get_RRROpcodeExtension_X1 (line 1446) | static __inline unsigned int
function get_RRROpcodeExtension_Y0 (line 1452) | static __inline unsigned int
function get_RRROpcodeExtension_Y1 (line 1459) | static __inline unsigned int
function get_ShAmt_X0 (line 1465) | static __inline unsigned int
function get_ShAmt_X1 (line 1472) | static __inline unsigned int
function get_ShAmt_Y0 (line 1478) | static __inline unsigned int
function get_ShAmt_Y1 (line 1485) | static __inline unsigned int
function get_ShiftOpcodeExtension_X0 (line 1491) | static __inline unsigned int
function get_ShiftOpcodeExtension_X1 (line 1498) | static __inline unsigned int
function get_ShiftOpcodeExtension_Y0 (line 1504) | static __inline unsigned int
function get_ShiftOpcodeExtension_Y1 (line 1511) | static __inline unsigned int
function get_SrcA_X0 (line 1517) | static __inline unsigned int
function get_SrcA_X1 (line 1524) | static __inline unsigned int
function get_SrcA_Y0 (line 1530) | static __inline unsigned int
function get_SrcA_Y1 (line 1537) | static __inline unsigned int
function get_SrcA_Y2 (line 1543) | static __inline unsigned int
function get_SrcBDest_Y2 (line 1550) | static __inline unsigned int
function get_SrcB_X0 (line 1556) | static __inline unsigned int
function get_SrcB_X1 (line 1563) | static __inline unsigned int
function get_SrcB_Y0 (line 1569) | static __inline unsigned int
function get_SrcB_Y1 (line 1576) | static __inline unsigned int
function get_UnaryOpcodeExtension_X0 (line 1582) | static __inline unsigned int
function get_UnaryOpcodeExtension_X1 (line 1589) | static __inline unsigned int
function get_UnaryOpcodeExtension_Y0 (line 1595) | static __inline unsigned int
function get_UnaryOpcodeExtension_Y1 (line 1602) | static __inline unsigned int
function sign_extend (line 1608) | static __inline int
function tilegx_bundle_bits (line 1615) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1622) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1629) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1636) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1644) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1651) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1659) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1666) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1673) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1680) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1687) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1694) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1701) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1708) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1715) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1722) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1729) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1736) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1743) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1750) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1757) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1764) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1772) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1779) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1786) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1793) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1800) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1807) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1815) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1822) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1829) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1836) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1843) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1850) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1857) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1864) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1871) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1878) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1885) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1892) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1899) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1906) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1913) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1920) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1927) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1934) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1941) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1948) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1955) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1962) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1969) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1976) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1983) | static __inline tilegx_bundle_bits
function tilegx_bundle_bits (line 1990) | static __inline tilegx_bundle_bits
type tilegx_opcode (line 1997) | struct tilegx_opcode
type tilegx_operand (line 9318) | struct tilegx_operand
type tilegx_opcode (line 9500) | struct tilegx_opcode
function parse_insn_tilegx (line 9520) | int
type tilegx_spr (line 9582) | struct tilegx_spr
function tilegx_spr_compare (line 9591) | static int
type tilegx_spr (line 9599) | struct tilegx_spr
type tilegx_spr (line 10049) | struct tilegx_spr
type tilegx_spr (line 10053) | struct tilegx_spr
type tilegx_spr (line 10062) | struct tilegx_spr
type tilegx_spr (line 10062) | struct tilegx_spr
function print_insn_tilegx (line 10067) | int
FILE: src/pcre/sljit/sljitNativeTILEGX_64.c
function SLJIT_API_FUNC_ATTRIBUTE (line 109) | SLJIT_API_FUNC_ATTRIBUTE const char *sljit_get_platform_name(void)
type sljit_uw (line 115) | typedef sljit_uw sljit_ins;
type jit_instr (line 117) | struct jit_instr {
function sljit_s32 (line 330) | static sljit_s32 push_inst_debug(struct sljit_compiler *compiler, sljit_...
function sljit_s32 (line 341) | static sljit_s32 push_inst_nodebug(struct sljit_compiler *compiler, slji...
function sljit_s32 (line 352) | static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins)
type Format (line 481) | struct Format {
type Format (line 489) | struct Format
type jit_instr (line 512) | struct jit_instr
function tilegx_pipeline (line 515) | tilegx_pipeline get_any_valid_pipe(const struct tilegx_opcode* opcode)
function insert_nop (line 524) | void insert_nop(tilegx_mnemonic opc, int line)
type Format (line 539) | struct Format
type Format (line 546) | struct Format
type Format (line 547) | struct Format
function sljit_s32 (line 560) | sljit_s32 assign_pipes()
function tilegx_bundle_bits (line 607) | tilegx_bundle_bits get_bundle_bit(struct jit_instr *inst)
function sljit_s32 (line 624) | static sljit_s32 update_buffer(struct sljit_compiler *compiler)
function sljit_s32 (line 736) | static sljit_s32 flush_buffer(struct sljit_compiler *compiler)
function sljit_s32 (line 744) | static sljit_s32 push_4_buffer(struct sljit_compiler *compiler, tilegx_m...
function sljit_s32 (line 764) | static sljit_s32 push_3_buffer(struct sljit_compiler *compiler, tilegx_m...
function sljit_s32 (line 825) | static sljit_s32 push_2_buffer(struct sljit_compiler *compiler, tilegx_m...
function sljit_s32 (line 870) | static sljit_s32 push_0_buffer(struct sljit_compiler *compiler, tilegx_m...
function sljit_s32 (line 886) | static sljit_s32 push_jr_buffer(struct sljit_compiler *compiler, tilegx_...
function SLJIT_INLINE (line 903) | static SLJIT_INLINE sljit_ins * detect_jump_type(struct sljit_jump *jump...
function SLJIT_API_FUNC_ATTRIBUTE (line 996) | SLJIT_API_FUNC_ATTRIBUTE void * sljit_generate_code(struct sljit_compile...
function sljit_s32 (line 1120) | static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s...
function sljit_s32 (line 1143) | static sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 d...
function sljit_s32 (line 1158) | static sljit_s32 emit_const_64(struct sljit_compiler *compiler, sljit_s3...
function SLJIT_API_FUNC_ATTRIBUTE (line 1175) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 1225) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 1239) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function sljit_s32 (line 1288) | static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_...
function sljit_s32 (line 1314) | static sljit_s32 can_cache(sljit_s32 arg, sljit_sw argw, sljit_s32 next_...
function sljit_s32 (line 1340) | static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 f...
function SLJIT_INLINE (line 1533) | static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compile...
function SLJIT_INLINE (line 1543) | static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 1550) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 1567) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function SLJIT_INLINE (line 1585) | static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *comp...
function sljit_s32 (line 1959) | static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2085) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 2168) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2192) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2257) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function sljit_label (line 2296) | sljit_label * sljit_emit_label(struct sljit_compiler *compiler)
function SLJIT_API_FUNC_ATTRIBUTE (line 2314) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function sljit_jump (line 2403) | sljit_jump * sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2487) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2492) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function sljit_const (line 2497) | sljit_const * sljit_emit_const(struct sljit_compiler *compiler, sljit_s3...
function SLJIT_API_FUNC_ATTRIBUTE (line 2521) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 2531) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
function SLJIT_API_FUNC_ATTRIBUTE (line 2542) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 2548) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
FILE: src/pcre/sljit/sljitNativeX86_32.c
function sljit_s32 (line 29) | static sljit_s32 emit_do_imm(struct sljit_compiler *compiler, sljit_u8 o...
function sljit_u8 (line 41) | static sljit_u8* generate_far_jump_code(struct sljit_jump *jump, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 66) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 242) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 284) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function sljit_u8 (line 346) | static sljit_u8* emit_x86_instruction(struct sljit_compiler *compiler, s...
function sljit_s32 (line 515) | static sljit_s32 c_fast_call_get_stack_size(sljit_s32 arg_types, sljit_s...
function sljit_s32 (line 546) | static sljit_s32 c_fast_call_with_args(struct sljit_compiler *compiler,
function sljit_s32 (line 621) | static sljit_s32 cdecl_call_get_stack_size(struct sljit_compiler *compil...
function sljit_s32 (line 658) | static sljit_s32 cdecl_call_with_args(struct sljit_compiler *compiler,
function sljit_s32 (line 699) | static sljit_s32 post_call_with_args(struct sljit_compiler *compiler,
function sljit_jump (line 724) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 767) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 833) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 864) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
FILE: src/pcre/sljit/sljitNativeX86_64.c
function sljit_s32 (line 29) | static sljit_s32 emit_load_imm64(struct sljit_compiler *compiler, sljit_...
function sljit_u8 (line 42) | static sljit_u8* generate_far_jump_code(struct sljit_jump *jump, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 75) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 224) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compil...
function SLJIT_API_FUNC_ATTRIBUTE (line 248) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compil...
function sljit_s32 (line 323) | static sljit_s32 emit_do_imm32(struct sljit_compiler *compiler, sljit_u8...
function sljit_u8 (line 338) | static sljit_u8* emit_x86_instruction(struct sljit_compiler *compiler, s...
function sljit_s32 (line 557) | static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s...
function sljit_s32 (line 593) | static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s...
function sljit_jump (line 677) | sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 693) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 710) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_co...
function SLJIT_API_FUNC_ATTRIBUTE (line 747) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_c...
function sljit_s32 (line 793) | static sljit_s32 emit_mov_int(struct sljit_compiler *compiler, sljit_s32...
FILE: src/pcre/sljit/sljitNativeX86_common.c
function SLJIT_API_FUNC_ATTRIBUTE (line 27) | SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void)
function SLJIT_INLINE (line 304) | static SLJIT_INLINE void sljit_unaligned_store_s16(void *addr, sljit_s16...
function SLJIT_INLINE (line 309) | static SLJIT_INLINE void sljit_unaligned_store_s32(void *addr, sljit_s32...
function SLJIT_INLINE (line 314) | static SLJIT_INLINE void sljit_unaligned_store_sw(void *addr, sljit_sw v...
function sljit_u8 (line 374) | static sljit_u8 get_jump_code(sljit_s32 type)
type sljit_jump (line 431) | struct sljit_jump
type sljit_jump (line 433) | struct sljit_jump
function sljit_u8 (line 436) | static sljit_u8* generate_near_jump_code(struct sljit_jump *jump, sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 486) | SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 602) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 featu...
type sljit_compiler (line 647) | struct sljit_compiler
type sljit_compiler (line 653) | struct sljit_compiler
type sljit_compiler (line 659) | struct sljit_compiler
type sljit_compiler (line 666) | struct sljit_compiler
type sljit_compiler (line 669) | struct sljit_compiler
function sljit_s32 (line 678) | static sljit_s32 emit_mov(struct sljit_compiler *compiler,
function SLJIT_API_FUNC_ATTRIBUTE (line 739) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler ...
function sljit_s32 (line 888) | static sljit_s32 emit_mov_byte(struct sljit_compiler *compiler, sljit_s3...
function sljit_s32 (line 1030) | static sljit_s32 emit_prefetch(struct sljit_compiler *compiler, sljit_s3...
function sljit_s32 (line 1054) | static sljit_s32 emit_mov_half(struct sljit_compiler *compiler, sljit_s3...
function sljit_s32 (line 1102) | static sljit_s32 emit_unary(struct sljit_compiler *compiler, sljit_u8 op...
function sljit_s32 (line 1138) | static sljit_s32 emit_not_with_flags(struct sljit_compiler *compiler,
function sljit_s32 (line 1175) | static sljit_s32 emit_clz(struct sljit_compiler *compiler, sljit_s32 op_...
function SLJIT_API_FUNC_ATTRIBUTE (line 1234) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler ...
type sljit_compiler (line 1405) | struct sljit_compiler
type sljit_compiler (line 1525) | struct sljit_compiler
function sljit_s32 (line 1611) | static sljit_s32 emit_mul(struct sljit_compiler *compiler,
type sljit_compiler (line 1741) | struct sljit_compiler
type sljit_compiler (line 1798) | struct sljit_compiler
type sljit_compiler (line 1849) | struct sljit_compiler
function sljit_s32 (line 1959) | static sljit_s32 emit_shift(struct sljit_compiler *compiler,
function sljit_s32 (line 2049) | static sljit_s32 emit_shift_with_flags(struct sljit_compiler *compiler,
function SLJIT_API_FUNC_ATTRIBUTE (line 2084) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2156) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
function SLJIT_API_FUNC_ATTRIBUTE (line 2166) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_...
function SLJIT_API_FUNC_ATTRIBUTE (line 2176) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_com...
function init_compiler (line 2199) | static void init_compiler(void)
function sljit_s32 (line 2214) | static sljit_s32 emit_sse2(struct sljit_compiler *compiler, sljit_u8 opc...
function sljit_s32 (line 2226) | static sljit_s32 emit_sse2_logic(struct sljit_compiler *compiler, sljit_...
function SLJIT_INLINE (line 2238) | static SLJIT_INLINE sljit_s32 emit_sse2_load(struct sljit_compiler *comp...
function SLJIT_INLINE (line 2244) | static SLJIT_INLINE sljit_s32 emit_sse2_store(struct sljit_compiler *com...
function SLJIT_INLINE (line 2250) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sl...
function SLJIT_INLINE (line 2272) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sl...
function SLJIT_INLINE (line 2307) | static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler ...
function SLJIT_API_FUNC_ATTRIBUTE (line 2319) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2385) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler...
function sljit_label (line 2450) | sljit_label* sljit_emit_label(struct sljit_compiler *compiler)
function sljit_jump (line 2474) | sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 t...
function SLJIT_API_FUNC_ATTRIBUTE (line 2502) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compile...
function SLJIT_API_FUNC_ATTRIBUTE (line 2545) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_comp...
function SLJIT_API_FUNC_ATTRIBUTE (line 2730) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler...
function SLJIT_API_FUNC_ATTRIBUTE (line 2770) | SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_com...
function sljit_const (line 2801) | sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32...
function SLJIT_API_FUNC_ATTRIBUTE (line 2845) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_u...
function SLJIT_API_FUNC_ATTRIBUTE (line 2855) | SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw ne...
FILE: src/pcre/sljit/sljitUtils.c
function SLJIT_INLINE (line 37) | static SLJIT_INLINE void allocator_grab_lock(void)
function SLJIT_INLINE (line 42) | static SLJIT_INLINE void allocator_release_lock(void)
function SLJIT_FUNC (line 51) | SLJIT_FUNC sljit_grab_lock(void)
function SLJIT_FUNC (line 56) | SLJIT_FUNC sljit_release_lock(void)
function SLJIT_INLINE (line 71) | static SLJIT_INLINE void allocator_grab_lock(void)
function SLJIT_INLINE (line 80) | static SLJIT_INLINE void allocator_release_lock(void)
function SLJIT_FUNC (line 91) | SLJIT_FUNC sljit_grab_lock(void)
function SLJIT_FUNC (line 100) | SLJIT_FUNC sljit_release_lock(void)
function SLJIT_INLINE (line 115) | static SLJIT_INLINE void allocator_grab_lock(void)
function SLJIT_INLINE (line 120) | static SLJIT_INLINE void allocator_release_lock(void)
function SLJIT_FUNC (line 133) | SLJIT_FUNC sljit_grab_lock(void)
function SLJIT_FUNC (line 138) | SLJIT_FUNC sljit_release_lock(void)
function SLJIT_INLINE (line 170) | static SLJIT_INLINE sljit_s32 open_dev_zero(void)
function SLJIT_INLINE (line 182) | static SLJIT_INLINE sljit_s32 open_dev_zero(void)
type sljit_stack (line 233) | struct sljit_stack
type sljit_stack (line 233) | struct sljit_stack
function SLJIT_FUNC (line 281) | SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_d...
function SLJIT_API_FUNC_ATTRIBUTE (line 292) | SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct ...
FILE: src/print.c
function togdbm (line 70) | int togdbm(void *gp, struct emailinfo *ep)
type emailinfo (line 144) | struct emailinfo
type reply (line 146) | struct reply
function fprint_menu (line 184) | void fprint_menu(FILE *fp, mindex_t idx, char *archives, char *currentid...
function fprint_menu0 (line 265) | void fprint_menu0(FILE *fp, struct emailinfo *email, int pos)
function fprint_summary (line 355) | void fprint_summary(FILE *fp, int pos, long first_d, long last_d, int num)
function print_index_header_links (line 382) | void print_index_header_links (FILE *fp, mindex_t called_from, long star...
function print_index_footer_links (line 534) | void print_index_footer_links(FILE *fp, mindex_t called_from, long endda...
function print_haof_indices (line 664) | void print_haof_indices(FILE *fp, struct emailsubdir *subdir)
function printcomment (line 692) | void printcomment(FILE *fp, char *label, char *value)
function printhtml (line 735) | void printhtml(FILE *fp, char *line)
function printdates (line 772) | void printdates(FILE *fp, struct header *hp, int year, int month, struct...
function printattachments (line 850) | int printattachments(FILE *fp, struct header *hp, struct emailinfo *subd...
function showheader (line 943) | int showheader(char *header)
type Push (line 958) | struct Push
type Push (line 1019) | struct Push
type emailinfo (line 1020) | struct emailinfo
function ConvURLs (line 1055) | void ConvURLs(FILE *fp, char *line, char *mailid, char *mailsubject, cha...
function printheaders (line 1126) | void printheaders (FILE *fp, struct emailinfo *email)
function printbody (line 1209) | void printbody(FILE *fp, struct emailinfo *email, int maybe_reply, int i...
function print_headers (line 1468) | void print_headers(FILE *fp, struct emailinfo *email, int in_thread_file)
type emailinfo (line 1553) | struct emailinfo
type emailinfo (line 1553) | struct emailinfo
type emailinfo (line 1569) | struct emailinfo
type reply (line 1571) | struct reply
type emailinfo (line 1572) | struct emailinfo
type emailinfo (line 1615) | struct emailinfo
type emailinfo (line 1619) | struct emailinfo
type emailinfo (line 1620) | struct emailinfo
type reply (line 1622) | struct reply
function print_links (line 1833) | int print_links(FILE *fp, struct emailinfo *email, int pos, int in_threa...
function has_new_replies (line 1993) | static int has_new_replies(struct emailinfo *email)
function GDBM_FILE (line 2016) | static GDBM_FILE gdbm_init()
type hashemail (line 2060) | struct hashemail
type reply (line 2061) | struct reply
type emailinfo (line 2065) | struct emailinfo
type body (line 2076) | struct body
type emailinfo (line 2105) | struct emailinfo
function writearticles (line 2124) | void writearticles(int startnum, int maxnum)
function writedates (line 2427) | void writedates(int amountmsgs, struct emailinfo *email)
function writeattachments (line 2515) | void writeattachments(int amountmsgs, struct emailinfo *email)
function writethreads (line 2598) | void writethreads(int amountmsgs, struct emailinfo *email)
function printsubjects (line 2679) | void printsubjects(FILE *fp, struct header *hp, char **oldsubject,
function writesubjects (line 2755) | void writesubjects(int amountmsgs, struct emailinfo *email)
function printauthors (line 2834) | void printauthors(FILE *fp, struct header *hp, char **oldname,
function writeauthors (line 2911) | void writeauthors(int amountmsgs, struct emailinfo *email)
function printhaofitems (line 2990) | void printhaofitems(FILE *fp, struct header *hp, int year, int month, st...
function writehaof (line 3025) | void writehaof(int amountmsgs, struct emailinfo *email)
function count_messages (line 3077) | static int count_messages(struct header *hp, int year, int mo, long *fir...
function printmonths (line 3096) | static void printmonths(FILE *fp, char *summary_filename, int amountmsgs)
function init_index_names (line 3228) | void init_index_names(void)
function write_summary_indices (line 3237) | void write_summary_indices(int amount_new)
function write_toplevel_indices (line 3255) | void write_toplevel_indices(int amountmsgs)
function write_messageindex (line 3444) | void write_messageindex(int startnum, int maxnum)
FILE: src/print.h
type emailinfo (line 6) | struct emailinfo
type emailinfo (line 10) | struct emailinfo
type emailinfo (line 11) | struct emailinfo
type emailinfo (line 12) | struct emailinfo
type emailinfo (line 17) | struct emailinfo
type emailinfo (line 18) | struct emailinfo
type emailinfo (line 19) | struct emailinfo
type emailinfo (line 20) | struct emailinfo
type emailinfo (line 21) | struct emailinfo
type emailinfo (line 23) | struct emailinfo
type header (line 25) | struct header
type emailinfo (line 25) | struct emailinfo
type header (line 26) | struct header
type emailinfo (line 27) | struct emailinfo
type header (line 28) | struct header
type emailinfo (line 29) | struct emailinfo
type header (line 30) | struct header
type emailinfo (line 30) | struct emailinfo
type emailsubdir (line 34) | struct emailsubdir
type emailinfo (line 35) | struct emailinfo
type emailsubdir (line 38) | struct emailsubdir
type emailsubdir (line 40) | struct emailsubdir
type emailinfo (line 47) | struct emailinfo
FILE: src/printfile.c
function printfile (line 41) | int printfile(FILE *fp, char *format, char *label, char *subject,
function print_main_header (line 223) | void print_main_header(FILE *fp, bool index_header, char *label, char *n...
function print_msg_header (line 379) | void print_msg_header(FILE *fp, char *label, char *subject,
function print_index_header (line 398) | void print_index_header(FILE *fp, char *label, char *dir, char *subject,
function printfooter (line 438) | void printfooter(FILE *fp, char *htmlfooter, char *label, char *dir,
function printlaststats (line 462) | void printlaststats (FILE *fp, long lastdatenum)
FILE: src/proto.h
type emailsubdir (line 47) | struct emailsubdir
type emailinfo (line 48) | struct emailinfo
type emailinfo (line 48) | struct emailinfo
type emailinfo (line 49) | struct emailinfo
type emailinfo (line 49) | struct emailinfo
type emailinfo (line 50) | struct emailinfo
type emailinfo (line 51) | struct emailinfo
type emailinfo (line 52) | struct emailinfo
type emailinfo (line 59) | struct emailinfo
type Push (line 104) | struct Push
type Push (line 105) | struct Push
type Push (line 106) | struct Push
type body (line 145) | struct body
type body (line 148) | struct body
FILE: src/quotes.c
function msg_linkp (line 35) | static int msg_linkp(char *p3, char *p)
function is_sig_start (line 158) | int is_sig_start(const char *line)
type body (line 195) | struct body
function find_quote_depth (line 293) | int find_quote_depth(char *line)
function compute_quoted_percent (line 324) | int compute_quoted_percent(struct body *bp)
FILE: src/search.c
type reply (line 30) | struct reply
type BIGRAM_TYPE (line 33) | typedef unsigned long BIGRAM_TYPE;
type BIGRAM_TYPE (line 36) | typedef unsigned short BIGRAM_TYPE;
type bigram_list (line 40) | struct bigram_list {
type bigram_tree_entry (line 46) | struct bigram_tree_entry {
type bigram_tree_entry (line 53) | struct bigram_tree_entry
type search_text (line 56) | struct search_text {
type search_text (line 70) | struct search_text
function set_alt_replylist (line 79) | void set_alt_replylist(struct reply *r)
function BIGRAM_TYPE (line 85) | static BIGRAM_TYPE reverse_bits(BIGRAM_TYPE i)
function token_digest_order (line 102) | static int token_digest_order(const int token_length, const unsigned int...
function crc32_lower (line 115) | static unsigned int crc32_lower(register const unsigned char *buf, /* po...
function encode_token (line 198) | static int encode_token(const char *token
function addb (line 232) | static int addb(const char *token, struct body *bp)
function add_bigram (line 295) | static void add_bigram(BIGRAM_TYPE b1, BIGRAM_TYPE b2, struct body *bp, ...
type bigram_list (line 344) | struct bigram_list
type bigram_tree_entry (line 346) | struct bigram_tree_entry
type body (line 365) | struct body
type body (line 365) | struct body
type body (line 377) | struct body
type body (line 377) | struct body
function add_search_text (line 452) | static void add_search_text(struct body *bp, int msgnum)
function add_bigrams (line 467) | static void add_bigrams(struct body *bp, int msgnum)
function add_old_replies (line 490) | static void add_old_replies()
function find_replyto_from_html (line 514) | static void find_replyto_from_html(int num)
function analyze_headers (line 548) | void analyze_headers(int max_num)
function print_count (line 577) | static void print_count(struct search_text *t)
function better_match (line 588) | static int better_match(struct body *bp, const char *matched_string, con...
function check_match (line 613) | static void check_match(struct bigram_list *bigram, struct body *bp, cha...
function search_for_quote (line 696) | int search_for_quote(char *search_line, char *exact_line, int max_msgnum...
FILE: src/search.h
type String_Match (line 4) | typedef struct {
type body (line 15) | struct body
type body (line 15) | struct body
type reply (line 18) | struct reply
FILE: src/setup.c
type hmlist (line 121) | struct hmlist
type hmlist (line 122) | struct hmlist
type hmlist (line 123) | struct hmlist
type hmlist (line 124) | struct hmlist
type hmlist (line 125) | struct hmlist
type hmlist (line 126) | struct hmlist
type hmlist (line 127) | struct hmlist
type hmlist (line 128) | struct hmlist
type hmlist (line 129) | struct hmlist
type hmlist (line 130) | struct hmlist
type hmlist (line 131) | struct hmlist
type hmlist (line 132) | struct hmlist
type hmlist (line 133) | struct hmlist
type hmlist (line 159) | struct hmlist
type hmlist (line 160) | struct hmlist
type hmlist (line 161) | struct hmlist
type hmlist (line 162) | struct hmlist
type Config (line 168) | struct Config
function MakeConfig (line 919) | void MakeConfig(bool comments)
function PreConfig (line 1013) | void PreConfig(void)
function PostConfig (line 1082) | void PostConfig(void)
function ConfigAddItem (line 1143) | int ConfigAddItem(char *cfg_line)
function ConfigInit (line 1264) | int ConfigInit(char *filename)
function ConfigCleanup (line 1292) | void ConfigCleanup(void)
function dump_config (line 1318) | void dump_config(void)
FILE: src/setup.h
type Config (line 6) | struct Config {
type hmlist (line 136) | struct hmlist
type hmlist (line 137) | struct hmlist
type hmlist (line 138) | struct hmlist
type hmlist (line 139) | struct hmlist
type hmlist (line 140) | struct hmlist
type hmlist (line 141) | struct hmlist
type hmlist (line 142) | struct hmlist
type hmlist (line 143) | struct hmlist
type hmlist (line 144) | struct hmlist
type hmlist (line 145) | struct hmlist
type hmlist (line 146) | struct hmlist
type hmlist (line 147) | struct hmlist
type hmlist (line 148) | struct hmlist
type hmlist (line 178) | struct hmlist
type hmlist (line 179) | struct hmlist
type hmlist (line 180) | struct hmlist
type hmlist (line 181) | struct hmlist
FILE: src/string.c
type Push (line 46) | struct Push
type Push (line 87) | struct Push
type i18n_alt_charset_table (line 181) | struct i18n_alt_charset_table {
type i18n_alt_charset_table (line 186) | struct i18n_alt_charset_table
type Push (line 353) | struct Push
function i18n_replace_non_ascii_chars (line 458) | int i18n_replace_non_ascii_chars(char *string)
type Push (line 483) | struct Push
type Push (line 526) | struct Push
type Push (line 546) | struct Push
function strcpymax (line 636) | void strcpymax(char *dest, const char *src, int n)
function strtolower (line 651) | void strtolower(char *string)
function numstrchr (line 793) | int numstrchr(char *s, char c)
type Push (line 815) | struct Push
type Push (line 842) | struct Push
type Push (line 883) | struct Push
function rfc3676_trim_softlb (line 898) | void rfc3676_trim_softlb(char *line)
type Push (line 933) | struct Push
function rfc3676_ishardlb (line 952) | int rfc3676_ishardlb(const char *line)
function isquote (line 970) | int isquote(const char *line)
type Push (line 1035) | struct Push
type Push (line 1060) | struct Push
function unconvwinlatin1 (line 1146) | static bool unconvwinlatin1 (char *entity, char *conv_char)
type Push (line 1178) | struct Push
function translatechars (line 1228) | static void translatechars(char *start, char *end, struct Push *buff)
type Push (line 1279) | struct Push
type Push (line 1377) | struct Push
type Push (line 1421) | struct Push
type Push (line 1590) | struct Push
type Push (line 1627) | struct Push
type Push (line 1814) | struct Push
function iso2022_state (line 2039) | void
FILE: src/struct.c
type body (line 43) | struct body
type emailinfo (line 43) | struct emailinfo
function hash (line 49) | unsigned hash(char *s)
function reinit_structs (line 62) | void reinit_structs()
function fill_email_dates (line 73) | void fill_email_dates(struct emailinfo *e, char *date, char *fromdate, c...
type emailinfo (line 156) | struct emailinfo
type body (line 156) | struct body
type emailinfo (line 158) | struct emailinfo
type hashemail (line 159) | struct hashemail
type hashemail (line 181) | struct hashemail
type hashemail (line 209) | struct hashemail
type emailinfo (line 240) | struct emailinfo
type emailinfo (line 240) | struct emailinfo
type hashemail (line 277) | struct hashemail
type hashemail (line 277) | struct hashemail
type hashemail (line 283) | struct hashemail
type hashemail (line 283) | struct hashemail
type hashemail (line 289) | struct hashemail
type hashemail (line 289) | struct hashemail
type hashemail (line 298) | struct hashemail
type hashemail (line 298) | struct hashemail
type hashemail (line 304) | struct hashemail
type hashemail (line 304) | struct hashemail
function insert_in_lists (line 314) | int insert_in_lists(struct emailinfo *emp, const bool * require_filter, ...
type emailinfo (line 388) | struct emailinfo
type hashemail (line 390) | struct hashemail
type emailinfo (line 442) | struct emailinfo
type hashemail (line 444) | struct hashemail
type emailinfo (line 466) | struct emailinfo
type hashemail (line 468) | struct hashemail
type emailinfo (line 521) | struct emailinfo
function hashreplynumlookup (line 584) | int hashreplynumlookup(int msgnum, char *inreply, char *subject, int *ma...
type body (line 597) | struct body
type emailinfo (line 597) | struct emailinfo
type hashemail (line 599) | struct hashemail
type body (line 600) | struct body
type emailinfo (line 620) | struct emailinfo
type hashemail (line 622) | struct hashemail
function insert_older_msgs (line 636) | int insert_older_msgs(int num)
type emailinfo (line 657) | struct emailinfo
type hashemail (line 659) | struct hashemail
type boundary (line 684) | struct boundary
type boundary (line 684) | struct boundary
type boundary (line 686) | struct boundary
type boundary (line 689) | struct boundary
type boundary (line 689) | struct boundary
type boundary (line 729) | struct boundary
type boundary (line 729) | struct boundary
type charset_stack (line 734) | struct charset_stack
type charset_stack (line 734) | struct charset_stack
type charset_stack (line 736) | struct charset_stack
type charset_stack (line 739) | struct charset_stack
type charset_stack (line 739) | struct charset_stack
type charset_stack (line 778) | struct charset_stack
type charset_stack (line 778) | struct charset_stack
type charset_stack (line 780) | struct charset_stack
function free_boundary (line 794) | static int free_boundary(struct boundary *bnd)
function free_bound (line 824) | int free_bound(struct boundary *bnd)
function free_multipart (line 836) | int free_multipart(struct boundary *mp)
function free_charsets (line 848) | int free_charsets(struct charset_stack *cs)
function has_multipart (line 889) | bool has_multipart (const struct boundary *multipartp, char *mime_type)
type body (line 910) | struct body
type body (line 910) | struct body
type body (line 910) | struct body
type body (line 913) | struct body
type body (line 914) | struct body
type body (line 940) | struct body
type body (line 940) | struct body
type body (line 941) | struct body
function rmlastlines (line 999) | int rmlastlines(struct body *bp)
type body (line 1016) | struct body
type body (line 1016) | struct body
type body (line 1016) | struct body
type body (line 1016) | struct body
type body (line 1019) | struct body
function free_body (line 1031) | void free_body(struct body *bp)
type reply (line 1047) | struct reply
type reply (line 1047) | struct reply
type emailinfo (line 1047) | struct emailinfo
type reply (line 1047) | struct reply
type reply (line 1049) | struct reply
type reply (line 1051) | struct reply
type reply (line 1051) | struct reply
type reply (line 1089) | struct reply
type reply (line 1089) | struct reply
type emailinfo (line 1089) | struct emailinfo
type emailinfo (line 1089) | struct emailinfo
type reply (line 1089) | struct reply
type reply (line 1092) | struct reply
type printed (line 1109) | struct printed
type printed (line 1109) | struct printed
type printed (line 1111) | struct printed
type printed (line 1113) | struct printed
type printed (line 1113) | struct printed
function wasprinted (line 1130) | int wasprinted(struct printed *list, int num)
type header (line 1145) | struct header
type header (line 1145) | struct header
type emailinfo (line 1145) | struct emailinfo
type header (line 1154) | struct header
type header (line 1154) | struct header
type header (line 1204) | struct header
type header (line 1205) | struct header
type header (line 1208) | struct header
type header (line 1214) | struct header
type emailsubdir (line 1225) | struct emailsubdir
type emailsubdir (line 1225) | struct emailsubdir
type emailsubdir (line 1227) | struct emailsubdir
type emailsubdir (line 1228) | struct emailsubdir
type emailsubdir (line 1229) | struct emailsubdir
type emailsubdir (line 1242) | struct emailsubdir
type emailsubdir (line 1242) | struct emailsubdir
function print_list (line 1304) | void print_list(char *listname, struct hmlist *list)
function inlist (line 1342) | int inlist(struct hmlist *listname, char *wildcard)
function inlist_pos (line 1358) | int inlist_pos(struct hmlist *listname, char *wildcard)
function regex_index (line 1371) | static int regex_index(struct hmlist *listname, int index)
function inlist_regex_pos (line 1406) | int inlist_regex_pos(struct hmlist *listname, char *str)
type hmlist (line 1465) | struct hmlist
type hmlist (line 1465) | struct hmlist
type hmlist (line 1467) | struct hmlist
type hmlist (line 1469) | struct hmlist
type hmlist (line 1469) | struct hmlist
type hmlist (line 1482) | struct hmlist
type hmlist (line 1482) | struct hmlist
FILE: src/struct.h
type emailinfo (line 7) | struct emailinfo
type emailinfo (line 9) | struct emailinfo
type body (line 10) | struct body
type emailinfo (line 12) | struct emailinfo
type emailinfo (line 14) | struct emailinfo
type emailinfo (line 16) | struct emailinfo
type emailinfo (line 18) | struct emailinfo
type body (line 21) | struct body
type emailinfo (line 21) | struct emailinfo
type emailinfo (line 22) | struct emailinfo
type body (line 24) | struct body
type body (line 24) | struct body
type body (line 24) | struct body
type body (line 25) | struct body
type body (line 25) | struct body
type body (line 25) | struct body
type body (line 25) | struct body
type body (line 26) | struct body
type reply (line 28) | struct reply
type reply (line 28) | struct reply
type emailinfo (line 28) | struct emailinfo
type reply (line 29) | struct reply
type reply (line 30) | struct reply
type reply (line 30) | struct reply
type emailinfo (line 30) | struct emailinfo
type emailinfo (line 30) | struct emailinfo
type reply (line 31) | struct reply
type body (line 32) | struct body
type emailsubdir (line 34) | struct emailsubdir
type emailsubdir (line 34) | struct emailsubdir
type printed (line 36) | struct printed
type printed (line 36) | struct printed
type printed (line 37) | struct printed
type header (line 39) | struct header
type header (line 39) | struct header
type emailinfo (line 39) | struct emailinfo
type boundary (line 40) | struct boundary
type boundary (line 40) | struct boundary
type boundary (line 41) | struct boundary
type boundary (line 42) | struct boundary
type boundary (line 42) | struct boundary
type boundary (line 43) | struct boundary
type boundary (line 44) | struct boundary
type charset_stack (line 45) | struct charset_stack
type charset_stack (line 45) | struct charset_stack
type charset_stack (line 46) | struct charset_stack
type charset_stack (line 46) | struct charset_stack
type charset_stack (line 47) | struct charset_stack
type hmlist (line 49) | struct hmlist
type hmlist (line 50) | struct hmlist
type hmlist (line 51) | struct hmlist
type hmlist (line 52) | struct hmlist
type hmlist (line 53) | struct hmlist
type hmlist (line 53) | struct hmlist
type hmlist (line 54) | struct hmlist
type hmlist (line 54) | struct hmlist
FILE: src/threadprint.c
type emailinfo (line 8) | struct emailinfo
type emailinfo (line 9) | struct emailinfo
type emailinfo (line 11) | struct emailinfo
type emailinfo (line 12) | struct emailinfo
type emailinfo (line 13) | struct emailinfo
function print_all_threads (line 29) | void print_all_threads(FILE *fp, int year, int month, struct emailinfo *...
function format_thread_info (line 240) | static void format_thread_info(FILE *fp, struct emailinfo *email,
function isreplyto (line 307) | int isreplyto(int msgnum, int parent)
function finish_thread_file (line 323) | static void
function finish_thread_levels (line 338) | static int finish_thread_levels(FILE **fp, int level, int newlevel,
FILE: src/threadprint.h
type emailinfo (line 1) | struct emailinfo
FILE: src/trio/compare.c
function main (line 6) | int main()
FILE: src/trio/regression.c
function VerifyReturnValues (line 172) | int
function VerifyAllocate (line 238) | int
function VerifyFormattingStrings (line 278) | int
function VerifyFormattingIntegers (line 296) | int
function VerifyFormattingFloats (line 403) | int
function number_writer (line 673) | int number_writer(void *ref)
function VerifyFormattingUserDefined (line 692) | int
function VerifyFormattingRegression (line 725) | int
function VerifyFormattingArgarray (line 748) | int
function VerifyFormatting (line 775) | int
function VerifyErrors (line 982) | int
function VerifyScanningIntegers (line 1138) | int
function VerifyScanningFloats (line 1206) | int
function VerifyScanningStrings (line 1284) | int
function VerifyScanningRegression (line 1326) | int
function VerifyScanning (line 1443) | int
function VerifyStrings (line 1459) | int
function VerifyDynamicStrings (line 1600) | int
function VerifyNaN (line 1641) | int
function main (line 1666) | int
FILE: src/trio/trio.c
type trio_flags_t (line 227) | typedef unsigned long trio_flags_t;
type wchar_t (line 259) | typedef wchar_t trio_wchar_t;
type wint_t (line 260) | typedef wint_t trio_wint_t;
type trio_wchar_t (line 262) | typedef char trio_wchar_t;
type trio_wint_t (line 263) | typedef int trio_wint_t;
type trio_longlong_t (line 308) | typedef signed long long int trio_longlong_t;
type trio_ulonglong_t (line 309) | typedef unsigned long long int trio_ulonglong_t;
type trio_longlong_t (line 312) | typedef signed __int64 trio_longlong_t;
type trio_ulonglong_t (line 313) | typedef unsigned __int64 trio_ulonglong_t;
type trio_longlong_t (line 315) | typedef TRIO_SIGNED long int trio_longlong_t;
type trio_ulonglong_t (line 316) | typedef unsigned long int trio_ulonglong_t;
type intmax_t (line 323) | typedef intmax_t trio_intmax_t;
type uintmax_t (line 324) | typedef uintmax_t trio_uintmax_t;
type trio_int8_t (line 325) | typedef int8_t trio_int8_t;
type trio_int16_t (line 326) | typedef int16_t trio_int16_t;
type trio_int32_t (line 327) | typedef int32_t trio_int32_t;
type trio_int64_t (line 328) | typedef int64_t trio_int64_t;
type intmax_t (line 332) | typedef intmax_t trio_intmax_t;
type uintmax_t (line 333) | typedef uintmax_t trio_uintmax_t;
type trio_int8_t (line 334) | typedef int8_t trio_int8_t;
type trio_int16_t (line 335) | typedef int16_t trio_int16_t;
type trio_int32_t (line 336) | typedef int32_t trio_int32_t;
type trio_int64_t (line 337) | typedef int64_t trio_int64_t;
type trio_longlong_t (line 340) | typedef trio_longlong_t trio_intmax_t;
type trio_ulonglong_t (line 341) | typedef trio_ulonglong_t trio_uintmax_t;
type __int8 (line 342) | typedef __int8 trio_int8_t;
type __int16 (line 343) | typedef __int16 trio_int16_t;
type __int32 (line 344) | typedef __int32 trio_int32_t;
type __int64 (line 345) | typedef __int64 trio_int64_t;
type trio_longlong_t (line 347) | typedef trio_longlong_t trio_intmax_t;
type trio_ulonglong_t (line 348) | typedef trio_ulonglong_t trio_uintmax_t;
type TRIO_INT8_T (line 350) | typedef TRIO_INT8_T trio_int8_t;
type TRIO_SIGNED (line 352) | typedef TRIO_SIGNED char trio_int8_t;
type TRIO_INT16_T (line 355) | typedef TRIO_INT16_T trio_int16_t;
type trio_int16_t (line 357) | typedef TRIO_SIGNED short trio_int16_t;
type TRIO_INT32_T (line 360) | typedef TRIO_INT32_T trio_int32_t;
type TRIO_SIGNED (line 362) | typedef TRIO_SIGNED int trio_int32_t;
type TRIO_INT64_T (line 365) | typedef TRIO_INT64_T trio_int64_t;
type trio_longlong_t (line 367) | typedef trio_longlong_t trio_int64_t;
type trio_parameter_t (line 772) | typedef struct {
type trio_custom_t (line 823) | typedef struct {
type trio_class_t (line 832) | typedef struct _trio_class_t {
type trio_reference_t (line 880) | typedef struct _trio_reference_t {
type trio_userdef_t (line 887) | typedef struct _trio_userdef_t {
type lconv (line 916) | struct lconv
function TrioInitializeParameter (line 973) | TrioInitializeParameter
function TrioCopyParameter (line 1001) | TrioCopyParameter
function TrioIsQualifier (line 1041) | TrioIsQualifier
function TRIO_PRIVATE (line 1086) | TRIO_PRIVATE void
function TrioCalcThousandSeparatorLength (line 1133) | TrioCalcThousandSeparatorLength
function TrioFollowedBySeparator (line 1171) | TrioFollowedBySeparator
function TrioGetPosition (line 1206) | TrioGetPosition
function TrioPower (line 1274) | TrioPower
function TrioLogarithm (line 1336) | TrioLogarithm
function TrioLogarithmBase (line 1368) | TrioLogarithmBase
function TrioParseQualifiers (line 1390) | TrioParseQualifiers
function TrioParseSpecifier (line 1692) | TrioParseSpecifier
function TrioParse (line 1940) | TrioParse
function TrioWriteNumber (line 2481) | TrioWriteNumber
function TrioWriteStringCharacter (line 2686) | TrioWriteStringCharacter
function TrioWriteString (line 2742) | TrioWriteString
function TrioWriteWideStringCharacter (line 2821) | TrioWriteWideStringCharacter
function TrioWriteWideString (line 2861) | TrioWriteWideString
function TrioWriteDouble (line 2944) | TrioWriteDouble
function TrioFormatProcess (line 3610) | TrioFormatProcess
function TrioFormatRef (line 3923) | TrioFormatRef
function TrioFormat (line 3951) | TrioFormat
function TrioOutStreamFile (line 3998) | TrioOutStreamFile
function TrioOutStreamFileDescriptor (line 4026) | TrioOutStreamFileDescriptor
function TrioOutStreamCustom (line 4055) | TrioOutStreamCustom
function TrioOutStreamString (line 4090) | TrioOutStreamString
function TrioOutStreamStringMax (line 4111) | TrioOutStreamStringMax
function TrioOutStreamStringDynamic (line 4137) | TrioOutStreamStringDynamic
function TRIO_PRIVATE (line 4159) | TRIO_PRIVATE
function trio_printf (line 4190) | trio_printf
function trio_vprintf (line 4216) | trio_vprintf
function trio_printfv (line 4236) | trio_printfv
function trio_fprintf (line 4264) | trio_fprintf
function trio_vfprintf (line 4293) | trio_vfprintf
function trio_fprintfv (line 4316) | trio_fprintfv
function trio_dprintf (line 4346) | trio_dprintf
function trio_vdprintf (line 4374) | trio_vdprintf
function trio_dprintfv (line 4396) | trio_dprintfv
function trio_cprintf (line 4416) | trio_cprintf
function trio_vcprintf (line 4441) | trio_vcprintf
function trio_cprintfv (line 4461) | trio_cprintfv
function trio_cprintff (line 4483) | trio_cprintff
function trio_sprintf (line 4518) | trio_sprintf
function trio_vsprintf (line 4546) | trio_vsprintf
function trio_sprintfv (line 4571) | trio_sprintfv
function trio_snprintf (line 4603) | trio_snprintf
function trio_vsnprintf (line 4635) | trio_vsnprintf
function trio_snprintfv (line 4664) | trio_snprintfv
function trio_snprintfcat (line 4692) | trio_snprintfcat
function trio_vsnprintfcat (line 4721) | trio_vsnprintfcat
function trio_asprintf (line 4813) | trio_asprintf
function trio_vasprintf (line 4861) | trio_vasprintf
function trio_asprintfv (line 4906) | trio_asprintfv
function trio_register (line 4974) | trio_register
function trio_unregister (line 5045) | trio_unregister
function trio_get_width (line 5113) | trio_get_width
function trio_set_width (line 5122) | trio_set_width
function trio_get_precision (line 5135) | trio_get_precision
function trio_set_precision (line 5144) | trio_set_precision
function trio_get_base (line 5157) | trio_get_base
function trio_set_base (line 5166) | trio_set_base
function trio_get_long (line 5179) | trio_get_long
function trio_set_long (line 5190) | trio_set_long
function trio_get_longlong (line 5206) | trio_get_longlong
function trio_set_longlong (line 5217) | trio_set_longlong
function trio_get_longdouble (line 5234) | trio_get_longdouble
function trio_set_longdouble (line 5245) | trio_set_longdouble
function trio_get_short (line 5262) | trio_get_short
function trio_set_short (line 5273) | trio_set_short
function trio_get_shortshort (line 5289) | trio_get_shortshort
function trio_set_shortshort (line 5300) | trio_set_shortshort
function trio_get_alternative (line 5316) | trio_get_alternative
function trio_set_alternative (line 5327) | trio_set_alternative
function trio_get_alignment (line 5343) | trio_get_alignment
function trio_set_alignment (line 5354) | trio_set_alignment
function trio_get_spacing (line 5370) | trio_get_spacing
function trio_set_spacing (line 5381) | trio_set_spacing
function trio_get_sign (line 5397) | trio_get_sign
function trio_set_sign (line 5408) | trio_set_sign
function trio_get_padding (line 5424) | trio_get_padding
function trio_set_padding (line 5435) | trio_set_padding
function trio_get_quote (line 5452) | trio_get_quote
function trio_set_quote (line 5463) | trio_set_quote
function trio_get_upper (line 5480) | trio_get_upper
function trio_set_upper (line 5491) | trio_set_upper
function trio_get_largest (line 5508) | trio_get_largest
function trio_set_largest (line 5519) | trio_set_largest
function trio_get_ptrdiff (line 5537) | trio_get_ptrdiff
function trio_set_ptrdiff (line 5548) | trio_set_ptrdiff
function trio_get_size (line 5566) | trio_get_size
function trio_set_size (line 5577) | trio_set_size
function trio_print_int (line 5594) | trio_print_int
function trio_print_uint (line 5614) | trio_print_uint
function trio_print_double (line 5635) | trio_print_double
function trio_print_string (line 5656) | trio_print_string
function trio_print_ref (line 5675) | trio_print_ref
function trio_vprint_ref (line 5697) | trio_vprint_ref
function trio_printv_ref (line 5713) | trio_printv_ref
function trio_print_pointer (line 5734) | trio_print_pointer
function trio_locale_set_decimal_point (line 5790) | trio_locale_set_decimal_point
function trio_locale_set_thousand_separator (line 5822) | trio_locale_set_thousand_separator
function trio_locale_set_grouping (line 5853) | trio_locale_set_grouping
function TrioSkipWhitespaces (line 5882) | TrioSkipWhitespaces
function TRIO_PRIVATE (line 5900) | TRIO_PRIVATE void
function TrioGetCharacterClass (line 5934) | TrioGetCharacterClass
function TrioReadNumber (line 6193) | TrioReadNumber
function TrioReadChar (line 6322) | TrioReadChar
function TrioReadString (line 6388) | TrioReadString
function TrioReadWideChar (line 6424) | TrioReadWideChar
function TrioReadWideString (line 6485) | TrioReadWideString
function TrioReadGroup (line 6534) | TrioReadGroup
function TrioReadDouble (line 6578) | TrioReadDouble
function TrioReadPointer (line 6771) | TrioReadPointer
function TrioScanProcess (line 6823) | TrioScanProcess
function TrioScan (line 7193) | TrioScan
function TrioInStreamFile (line 7242) | TrioInStreamFile
function TrioUndoStreamFile (line 7281) | TrioUndoStreamFile
function TrioInStreamFileDescriptor (line 7305) | TrioInStreamFileDescriptor
function TrioInStreamCustom (line 7346) | TrioInStreamCustom
function TrioInStreamString (line 7385) | TrioInStreamString
function trio_scanf (line 7442) | trio_scanf
function trio_vscanf (line 7471) | trio_vscanf
function trio_scanfv (line 7494) | trio_scanfv
function trio_fscanf (line 7525) | trio_fscanf
function trio_vfscanf (line 7557) | trio_vfscanf
function trio_fscanfv (line 7583) | trio_fscanfv
function trio_dscanf (line 7616) | trio_dscanf
function trio_vdscanf (line 7647) | trio_vdscanf
function trio_dscanfv (line 7672) | trio_dscanfv
function trio_cscanf (line 7695) | trio_cscanf
function trio_vcscanf (line 7720) | trio_vcscanf
function trio_cscanfv (line 7740) | trio_cscanfv
function trio_cscanff (line 7762) | trio_cscanff
function trio_sscanf (line 7797) | trio_sscanf
function trio_vsscanf (line 7827) | trio_vsscanf
function trio_sscanfv (line 7851) | trio_sscanfv
FILE: src/trio/trio.h
type trio_pointer_t (line 83) | typedef trio_pointer_t (*trio_argfunc_t)
FILE: src/trio/triodef.h
type trio_long_double_t (line 257) | typedef double trio_long_double_t;
type trio_long_double_t (line 281) | typedef long double trio_long_double_t;
FILE: src/trio/trionan.c
type signal_handler_t (line 316) | typedef struct sigaction signal_handler_t;
function internal_ignore_signal_handler (line 326) | internal_ignore_signal_handler
function internal_restore_signal_handler (line 346) | internal_restore_signal_handler
function internal_make_double (line 366) | internal_make_double
function internal_is_special_quantity (line 387) | internal_is_special_quantity
function internal_is_negative (line 415) | internal_is_negative
function ms_fpclassify_and_signbit (line 504) | ms_fpclassify_and_signbit
function trio_fpclassify_and_signbit (line 805) | trio_fpclassify_and_signbit
function trio_isnan (line 896) | trio_isnan
function trio_isinf (line 916) | trio_isinf
function trio_isfinite (line 943) | trio_isfinite
function trio_signbit (line 971) | trio_signbit
function trio_fpclassify (line 992) | trio_fpclassify
function TRIO_PUBLIC_NAN (line 1010) | TRIO_PUBLIC_NAN double
function TRIO_PUBLIC_NAN (line 1037) | TRIO_PUBLIC_NAN double
function TRIO_PUBLIC_NAN (line 1091) | TRIO_PUBLIC_NAN double
function TRIO_PUBLIC_NAN (line 1116) | TRIO_PUBLIC_NAN double
function main (line 1216) | int main(TRIO_NOARGS)
FILE: src/trio/triostr.c
type _trio_string_t (line 151) | struct _trio_string_t
function TRIO_PRIVATE_STRING (line 214) | TRIO_PRIVATE_STRING trio_string_t *
function internal_string_grow (line 243) | internal_string_grow
function internal_string_grow_to (line 280) | internal_string_grow_to
function internal_to_upper (line 296) | internal_to_upper
function trio_destroy (line 343) | trio_destroy
function trio_length (line 364) | trio_length
function trio_length_max (line 383) | trio_length_max
function trio_append (line 416) | trio_append
function trio_append_max (line 447) | trio_append_max
function trio_contains (line 479) | trio_contains
function trio_copy (line 508) | trio_copy
function trio_copy_max (line 543) | trio_copy_max
function trio_equal (line 624) | trio_equal
function trio_equal_case (line 666) | trio_equal_case
function trio_equal_case_max (line 696) | trio_equal_case_max
function trio_equal_locale (line 726) | trio_equal_locale
function trio_equal_max (line 756) | trio_equal_max
function trio_format_date_max (line 842) | trio_format_date_max
function trio_lower (line 953) | trio_lower
function trio_match (line 980) | trio_match
function trio_match_case (line 1034) | trio_match_case
function trio_span_function (line 1083) | trio_span_function
function trio_to_long_double (line 1220) | trio_to_long_double
function trio_to_double (line 1358) | trio_to_double
function trio_to_float (line 1384) | trio_to_float
function trio_to_lower (line 1431) | trio_to_lower
function trio_to_upper (line 1484) | trio_to_upper
function trio_upper (line 1502) | trio_upper
function trio_string_destroy (line 1570) | trio_string_destroy
function trio_xstring_set (line 1684) | trio_xstring_set
function trio_string_size (line 1703) | trio_string_size
function trio_string_terminate (line 1720) | trio_string_terminate
function trio_string_append (line 1739) | trio_string_append
function trio_xstring_append (line 1769) | trio_xstring_append
function trio_xstring_append_char (line 1798) | trio_xstring_append_char
function trio_xstring_append_max (line 1826) | trio_xstring_append_max
function trio_string_contains (line 1865) | trio_string_contains
function trio_xstring_contains (line 1884) | trio_xstring_contains
function trio_string_copy (line 1903) | trio_string_copy
function trio_xstring_copy (line 1924) | trio_xstring_copy
function trio_string_equal (line 2010) | trio_string_equal
function trio_xstring_equal (line 2030) | trio_xstring_equal
function trio_string_equal_max (line 2049) | trio_string_equal_max
function trio_xstring_equal_max (line 2068) | trio_xstring_equal_max
function trio_string_equal_case (line 2088) | trio_string_equal_case
function trio_xstring_equal_case (line 2107) | trio_xstring_equal_case
function trio_string_equal_case_max (line 2126) | trio_string_equal_case_max
function trio_xstring_equal_case_max (line 2146) | trio_xstring_equal_case_max
function trio_string_format_date_max (line 2166) | trio_string_format_date_max
function trio_string_length (line 2222) | trio_string_length
function trio_string_lower (line 2243) | trio_string_lower
function trio_string_match (line 2260) | trio_string_match
function trio_xstring_match (line 2279) | trio_xstring_match
function trio_string_match_case (line 2298) | trio_string_match_case
function trio_xstring_match_case (line 2317) | trio_xstring_match_case
function trio_string_upper (line 2374) | trio_string_upper
FILE: src/trio/triostr.h
type trio_string_t (line 456) | typedef struct _trio_string_t trio_string_t;
FILE: src/txt2html.c
function convert_to_hrule (line 68) | static int convert_to_hrule(const char *line)
function find_vertical_repeats (line 87) | static int find_vertical_repeats(const struct body *bp)
function find_repetition (line 115) | static int find_repetition(const struct body *bp)
function has_many_carets (line 136) | static int has_many_carets(const char *line)
function is_preformatted (line 143) | static int is_preformatted(const char *line)
function listprefix (line 175) | static void listprefix(char *line, struct Push *number, struct Push *pre...
function set_list_indent (line 234) | static void set_list_indent(int n)
function startlist (line 241) | static int startlist(FILE *fp, const char *number, const char *prefix, c...
function endlist (line 262) | static void endlist(FILE *fp, int n)
type Push (line 326) | struct Push
type Push (line 327) | struct Push
type Push (line 328) | struct Push
type Push (line 329) | struct Push
function iscaps (line 418) | static int iscaps(const char *line)
type Push (line 436) | struct Push
type Push (line 438) | struct Push
type Push (line 456) | struct Push
type Push (line 480) | struct Push
function txt2html (line 497) | void txt2html(FILE *fp, struct emailinfo *email, const struct body *bp, ...
function init_txt2html (line 620) | void init_txt2html()
function end_txt2html (line 644) | void end_txt2html(FILE *fp)
FILE: src/txt2html.h
type emailinfo (line 3) | struct emailinfo
type body (line 3) | struct body
FILE: src/uudecode.c
function uudecode (line 59) | int uudecode(FILE *input, /* get file data from (if needed) */
FILE: src/uudecode.h
type Push (line 5) | struct Push
Copy disabled (too large)
Download .json
Condensed preview — 566 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,039K chars).
[
{
"path": ".gitignore",
"chars": 912,
"preview": "# ignore all files generated by configure and make\nautom4te.cache\nconfig.cache\nconfig.h\nconfig.log\nconfig.status\nMakefil"
},
{
"path": "COPYING",
"chars": 17983,
"preview": "\n\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc"
},
{
"path": "Changelog",
"chars": 121883,
"preview": "Version Changes for Hypermail\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n============================\nHYPERMAIL VERSION 2.4.1:\n====="
},
{
"path": "FILES",
"chars": 14968,
"preview": "# \n# FILES: Automatically generated by mkFILES: \n# - Wed Mar 20 19:50:32 CET 2013 \n# \n##################\n# Top-"
},
{
"path": "INSTALL",
"chars": 6694,
"preview": "Quick summary:\n./configure\nmake\nmake install\n\nSee the Upgrading section at the end for changes that might affect users\no"
},
{
"path": "KNOWN_BUGS",
"chars": 4001,
"preview": "\nThis is a list of know problems with the current version of Hypermail\n\n================================================"
},
{
"path": "Makefile.in",
"chars": 2370,
"preview": "#\n# Makefile for hypermail package.\n#\n\n@SET_MAKE@\n\nprefix=@prefix@\ndatarootdir = @datarootdir@\ndatadir = @datadir@\nexec_"
},
{
"path": "README",
"chars": 6769,
"preview": "\n Hypermail\n\n Version: 2.4.x\n\nThis is a release of the 2.4.x versi"
},
{
"path": "README.CVS",
"chars": 3350,
"preview": "[ DEPRECATED We're now using github : https://github.com/hypermail-project/hypermail ]\n\n Hypermai"
},
{
"path": "README.git",
"chars": 1064,
"preview": " Hypermail GIT Server Access\n \n ----\n Hypermail Development"
},
{
"path": "TODO",
"chars": 7947,
"preview": "This is a file of things to do. If you have other ideas or needs send\nthem to hypermail-dev@hypermail.org.\n\n============"
},
{
"path": "UPGRADE",
"chars": 1085,
"preview": "Upgrade Notes\n==============\n\nFrom Hypermail 2.3.0 to Hypermail 2.4.0\n-----------------------------------------\n\nHyperma"
},
{
"path": "acconfig.h",
"chars": 20,
"preview": "\n#undef HAVE_GDBM_H\n"
},
{
"path": "aclocal.m4",
"chars": 4102,
"preview": "dnl Some macros borrowed from Apache's httpd config file. Thanks!\n\ndnl\ndnl APR_SUBDIR_CONFIG(dir [, sub-package-cmdline-"
},
{
"path": "archive/.indent.pro",
"chars": 173,
"preview": "-nbad -bap -nbbo -nbc -br -brs -c33 -cd33 -ncdb -nce -ci4 \n-cp33 -ncs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs\n"
},
{
"path": "archive/1998",
"chars": 2678,
"preview": "#!/bin/sh\n#\n# set -x # bug squisher\n#\n# The purpose of this script is to allow you to re-generate your\n# hypermail arch"
},
{
"path": "archive/Makefile.in",
"chars": 1954,
"preview": "###################################################\n# Sample Makefile for mail archive maintenance.\n#\n# Define variable"
},
{
"path": "archive/README",
"chars": 5885,
"preview": "This directory contains the archive specific information for maintaining \nmailing list archives. Much of the functional"
},
{
"path": "archive/lists.h",
"chars": 1468,
"preview": "/*\n** FILE: lists.h - %W% %G% \n** AUTHOR: Kent Landfield\n**\n** ABSTRACT: Define the lists suppo"
},
{
"path": "archive/mbox2hypermail.c",
"chars": 6452,
"preview": "/*\n** FILE: mbox2hypermail.c\n** AUTHOR: Kent Landfield\n**\n** ABSTRACT: read mailbox and print ou"
},
{
"path": "archive/msg2archive.c",
"chars": 9064,
"preview": "/*\n** FILE: msg2archive.c\n** AUTHOR: Kent Landfield\n**\n** ABSTRACT: update archived mailbox and "
},
{
"path": "archive/runtest",
"chars": 980,
"preview": "#!/bin/sh\n#\n\nDIR=`pwd`\nMsg2archive=$DIR/msg2archive\nTestMsg=$DIR/test-msg\n\nif [ ! -d ../tests/mail-archive ]; then\n "
},
{
"path": "archive/test-msg",
"chars": 1718,
"preview": "From bel@llnl.gov Fri Aug 28 11:15 PDT 1998\nReceived: from pierce.llnl.gov (pierce.llnl.gov [128.115.18.253])\n by"
},
{
"path": "autogen.sh",
"chars": 41,
"preview": "#!/bin/sh\nautoconf\nrm -rf autom4te.cache\n"
},
{
"path": "config.guess",
"chars": 38470,
"preview": "#! /bin/sh\n# Attempt to guess a canonical system name.\n# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,"
},
{
"path": "config.h.in",
"chars": 4179,
"preview": "/* config.h.in. Generated automatically from configure.in by autoheader. */\n\n/* Define if you have the strftime functi"
},
{
"path": "config.sub",
"chars": 29027,
"preview": "#! /bin/sh\n# Configuration validation subroutine script.\n# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 199"
},
{
"path": "configs/hmrc.example",
"chars": 29347,
"preview": "#\n# hmrc.example:\n#\n# This is a sample Hypermail configuration file. If you wish\n# to use it, copy it to a new filename "
},
{
"path": "configs/hypermail-footer.hyp",
"chars": 228,
"preview": "<p align=\"center\"><img src=\"http://www.hypermail.org/images/common/yellowline.gif\" width=\"400\" height=\"4\" alt=\"---------"
},
{
"path": "configs/hypermail-index.hyp",
"chars": 608,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n<head>\n<meta name=\"description\" content=\"Hypermail Develo"
},
{
"path": "configs/hypermail-msg.hyp",
"chars": 623,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\r\n<html>\r\n<head>\r\n<meta name=\"description\" content=\"Hypermail Dev"
},
{
"path": "configs/hypermail.rc",
"chars": 23798,
"preview": "#################################################################\n#\n# Sample config file used for hypermail@hypermail.or"
},
{
"path": "configure",
"chars": 209951,
"preview": "#! /bin/sh\n# From configure.ac Revision: 1.2 .\n# Guess values for system-dependent variables and create Makefiles.\n# Gen"
},
{
"path": "configure.ac",
"chars": 16688,
"preview": "dnl Process this file with autoconf to produce a configure script.\n\nAC_PREREQ([2.69])\nAC_REVISION($Revision: 1.2 $)dnl\nA"
},
{
"path": "contrib/canonicalize.pl",
"chars": 998,
"preview": "#!/usr/bin/perl\n#\n# Author: Scott Rose <srose@direct.ca>\n#\n# $Id$\n#\n# Comparing two archives is complicated by the fact "
},
{
"path": "contrib/cron_hypermail",
"chars": 6256,
"preview": "#!/usr/bin/perl\n\n=h1\nThis perl script is used for calling hypermail via cron.\n\nThis script checks to see if an email has"
},
{
"path": "contrib/fixhtime.pl",
"chars": 4388,
"preview": "#!/usr/bin/perl\n\nrequire 5.000;\nrequire Exporter;\nuse Carp;\n\n#\n# This program is intended to modify the dates on files i"
},
{
"path": "contrib/hoaf-28/README",
"chars": 2900,
"preview": "Date: Tue, 30 Nov 1999 02:18:32 -0600\nFrom: Bernhard Reiter <bernhard@uwm.edu>\nSubject: XML indexer, experimental, patch"
},
{
"path": "contrib/hoaf-28/collect_snipplets.py",
"chars": 3804,
"preview": "#!/usr/bin/env python\n\"\"\" Runs over the File system and builds a .html from snipplets. v%(version)s\n\nUSAGE %(progname)s"
},
{
"path": "contrib/hoaf-28/create_archive_snipplet.py",
"chars": 5418,
"preview": "#!/usr/bin/env python\n\"\"\" Creates a html sniplet foor hypermail directories. v%(version)s\n\nTakes one directory name as a"
},
{
"path": "contrib/hoaf-28/footer_html.hdr",
"chars": 17,
"preview": "\n</body>\n</html>\n"
},
{
"path": "contrib/hoaf-28/haof-0.1.dtd",
"chars": 1645,
"preview": "<!--\n\n Experimental hypermail archive overview file DTD 0.2 \n Might be available from http://ffii.org/~breiter/pro"
},
{
"path": "contrib/hoaf-28/hypermail-2b28-2b28+.patch",
"chars": 4238,
"preview": "diff -ru hypermail-2b28/patchlevel.h hypermail/patchlevel.h\n--- hypermail-2b28/patchlevel.h\tMon Dec 6 17:22:27 1999\n+++"
},
{
"path": "contrib/hoaf-28/top_html.hdr",
"chars": 15,
"preview": "<html>\n<body>\n\n"
},
{
"path": "contrib/hyperfeed.pl",
"chars": 2436,
"preview": "#!/usr/bin/perl5 \n#\n# hyperfeed.pl\n#\n# Feed messages from an mbox into hypermail one at a time so as to test the\n# i"
},
{
"path": "contrib/hypetombox.pl",
"chars": 8597,
"preview": "#!/usr/bin/perl\n#\n# Concept:\n#\n# Convert a hypermail archive to an mbox, weakly.\n#\n# Author:\n#\n# Scott Rose, rose@cs.["
},
{
"path": "contrib/ls2mail",
"chars": 3022,
"preview": "#!/usr/local/bin/perl\n#\n# ls2mail -- converts listserv formated digests to UNIX \"mail\" format\n#\n# Usage:\n# ./ls2mail <"
},
{
"path": "contrib/mailbox_date_trimmer/README.html",
"chars": 8755,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.or"
},
{
"path": "contrib/mailbox_date_trimmer/README.mailbox_reader",
"chars": 14657,
"preview": "Python Library Documentation: module mailbox_reader\n\nNAME\n mailbox_reader - Python module to read UNIX mailboxes sequ"
},
{
"path": "contrib/mailbox_date_trimmer/mailbox_date_trimmer.py",
"chars": 11633,
"preview": "#!/usr/bin/env python\n# -*- mode:Python; tab-width: 3 -*-\n\"\"\"Corrects dates in a mailbox archives.\n\nThis program is free"
},
{
"path": "contrib/mailbox_date_trimmer/mailbox_reader.py",
"chars": 13337,
"preview": "# -*- mode:Python; tab-width: 3 -*-\n\"\"\"Python module to read UNIX mailboxes sequentially.\n\nThe module provides two class"
},
{
"path": "contrib/msg2hypermailarchive.py",
"chars": 6768,
"preview": "#!/usr/bin/env python\n\"\"\"Take one email and put it in the right archive using hypermail. v%(version)s\n\n\nExample usage:\n\n"
},
{
"path": "contrib/runtest",
"chars": 886,
"preview": "#!/bin/sh\n#\n\nDIR=`pwd`\nMsg2archive=$DIR/msg2hypermailarchive.py\nTestMsg=$DIR/test-msg\n\nif [ ! -d ../tests/mail-archive "
},
{
"path": "docs/Makefile.in",
"chars": 1610,
"preview": "#\n# Hypermail documentation make file\n#\n# This is where the man page goes\n\nprefix=@prefix@\ndatarootdir = @datarootdir@\nd"
},
{
"path": "docs/archive_search.html",
"chars": 18409,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html"
},
{
"path": "docs/attachments.txt",
"chars": 4163,
"preview": "Hypermail can deal with attachments enclosed in MIME messages.\nFor more information on MIME \n\n + RFC 2045, which speci"
},
{
"path": "docs/customizing.html",
"chars": 16997,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"\n \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<HTML>\n<HE"
},
{
"path": "docs/hmrc.4",
"chars": 34753,
"preview": ".TH hmrc 4 \"July 19, 2018\"\n.SH NAME\nhmrc \\- Hypermail configuration file \n.SH DESCRIPTION\n.B Hypermail\ncan use a configu"
},
{
"path": "docs/hmrc.html",
"chars": 69795,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n\"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n<me"
},
{
"path": "docs/hypermail-faq.html",
"chars": 22108,
"preview": "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n<HTML>\n<HEAD>\n<TITLE>Hypermail Frequently Asked Questions</TITLE>\n<LINK R"
},
{
"path": "docs/hypermail.1",
"chars": 24186,
"preview": ".TH HYPERMAIL 1 \"June 24, 2000\"\n.SH NAME\nhypermail \\- convert mail archives in UNIX box format to HTML pages\n.SH SYNOPSI"
},
{
"path": "docs/hypermail.html",
"chars": 29652,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"\n \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<HTML>\n<HE"
},
{
"path": "docs/index_hypermail.txt",
"chars": 3845,
"preview": "From Bill Moseley:\n\nI noticed this page on indexing with Swish-e:\n\n http://hypermail.org/source/docs/archive_search.htm"
},
{
"path": "install-sh",
"chars": 5585,
"preview": "#! /bin/sh\n#\n# install - install a program, script, or datafile\n# This comes from X11R5 (mit/util/scripts/install.sh).\n#"
},
{
"path": "lcc/README.txt",
"chars": 2675,
"preview": "A. COMPILING HYPERMAIL USING LCC-Win32\n\n1. Install LCC-Win32 in c:\\lcc (the default installation directory)\n\n2. Put t"
},
{
"path": "lcc/defaults.h",
"chars": 812,
"preview": "#ifndef __DEFAULTS_H\n#define __DEFAULTS_H\n\n/* ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT!\n *\n * The #defines"
},
{
"path": "lcc/dirent.c",
"chars": 2965,
"preview": "/*\n\n Implementation of POSIX directory browsing functions and types for Win32.\n\n Author: Kevlin Henney (kevlin@ac"
},
{
"path": "lcc/dirent.h",
"chars": 949,
"preview": "#ifndef DIRENT_INCLUDED\n#define DIRENT_INCLUDED\n\n/*\n\n Declaration of POSIX directory browsing functions and types for"
},
{
"path": "lcc/getdate.c",
"chars": 59315,
"preview": "/* A Bison parser, made from getdate.y\n by GNU bison 1.35. */\n\n#define YYBISON 1 /* Identify Bison output. */\n\n# de"
},
{
"path": "lcc/hypermail_files.txt",
"chars": 573,
"preview": "lcc_extras.c\ngetdate.c\ndirent.c\n..\\src\\uudecode.c\n..\\src\\txt2html.c\n..\\src\\trio\\triostr.c\n..\\src\\trio\\trionan.c\n..\\src\\t"
},
{
"path": "lcc/lcc_extras.c",
"chars": 264,
"preview": "/* \n stat and fstat are defined in lcc, but not lstat\n*/\n\n#include <sys/stat.h>\n\n/*\n* The way we're handling this now i"
},
{
"path": "lcc/lcc_extras.h",
"chars": 111,
"preview": "/* \n stat and fstat are defined in lcc, but not lstat\n*/\n\nint lstat(const char *file_name, struct stat *buf);\n"
},
{
"path": "lcc/pcre.h",
"chars": 30447,
"preview": "/*************************************************\n* Perl-Compatible Regular Expressions *\n******************"
},
{
"path": "lcc/pcre_chartables.c",
"chars": 7848,
"preview": "/*************************************************\n* Perl-Compatible Regular Expressions *\n******************"
},
{
"path": "lcc/pcre_config.h",
"chars": 14048,
"preview": "/* config.h. Generated from config.h.in by configure. */\n/* config.h.in. Generated from configure.ac by autoheader. "
},
{
"path": "libcgi/.indent.pro",
"chars": 173,
"preview": "-nbad -bap -nbbo -nbc -br -brs -c33 -cd33 -ncdb -nce -ci4 \n-cp33 -ncs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs\n"
},
{
"path": "libcgi/Makefile.in",
"chars": 930,
"preview": "# CGI virdoc library makefile\n\n#WNOERROR=-Werror\n#WARNINGS=$(WNOERROR) -ansi -pedantic -Wall -Wtraditional -Wshadow -Wpo"
},
{
"path": "libcgi/cgi.h",
"chars": 3043,
"preview": "/** \n ** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n ** VeriFone Inc./Hewlett-Packard. A"
},
{
"path": "libcgi/form_ent.c",
"chars": 7354,
"preview": "/**\n ** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n ** VeriFone Inc./Hewlett-Packard. Al"
},
{
"path": "libcgi/form_tags.c",
"chars": 1795,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/get_cgi_info.c",
"chars": 2039,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/html.c",
"chars": 1622,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/libcgi.html",
"chars": 7534,
"preview": "<HTML>\n<HEAD>\n<TITLE>Hypermail's CGI Library</TITLE>\n</HEAD>\n<BODY>\n<H1 ALIGN=CENTER><A HREF=\"http://www.hypermail.org/\""
},
{
"path": "libcgi/main.c",
"chars": 1177,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/mcode.c",
"chars": 1455,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/strops.c",
"chars": 1591,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/syn_mime.c",
"chars": 1351,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/syn_url.c",
"chars": 1451,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "libcgi/template.c",
"chars": 1955,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "ltmain.sh",
"chars": 140918,
"preview": "# ltmain.sh - Provide generalized library-building support services.\n# NOTE: Changing this file will not affect anything"
},
{
"path": "maketgz",
"chars": 1051,
"preview": "#! /bin/sh\n# Script to build release-archives with\n#\n\necho \"Version number ?\"\nread version\n\necho \"Patchlevel ?\"\nread pat"
},
{
"path": "patchlevel.h",
"chars": 47,
"preview": "#define VERSION \"2.4.0\"\n#define PATCHLEVEL \"0\"\n"
},
{
"path": "src/.indent.pro",
"chars": 195,
"preview": "-nbad -bap -nbbo -nbc -br -brs -ncdb -nce -ci4 -cp33 \n-ncs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs \n-npsl -nsc"
},
{
"path": "src/.splintrc",
"chars": 1599,
"preview": "#\n# Standard mode of checking.\n#\n-weak\n#-standard\n#-checks\n#-strict\n#\n# MEMORY/NULL/SECURITY\n+nullterminated\n+bounds\n+bo"
},
{
"path": "src/Makefile.in",
"chars": 6540,
"preview": "#\n# Makefile for Hypermail\n#\n@SET_MAKE@\n\nprefix=@prefix@\ndatarootdir = @datarootdir@\ndatadir = @datadir@\nexec_prefix=@ex"
},
{
"path": "src/base64.c",
"chars": 2037,
"preview": "/* \n** Author: Daniel Stenberg <Daniel.Stenberg@haxx.nu>\n** Version: 0.1\n**\n** This is a Base64 encoder as defined in R"
},
{
"path": "src/base64.h",
"chars": 76,
"preview": "/* \n** MIME Decode - base64.c\n*/\n\nvoid base64Decode(char *, char *, int *);\n"
},
{
"path": "src/date.c",
"chars": 10553,
"preview": "/*\n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All R"
},
{
"path": "src/defaults.h.in",
"chars": 855,
"preview": "#ifndef __DEFAULTS_H\n#define __DEFAULTS_H\n\n/* ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT!\n *\n * The #defines"
},
{
"path": "src/dmatch.c",
"chars": 1054,
"preview": "/*\n The shortest ever? 88 characters...\n\n m(char*s,char*t){return*t-'*'?*s?*t=='?'|*s==*t&&m(s+1,t+1):!*t:m(s,t+1)||*s"
},
{
"path": "src/dmatch.h",
"chars": 28,
"preview": "char Match(char *, char *);\n"
},
{
"path": "src/domains.c",
"chars": 864,
"preview": "#include \"hypermail.h\"\n#include \"domains.h\"\n\nstruct co_code *ccptr;\n\nint valid_root_domain(char *eaddr)\n{\n char *name"
},
{
"path": "src/domains.h",
"chars": 14618,
"preview": "/* \n** @(#)domains.h\t1.17 03/09/03 - Kent Landfield\n*/\n\n/*\n** Domain Address COUNTRY Abbreviations \n** Domain codes \n**\n"
},
{
"path": "src/file.c",
"chars": 19449,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "src/finelink.c",
"chars": 20260,
"preview": "/*\n** Copyright (C) 1997, Peter McCluskey (pcm@rahul.net)\n** \n** This program and library is free software; you can redi"
},
{
"path": "src/finelink.h",
"chars": 418,
"preview": "#ifndef __FINELINK_H\n#define __FINELINK_H\n\n#include \"hypermail.h\"\n#include \"setup.h\"\t\t/* for bool */\n\nint\nhandle_quoted_"
},
{
"path": "src/fnv/Makefile.in",
"chars": 13759,
"preview": "\n# Makefile.in for Fowler / Noll / Vo (FNV) Hash Tools library\n#\n# Prepared for the autoconf tools from the original Mak"
},
{
"path": "src/fnv/README",
"chars": 3776,
"preview": "#=====================#\n# Fowler/Noll/Vo hash #\n#=====================#\n\nThe basis of this hash algorithm was taken from"
},
{
"path": "src/fnv/aclocal.m4",
"chars": 117938,
"preview": "# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-\n## Copyright 1996, 1997, 1998, 1999, 2000, 2001"
},
{
"path": "src/fnv/config.guess",
"chars": 38470,
"preview": "#! /bin/sh\n# Attempt to guess a canonical system name.\n# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,"
},
{
"path": "src/fnv/config.in",
"chars": 520,
"preview": "/* config.in. Generated automatically from configure.in by autoheader 2.13. */\n\n/* Define to empty if the keyword does"
},
{
"path": "src/fnv/config.sub",
"chars": 29027,
"preview": "#! /bin/sh\n# Configuration validation subroutine script.\n# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 199"
},
{
"path": "src/fnv/configure",
"chars": 182719,
"preview": "#! /bin/sh\n\n# Guess values for system-dependent variables and create Makefiles.\n# Generated automatically using autoconf"
},
{
"path": "src/fnv/configure.in",
"chars": 1706,
"preview": "dnl Process this file with autoconf to produce a configure script.\nAC_INIT(fnv.h)\n\ndnl Arrange to build config.h from co"
},
{
"path": "src/fnv/configure.scan",
"chars": 420,
"preview": "dnl Process this file with autoconf to produce a configure script.\nAC_INIT(fnv.h)\n\ndnl Checks for programs.\nAC_PROG_CC\nA"
},
{
"path": "src/fnv/fnv.h",
"chars": 4279,
"preview": "/*\n * fnv - Fowler/Noll/Vo- hash code\n *\n * @(#) $Revision$\n * @(#) $Id$\n * @(#) $Source$\n *\n ***\n *\n * Fowler/Noll/Vo- "
},
{
"path": "src/fnv/fnv32.c",
"chars": 6486,
"preview": "/*\n * fnv32 - 32 bit Fowler/Noll/Vo hash of a buffer or string\n *\n * @(#) $Revision$\n * @(#) $Id$\n * @(#) $Source$\n *\n *"
},
{
"path": "src/fnv/fnv64.c",
"chars": 7160,
"preview": "/*\n * fnv_64 - 64 bit Fowler/Noll/Vo hash of a buffer or string\n *\n * @(#) $Revision$\n * @(#) $Id$\n * @(#) $Source$\n *\n "
},
{
"path": "src/fnv/hash_32.c",
"chars": 4122,
"preview": "/*\n * hash_32 - 32 bit Fowler/Noll/Vo hash code\n *\n * @(#) $Revision$\n * @(#) $Id$\n * @(#) $Source$\n *\n ***\n *\n * Fowler"
},
{
"path": "src/fnv/hash_64.c",
"chars": 8177,
"preview": "/*\n * hash_64 - 64 bit Fowler/Noll/Vo-0 hash code\n *\n * @(#) $Revision$\n * @(#) $Id$\n * @(#) $Source$\n *\n ***\n *\n * Fowl"
},
{
"path": "src/fnv/have_ulong64.c",
"chars": 1451,
"preview": "/*\n * have_ulong64 - Determine if we have a 64 bit unsigned long long\n *\n * usage:\n *\thave_ulong64 > longlong.h\n *\n * No"
},
{
"path": "src/fnv/ltconfig",
"chars": 96470,
"preview": "#! /bin/sh\n\n# ltconfig - Create a system-specific libtool.\n# Copyright (C) 1996-1999 Free Software Foundation, Inc.\n# Or"
},
{
"path": "src/fnv/ltmain.sh",
"chars": 140918,
"preview": "# ltmain.sh - Provide generalized library-building support services.\n# NOTE: Changing this file will not affect anything"
},
{
"path": "src/getdate.h",
"chars": 1406,
"preview": "/* Copyright (C) 1995 Free Software Foundation, Inc.\n\n This program is free software; you can redistribute it and/or "
},
{
"path": "src/getdate.texi",
"chars": 18607,
"preview": "@node Date input formats\r\n@chapter Date input formats\r\n\r\n@cindex date input formats\r\n@findex getdate\r\n\r\n@quotation\r\nOur "
},
{
"path": "src/getdate.y",
"chars": 24925,
"preview": "%{\n/*\n** Originally written by Steven M. Bellovin <smb@research.att.com> while\n** at the University of North Carolina "
},
{
"path": "src/getname.c",
"chars": 9193,
"preview": "#include \"hypermail.h\"\n#include \"getname.h\"\n#include \"setup.h\"\n\nextern char *set_domainaddr;\n\nstatic int blankstring(cha"
},
{
"path": "src/getname.h",
"chars": 40,
"preview": "void getname(char *, char **, char **);\n"
},
{
"path": "src/hypermail.c",
"chars": 21338,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "src/hypermail.h",
"chars": 11014,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "src/lang.c",
"chars": 1646,
"preview": "#ifdef LANG_PROG\n#define MAIN_FILE\n#endif\n\n#include <getopt.h>\n\n#include \"hypermail.h\"\n\nchar **valid_language(char *lg, "
},
{
"path": "src/lang.h",
"chars": 164635,
"preview": "/*\n** WARNING!!! Don't muck with this file unless you know what you are\n** getting yourself into!!!!!!\n*/\n\n/*"
},
{
"path": "src/lock.c",
"chars": 1151,
"preview": "#include \"hypermail.h\"\n#include \"setup.h\"\n\n#define LOCKBASE \".hypermail.lock\"\n\nint i_locked_it = 0;\n\nvoid lock_arc"
},
{
"path": "src/mail.c",
"chars": 1507,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "src/mem.c",
"chars": 1355,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "src/parse.c",
"chars": 138635,
"preview": "/* \n** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.\n** VeriFone Inc./Hewlett-Packard. All "
},
{
"path": "src/parse.h",
"chars": 1461,
"preview": "/*\n** parse.c Functions\n*/\n\nint ignorecontent(char *);\nint inlinecontent(char *);\nint preferedcontent(int *, char *, int"
},
{
"path": "src/pcre/132html",
"chars": 7004,
"preview": "#! /usr/bin/perl -w\n\n# Script to turn PCRE man pages into HTML\n\n\n# Subroutine to handle font changes and other escapes\n\n"
},
{
"path": "src/pcre/AUTHORS",
"chars": 851,
"preview": "THE MAIN PCRE LIBRARY\n---------------------\n\nWritten by: Philip Hazel\nEmail local part: ph10\nEmail domain: cam"
},
{
"path": "src/pcre/CMakeLists.txt",
"chars": 34139,
"preview": "# CMakeLists.txt\n#\n#\n# This file allows building PCRE with the CMake configuration and build\n# tool. Download CMake in s"
},
{
"path": "src/pcre/COPYING",
"chars": 95,
"preview": "PCRE LICENCE\n\nPlease see the file LICENCE in the PCRE distribution for licensing details.\n\nEnd\n"
},
{
"path": "src/pcre/ChangeLog",
"chars": 298091,
"preview": "ChangeLog for PCRE\n------------------\n\nNote that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All\ndevelop"
},
{
"path": "src/pcre/CheckMan",
"chars": 1493,
"preview": "#! /usr/bin/perl\n\n# A script to scan PCRE's man pages to check for typos in the control\n# sequences. I use only a small "
},
{
"path": "src/pcre/CleanTxt",
"chars": 2941,
"preview": "#! /usr/bin/perl -w\n\n# Script to take the output of nroff -man and remove all the backspacing and\n# the page footers and"
},
{
"path": "src/pcre/Detrail",
"chars": 643,
"preview": "#!/usr/bin/perl\n\n# This is a script for removing trailing whitespace from lines in files that\n# are listed on the comman"
},
{
"path": "src/pcre/HACKING",
"chars": 23860,
"preview": "Technical Notes about PCRE\n--------------------------\n\nThese are very rough technical notes that record potentially usef"
},
{
"path": "src/pcre/INSTALL",
"chars": 15756,
"preview": "Installation Instructions\n*************************\n\n Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software\nFoun"
},
{
"path": "src/pcre/LICENCE",
"chars": 3182,
"preview": "PCRE LICENCE\n------------\n\nPCRE is a library of functions to support regular expressions whose syntax\nand semantics are "
},
{
"path": "src/pcre/Makefile.am",
"chars": 27296,
"preview": "## Process this file with automake to produce Makefile.in.\n\nACLOCAL_AMFLAGS = -I m4\n\ndist_doc_DATA = \\\n doc/pcre.txt \\\n"
},
{
"path": "src/pcre/Makefile.in",
"chars": 226201,
"preview": "# Makefile.in generated by automake 1.16.1 from Makefile.am.\n# @configure_input@\n\n# Copyright (C) 1994-2018 Free Softwar"
},
{
"path": "src/pcre/NEWS",
"chars": 29374,
"preview": "News about PCRE releases\n------------------------\n\nNote that this library (now called PCRE1) is now being maintained for"
},
{
"path": "src/pcre/NON-AUTOTOOLS-BUILD",
"chars": 31359,
"preview": "Building PCRE without using autotools\n-------------------------------------\n\nNOTE: This document relates to PCRE release"
},
{
"path": "src/pcre/NON-UNIX-USE",
"chars": 229,
"preview": "Compiling PCRE on non-Unix systems\n----------------------------------\n\nThis has been renamed to better reflect its conte"
},
{
"path": "src/pcre/PrepareRelease",
"chars": 7311,
"preview": "#/bin/sh\n\n# Script to prepare the files for building a PCRE release. It does some\n# processing of the documentation, det"
},
{
"path": "src/pcre/README",
"chars": 45548,
"preview": "README file for PCRE (Perl-compatible regular expression library)\n------------------------------------------------------"
},
{
"path": "src/pcre/RunGrepTest",
"chars": 28887,
"preview": "#! /bin/sh\n\n# Run pcregrep tests. The assumption is that the PCRE tests check the library\n# itself. What we are checking"
},
{
"path": "src/pcre/RunTest",
"chars": 29654,
"preview": "#! /bin/sh\n\n###############################################################################\n# Run the PCRE tests using t"
},
{
"path": "src/pcre/RunTest.bat",
"chars": 17518,
"preview": "@echo off\r\n@rem This file must use CRLF linebreaks to function properly\r\n@rem and requires both pcretest and pcregrep\r\n@"
},
{
"path": "src/pcre/aclocal.m4",
"chars": 56762,
"preview": "# generated automatically by aclocal 1.16.1 -*- Autoconf -*-\n\n# Copyright (C) 1996-2018 Free Software Foundation, Inc.\n\n"
},
{
"path": "src/pcre/ar-lib",
"chars": 5827,
"preview": "#! /bin/sh\n# Wrapper for Microsoft lib.exe\n\nme=ar-lib\nscriptversion=2012-03-01.08; # UTC\n\n# Copyright (C) 2010-2018 Free"
},
{
"path": "src/pcre/cmake/COPYING-CMAKE-SCRIPTS",
"chars": 1327,
"preview": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the followi"
},
{
"path": "src/pcre/cmake/FindEditline.cmake",
"chars": 657,
"preview": "# Modified from FindReadline.cmake (PH Feb 2012)\n\nif(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY AND NCURSES_LIBRARY)\n se"
},
{
"path": "src/pcre/cmake/FindPackageHandleStandardArgs.cmake",
"chars": 2410,
"preview": "# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME (DEFAULT_MSG|\"Custom failure message\") VAR1 ... )\n# This macro is intended t"
},
{
"path": "src/pcre/cmake/FindReadline.cmake",
"chars": 1287,
"preview": "# from http://websvn.kde.org/trunk/KDE/kdeedu/cmake/modules/FindReadline.cmake\n# http://websvn.kde.org/trunk/KDE/kdeedu/"
},
{
"path": "src/pcre/compile",
"chars": 7383,
"preview": "#! /bin/sh\n# Wrapper for compilers which do not understand '-c -o'.\n\nscriptversion=2018-03-07.03; # UTC\n\n# Copyright (C)"
},
{
"path": "src/pcre/config-cmake.h.in",
"chars": 1560,
"preview": "/* config.h for CMake builds */\n\n#cmakedefine HAVE_DIRENT_H 1\n#cmakedefine HAVE_SYS_STAT_H 1\n#cmakedefine HAVE_SYS_TYPES"
},
{
"path": "src/pcre/config.guess",
"chars": 44166,
"preview": "#! /bin/sh\n# Attempt to guess a canonical system name.\n# Copyright 1992-2018 Free Software Foundation, Inc.\n\ntimestamp"
},
{
"path": "src/pcre/config.h.generic",
"chars": 14009,
"preview": "/* config.h. Generated from config.h.in by configure. */\n/* config.h.in. Generated from configure.ac by autoheader. "
},
{
"path": "src/pcre/config.h.in",
"chars": 13470,
"preview": "/* config.h.in. Generated from configure.ac by autoheader. */\n\n\n/* PCRE is written in Standard C, but there are a few "
},
{
"path": "src/pcre/config.sub",
"chars": 36141,
"preview": "#! /bin/sh\n# Configuration validation subroutine script.\n# Copyright 1992-2018 Free Software Foundation, Inc.\n\ntimesta"
},
{
"path": "src/pcre/configure",
"chars": 703618,
"preview": "#! /bin/sh\n# Guess values for system-dependent variables and create Makefiles.\n# Generated by GNU Autoconf 2.69 for PCRE"
},
{
"path": "src/pcre/configure.ac",
"chars": 41991,
"preview": "dnl Process this file with autoconf to produce a configure script.\n\ndnl NOTE FOR MAINTAINERS: Do not use minor version n"
},
{
"path": "src/pcre/depcomp",
"chars": 23568,
"preview": "#! /bin/sh\n# depcomp - compile a program generating dependencies as side-effects\n\nscriptversion=2018-03-07.03; # UTC\n\n# "
},
{
"path": "src/pcre/dftables.c",
"chars": 6972,
"preview": "/*************************************************\n* Perl-Compatible Regular Expressions *\n******************"
},
{
"path": "src/pcre/doc/html/NON-AUTOTOOLS-BUILD.txt",
"chars": 31359,
"preview": "Building PCRE without using autotools\n-------------------------------------\n\nNOTE: This document relates to PCRE release"
},
{
"path": "src/pcre/doc/html/README.txt",
"chars": 45548,
"preview": "README file for PCRE (Perl-compatible regular expression library)\n------------------------------------------------------"
},
{
"path": "src/pcre/doc/html/index.html",
"chars": 7677,
"preview": "<html>\n<!-- This is a manually maintained file that is the root of the HTML version of\n the PCRE documentation. When"
},
{
"path": "src/pcre/doc/html/pcre-config.html",
"chars": 3659,
"preview": "<html>\n<head>\n<title>pcre-config specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" ali"
},
{
"path": "src/pcre/doc/html/pcre.html",
"chars": 10382,
"preview": "<html>\n<head>\n<title>pcre specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" alink=\"#33"
},
{
"path": "src/pcre/doc/html/pcre16.html",
"chars": 16214,
"preview": "<html>\n<head>\n<title>pcre16 specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" alink=\"#"
},
{
"path": "src/pcre/doc/html/pcre32.html",
"chars": 16098,
"preview": "<html>\n<head>\n<title>pcre32 specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" alink=\"#"
},
{
"path": "src/pcre/doc/html/pcre_assign_jit_stack.html",
"chars": 2541,
"preview": "<html>\n<head>\n<title>pcre_assign_jit_stack specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0"
},
{
"path": "src/pcre/doc/html/pcre_compile.html",
"chars": 4735,
"preview": "<html>\n<head>\n<title>pcre_compile specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" al"
},
{
"path": "src/pcre/doc/html/pcre_compile2.html",
"chars": 4906,
"preview": "<html>\n<head>\n<title>pcre_compile2 specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" a"
},
{
"path": "src/pcre/doc/html/pcre_config.html",
"chars": 3938,
"preview": "<html>\n<head>\n<title>pcre_config specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" ali"
},
{
"path": "src/pcre/doc/html/pcre_copy_named_substring.html",
"chars": 2359,
"preview": "<html>\n<head>\n<title>pcre_copy_named_substring specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link"
},
{
"path": "src/pcre/doc/html/pcre_copy_substring.html",
"chars": 2115,
"preview": "<html>\n<head>\n<title>pcre_copy_substring specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#006"
},
{
"path": "src/pcre/doc/html/pcre_dfa_exec.html",
"chars": 5969,
"preview": "<html>\n<head>\n<title>pcre_dfa_exec specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" a"
},
{
"path": "src/pcre/doc/html/pcre_exec.html",
"chars": 5059,
"preview": "<html>\n<head>\n<title>pcre_exec specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" alink"
},
{
"path": "src/pcre/doc/html/pcre_free_study.html",
"chars": 1231,
"preview": "<html>\n<head>\n<title>pcre_free_study specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\""
},
{
"path": "src/pcre/doc/html/pcre_free_substring.html",
"chars": 1283,
"preview": "<html>\n<head>\n<title>pcre_free_substring specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#006"
},
{
"path": "src/pcre/doc/html/pcre_free_substring_list.html",
"chars": 1289,
"preview": "<html>\n<head>\n<title>pcre_free_substring_list specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link="
},
{
"path": "src/pcre/doc/html/pcre_fullinfo.html",
"chars": 5150,
"preview": "<html>\n<head>\n<title>pcre_fullinfo specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" a"
},
{
"path": "src/pcre/doc/html/pcre_get_named_substring.html",
"chars": 2460,
"preview": "<html>\n<head>\n<title>pcre_get_named_substring specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link="
},
{
"path": "src/pcre/doc/html/pcre_get_stringnumber.html",
"chars": 1773,
"preview": "<html>\n<head>\n<title>pcre_get_stringnumber specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0"
},
{
"path": "src/pcre/doc/html/pcre_get_stringtable_entries.html",
"chars": 2062,
"preview": "<html>\n<head>\n<title>pcre_get_stringtable_entries specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" l"
},
{
"path": "src/pcre/doc/html/pcre_get_substring.html",
"chars": 2243,
"preview": "<html>\n<head>\n<title>pcre_get_substring specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066"
},
{
"path": "src/pcre/doc/html/pcre_get_substring_list.html",
"chars": 2198,
"preview": "<html>\n<head>\n<title>pcre_get_substring_list specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\""
},
{
"path": "src/pcre/doc/html/pcre_jit_exec.html",
"chars": 4814,
"preview": "<html>\n<head>\n<title>pcre_jit_exec specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#0066FF\" a"
},
{
"path": "src/pcre/doc/html/pcre_jit_stack_alloc.html",
"chars": 1720,
"preview": "<html>\n<head>\n<title>pcre_jit_stack_alloc specification</title>\n</head>\n<body bgcolor=\"#FFFFFF\" text=\"#00005A\" link=\"#00"
}
]
// ... and 366 more files (download for full content)
About this extraction
This page contains the full source code of the hypermail-project/hypermail GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 566 files (12.7 MB), approximately 3.4M tokens, and a symbol index with 2150 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.