diff options
author | Kirill Volinsky <mataes2007@gmail.com> | 2012-05-19 18:01:32 +0000 |
---|---|---|
committer | Kirill Volinsky <mataes2007@gmail.com> | 2012-05-19 18:01:32 +0000 |
commit | b1509f22892dc98057c750e7fae39ded5cea3b09 (patch) | |
tree | 6bdcc9379ae86339a67022b758575729d1304074 /plugins/MirOTR/ekhtml/include | |
parent | e7a776a6f5ab323cd9dd824e815846ef268fa7f1 (diff) |
added MirOTR
git-svn-id: http://svn.miranda-ng.org/main/trunk@83 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/MirOTR/ekhtml/include')
-rw-r--r-- | plugins/MirOTR/ekhtml/include/Makefile | 295 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/Makefile.am | 2 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/Makefile.in | 295 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/ekhtml.h | 266 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/ekhtml_config.h | 42 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/ekhtml_private.h | 162 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/ekhtml_tables.h | 146 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/hash.h | 240 | ||||
-rw-r--r-- | plugins/MirOTR/ekhtml/include/stamp-h1 | 1 |
9 files changed, 1449 insertions, 0 deletions
diff --git a/plugins/MirOTR/ekhtml/include/Makefile b/plugins/MirOTR/ekhtml/include/Makefile new file mode 100644 index 0000000000..3ff805071f --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/Makefile @@ -0,0 +1,295 @@ +# Makefile.in generated by automake 1.6.3 from Makefile.am. +# Generated automatically from Makefile.in by configure. + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +SHELL = /bin/sh + +srcdir = . +top_srcdir = .. + +prefix = /usr/local +exec_prefix = ${prefix} + +bindir = ${exec_prefix}/bin +sbindir = ${exec_prefix}/sbin +libexecdir = ${exec_prefix}/libexec +datadir = ${prefix}/share +sysconfdir = ${prefix}/etc +sharedstatedir = ${prefix}/com +localstatedir = ${prefix}/var +libdir = ${exec_prefix}/lib +infodir = ${prefix}/info +mandir = ${prefix}/man +includedir = ${prefix}/include +oldincludedir = /usr/include +pkgdatadir = $(datadir)/ekhtml +pkglibdir = $(libdir)/ekhtml +pkgincludedir = $(includedir)/ekhtml +top_builddir = .. + +ACLOCAL = ${SHELL} /z/missing --run aclocal-1.6 +AUTOCONF = ${SHELL} /z/missing --run autoconf +AUTOMAKE = ${SHELL} /z/missing --run automake-1.6 +AUTOHEADER = ${SHELL} /z/missing --run autoheader + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /bin/install -c +INSTALL_PROGRAM = ${INSTALL} +INSTALL_DATA = ${INSTALL} -m 644 +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_SCRIPT = ${INSTALL} +INSTALL_HEADER = $(INSTALL_DATA) +transform = s,x,x, +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_alias = +host_triplet = i686-pc-mingw32 + +EXEEXT = .exe +OBJEXT = o +PATH_SEPARATOR = : +AMTAR = ${SHELL} /z/missing --run tar +AS = @AS@ +AWK = gawk +CC = gcc +DEPDIR = .deps +DLLTOOL = @DLLTOOL@ +ECHO = echo +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +MAINT = # +OBJDUMP = @OBJDUMP@ +PACKAGE = ekhtml +RANLIB = ranlib +STRIP = strip +VERSION = 0.3.2 +am__include = include +am__quote = +install_sh = /z/install-sh +include_HEADERS = ekhtml.h +EXTRA_DIST = ekhtml_private.h hash.h +subdir = include +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ekhtml_config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = +HEADERS = $(include_HEADERS) + +DIST_COMMON = $(include_HEADERS) ../config.in Makefile.am Makefile.in +all: ekhtml_config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu include/Makefile +Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +ekhtml_config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/../config.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status include/ekhtml_config.h + +$(srcdir)/../config.in: # $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + touch $(srcdir)/../config.in + +distclean-hdr: + -rm -f ekhtml_config.h stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +includeHEADERS_INSTALL = $(INSTALL_HEADER) +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(includedir) + @list='$(include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \ + $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(includedir)/$$f"; \ + rm -f $(DESTDIR)$(includedir)/$$f; \ + done + +ETAGS = etags +ETAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + $(mkinstalldirs) $(distdir)/.. + @list='$(DISTFILES)'; for file in $$list; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) ekhtml_config.h + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(includedir) + +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + +distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +uninstall-am: uninstall-includeHEADERS uninstall-info-am + +.PHONY: GTAGS all all-am check check-am clean clean-generic \ + clean-libtool distclean distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distdir dvi dvi-am info \ + info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-includeHEADERS \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool tags uninstall uninstall-am \ + uninstall-includeHEADERS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/plugins/MirOTR/ekhtml/include/Makefile.am b/plugins/MirOTR/ekhtml/include/Makefile.am new file mode 100644 index 0000000000..782e59720d --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/Makefile.am @@ -0,0 +1,2 @@ +include_HEADERS = ekhtml.h +EXTRA_DIST = ekhtml_private.h hash.h diff --git a/plugins/MirOTR/ekhtml/include/Makefile.in b/plugins/MirOTR/ekhtml/include/Makefile.in new file mode 100644 index 0000000000..5506c3f6f9 --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/Makefile.in @@ -0,0 +1,295 @@ +# Makefile.in generated by automake 1.6.3 from Makefile.am. +# @configure_input@ + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_HEADER = $(INSTALL_DATA) +transform = @program_transform_name@ +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ + +EXEEXT = @EXEEXT@ +OBJEXT = @OBJEXT@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +AMTAR = @AMTAR@ +AS = @AS@ +AWK = @AWK@ +CC = @CC@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +ECHO = @ECHO@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAINT = @MAINT@ +OBJDUMP = @OBJDUMP@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +VERSION = @VERSION@ +am__include = @am__include@ +am__quote = @am__quote@ +install_sh = @install_sh@ +include_HEADERS = ekhtml.h +EXTRA_DIST = ekhtml_private.h hash.h +subdir = include +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ekhtml_config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = +HEADERS = $(include_HEADERS) + +DIST_COMMON = $(include_HEADERS) ../config.in Makefile.am Makefile.in +all: ekhtml_config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu include/Makefile +Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +ekhtml_config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/../config.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status include/ekhtml_config.h + +$(srcdir)/../config.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + touch $(srcdir)/../config.in + +distclean-hdr: + -rm -f ekhtml_config.h stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +includeHEADERS_INSTALL = $(INSTALL_HEADER) +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(includedir) + @list='$(include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \ + $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(includedir)/$$f"; \ + rm -f $(DESTDIR)$(includedir)/$$f; \ + done + +ETAGS = etags +ETAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + $(mkinstalldirs) $(distdir)/.. + @list='$(DISTFILES)'; for file in $$list; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) ekhtml_config.h + +installdirs: + $(mkinstalldirs) $(DESTDIR)$(includedir) + +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + +distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +uninstall-am: uninstall-includeHEADERS uninstall-info-am + +.PHONY: GTAGS all all-am check check-am clean clean-generic \ + clean-libtool distclean distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distdir dvi dvi-am info \ + info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-includeHEADERS \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool tags uninstall uninstall-am \ + uninstall-includeHEADERS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/plugins/MirOTR/ekhtml/include/ekhtml.h b/plugins/MirOTR/ekhtml/include/ekhtml.h new file mode 100644 index 0000000000..1bed8eaa70 --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/ekhtml.h @@ -0,0 +1,266 @@ +/* + * Copyright (c) 2002, Jon Travis + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef EKHTML_DOT_H +#define EKHTML_DOT_H + +#include <stdio.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + * \file ekhtml.h + * \brief Main El-Kabong header file. + * + * This header defines everything that a program should need to use + * the El-Kabong library. + */ + +/** + * A string object, which is not NUL terminated. + * For speed reasons, El-Kabong does not deal with zero-terminated + * strings. + */ + +typedef struct ekhtml_string_t { + const char *str; /**< Actual string data */ + size_t len; /**< Length of the data in `str` */ +} ekhtml_string_t; + +/** + * Attribute object, passed into callbacks. + * When ekhtml parses tags containing key/value attributes, it will pass + * this structure representing those values into the callbacks. Note, for + * speed reasons, things such as the 'name' and 'value' fields are not + * terminated with '\0', and therefore have an associated length + * field (namelen, vallen). + */ + +typedef struct ekhtml_attr_t { + ekhtml_string_t name; /**< Name of the attribute */ + ekhtml_string_t val; /**< Value of the attribute */ + unsigned int isBoolean; /**< True of the attribute is boolean */ + struct ekhtml_attr_t *next; /**< Pointer to next attribute in the list */ +} ekhtml_attr_t; + +/* + * Typedefs for function callback types + */ + +/** + * The parser object. + * The parser object holds state information, such as which callbacks + * to invoke when reading tags, how much data is being processed, etc. + */ + +typedef struct ekhtml_parser_t ekhtml_parser_t; + +/** + * Callback for simple data. + * Callback functions of this form are used to process data which is + * not part of a start or end tag. This callback may also be used + * to process the body of comment tags. + * + * I.e. <FOO>data_to_process</FOO> + * The data passed into the callback function will be "data_to_process" + * + * @param cbdata Callback data, as previously set by ekhtml_parser_cbdata_set + * @param data A pointer to the data in-between tags. + * + * @see ekhtml_parser_cbdata_set() + * @see ekhtml_parser_datacb_set() + */ + +typedef void (*ekhtml_data_cb_t)(void *cbdata, ekhtml_string_t *data); + +/** + * Callback for start tags. + * Callback functions of this form are used to process start tags. + * + * I.e. <FOO>data_to_process</FOO> + * The tag passed into the callback will be "FOO" with a length of 3. + * + * @param cbdata Callback data, as previously set by ekhtml_parser_cbdata_set + * @param tag A pointer to tag name. This is a traditional NUL terminated + * string. + * @param attrs Attributes of the tag. + * + * @see ekhtml_parser_cbdata_set() + * @see ekhtml_parser_startcb_add() + */ + +typedef void (*ekhtml_starttag_cb_t)(void *cbdata, ekhtml_string_t *tag, + ekhtml_attr_t *attrs); + +/** + * Callback for end tags. + * Callback functions of this form are used to process end tags. + * + * I.e. <FOO>data_to_process</FOO> + * The tag passed into the callback will be "FOO" with a length of 3. + * + * @param cbdata Callback data, as previously set by ekhtml_parser_cbdata_set + * @param tag A pointer to tag name. This is a traditional NUL terminated + * string. + * + * @see ekhtml_parser_cbdata_set() + * @see ekhtml_parser_endcb_add() + */ + +typedef void (*ekhtml_endtag_cb_t)(void *cbdata, ekhtml_string_t *tag); + +/** + * Create a new parser object. + * This routine creates a new parser object, with no set callback + * functions or state. + * + * @param cbdata Callback data to use when invoking callbacks + * + * @returns A new ekhtml_parser_t object + * + * @see ekhtml_parser_cbdata_set() + */ + +extern ekhtml_parser_t *ekhtml_parser_new(void *cbdata); + +/** + * Destroys a parser object and all memory associated with it. + * After calling this routine, the parser should no longer be + * used, as any results would be undefined. + * + * @param parser The parser to destroy + * + * @see ekhtml_parser_new() + */ + +extern void ekhtml_parser_destroy(ekhtml_parser_t *parser); + +/** + * Set the callback data for the parser. + * This routine sets the callback data which is passed to set callbacks. + * + * @param parser Parser to set the callback data for + * @param cbdata Callback data the parser should use to pass to callbacks + */ + +extern void ekhtml_parser_cbdata_set(ekhtml_parser_t *parser, void *cbdata); + +/** + * Set the parser's data callback. + * This routine sets the callback which should be invoked for + * non-tagged data. + * + * @param parser Parser to set the callback for + * @param cb Callback to invoke when processing non-tagged data + */ + +extern void ekhtml_parser_datacb_set(ekhtml_parser_t *parser, + ekhtml_data_cb_t cb); + +/** + * Set the parser's comment callback. + * This routine sets the callback which should be invoked when + * the parser processes a comment. + * + * @param parser Parser to set the callback for + * @param cb Callback to invoke when processing a comment + */ + +extern void ekhtml_parser_commentcb_set(ekhtml_parser_t *parser, + ekhtml_data_cb_t cb); + +/** + * Feed data for the parser to process. + * Feed data into the HTML parser. This routine will fill up the + * internal buffer until it can go no more, then flush the data + * and refill. If there is more data that is required than the + * internal buffer can hold, it will be resized + * + * @param parser Parser to feed data to + * @param data Data to feed to the parser + */ + +extern void ekhtml_parser_feed(ekhtml_parser_t *parser, + ekhtml_string_t *data); + +/** + * Flush the parser innards. + * When this function is invoked, the parser will flush all data that is + * currently held, and any remaining state is saved. All data which is + * processed is removed from the parser, and the internal buffer is + * reshuffled. + * + * @param parser Parser to flush + * @param flushall If true, will flush all data, even if tags are not + * complete (i.e. "<FO") + * @returns 1 if action was taken (i.e. bytes were processed and the + * internal buffer was reshuffled) else 0 + */ + +extern int ekhtml_parser_flush(ekhtml_parser_t *parser, int flushall); + +/** + * Add a callback for a start tag. + * This routine sets the callback which should be invoked when + * the parser processes a start tag. Both specific tags, and + * unknown tags can be used with this method. + * + * @param parser Parser to set the callback for + * @param tag Name of the tag to call `cb` for. If `tag` is NULL, then + * any tags which are unknown to the parser will be sent + * to the callback specified by `cb`. + * @param cb Callback to invoke + */ + +extern void ekhtml_parser_startcb_add(ekhtml_parser_t *parser, const char *tag, + ekhtml_starttag_cb_t cb); + +/** + * Add a callback for an end tag. + * This routine sets the callback which should be invoked when + * the parser processes an end tag. Both specific tags, and + * unknown tags can be used with this method. + * + * @param parser Parser to set the callback for + * @param tag Name of the tag to call `cb` for. If `tag` is NULL, then + * any tags which are unknown to the parser will be sent + * to the callback specified by `cb`. + * @param cb Callback to invoke + */ + +extern void ekhtml_parser_endcb_add(ekhtml_parser_t *parser, const char *tag, + ekhtml_endtag_cb_t cb); + +/** EKHTML_BLOCKSIZE = # of blocks to allocate per chunk */ +#define EKHTML_BLOCKSIZE (1024 * 4) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/plugins/MirOTR/ekhtml/include/ekhtml_config.h b/plugins/MirOTR/ekhtml/include/ekhtml_config.h new file mode 100644 index 0000000000..5ee8a65feb --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/ekhtml_config.h @@ -0,0 +1,42 @@ +/* include/ekhtml_config.h. Generated automatically by configure. */ +/* config.in. Generated automatically from configure.in by autoheader. */ +/* local_template.h + This file is in the public domain. + + Descriptive text for the C preprocessor macros that + the distributed Autoconf macros can define. + No software package will use all of them; autoheader copies the ones + your configure.in uses into your configuration header file templates. + + The entries are in sort -df order: alphabetical, case insensitive, + ignoring punctuation (such as underscores). Although this order + can split up related entries, it makes it easier to check whether + a given entry is in the file. + + Leave the following blank line there!! Autoheader needs it. */ + + +#define EKHTML_VER_BUGFIX 2 +#define EKHTML_VER_MAJOR 0 +#define EKHTML_VER_MINOR 3 + + +/* Leave that blank line there!! Autoheader needs it. + If you're adding to this file, keep in mind: + The entries are in sort -df order: alphabetical, case insensitive, + ignoring punctuation (such as underscores). */ + +/* Define if you have the <dlfcn.h> header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Name of package */ +#define PACKAGE "ekhtml" + +/* Version number of package */ +#define VERSION "0.3.2" + +#define inline __inline + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +/* #undef inline */ diff --git a/plugins/MirOTR/ekhtml/include/ekhtml_private.h b/plugins/MirOTR/ekhtml/include/ekhtml_private.h new file mode 100644 index 0000000000..47d31282fa --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/ekhtml_private.h @@ -0,0 +1,162 @@ +/* + * Copyright (c) 2002, Jon Travis + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef EKHTML_PRIVATE_DOT_H +#define EKHTML_PRIVATE_DOT_H + +#ifndef EKHTML_USE_PRIVATE +#error This file should only be used by the EKHTML library +#endif + +#include <stdio.h> + +#include "ekhtml_config.h" +#include "hash.h" + +/* + * Container structures -- since a void * is not guaranteed to store + * the function pointer correctly, we make a small container for them + */ + +typedef struct { + ekhtml_starttag_cb_t startfunc; + ekhtml_endtag_cb_t endfunc; +} ekhtml_tag_container; + +/* + * Processing state information + */ + +#define EKHTML_STATE_NONE 0 /* No state - figure it out */ +#define EKHTML_STATE_INDATA 1 /* In regular data */ +#define EKHTML_STATE_BADDATA 2 /* In some kind of bad data .. I.e + an invalid tag. The first char + in the data is a '<' we must skip */ +#define EKHTML_STATE_STARTTAG 3 /* In a start tag */ +#define EKHTML_STATE_ENDTAG 4 /* In an end tag */ +#define EKHTML_STATE_SPECIAL 5 /* Special tag: <!FOO BAR BAZ */ +#define EKHTML_STATE_COMMENT 6 /* <!--Comment tag, yo! --> */ + +#define EKHTML_CHAR_TAGNAME (1 << 0) /* AFTER first letter of tag */ +#define EKHTML_CHAR_WHITESPACE (1 << 1) /* Whitespace, obviously */ +#define EKHTML_CHAR_BEGATTRNAME (1 << 2) /* Valid 1st letter of attr */ +#define EKHTML_CHAR_ATTRNAME (1 << 3) /* AFTER first letter of attr */ +#define EKHTML_CHAR_ATTRVALUE (1 << 4) /* Valid attr value chars */ + + +#define EKHTML_CHARMAP_TYPE unsigned int +#define EKHTML_CHARMAP_TYPE_S "unsigned int" +#define EKHTML_CHARMAP_LEN (sizeof(EKHTML_CHARMAP_TYPE)) + +typedef struct { + int tagend; /* Offset to the end of the tag name */ + int mode; /* One of EKHTML_STMODE_* */ + ekhtml_attr_t *attrs; /* Already processed attributes */ + ekhtml_attr_t *curattr; /* Attribute currently being processed */ + char quote; /* If the value is quoted, this is the char */ +} ekhtml_starttag_state; + +typedef struct { + int dashes; /* # of dashes in a row found */ + int lastdash; /* Offset of last dash */ +} ekhtml_comment_state; + +typedef struct { + int lastchar; /* Offset of last non-witespace char (offset from '<') */ +} ekhtml_endtag_state; + +struct ekhtml_parser_t { + ekhtml_data_cb_t datacb; /* Callback when data is read */ + hash_t *startendcb; /* Hash of start & end tag callbacks */ + void *cbdata; /* Data to pass into all callbacks */ + ekhtml_starttag_cb_t startcb_unk; /* Unknown starttag callback */ + ekhtml_endtag_cb_t endcb_unk; /* Unknown endtag callback */ + ekhtml_data_cb_t commentcb; /* Comment callback */ + + char *buf; /* malloced buffer holding parse data */ + size_t nalloced; /* # of bytes alloced in 'buf' */ + size_t nbuf; /* # of bytes used in 'buf' */ + + /* The next two vars are only used in the starttag portion */ + ekhtml_starttag_state startstate; /* State info in start tags */ + ekhtml_attr_t *freeattrs; /* Attribute structures which callers + can allocate and release at will */ + ekhtml_endtag_state endstate; /* State info in end tags */ + ekhtml_comment_state commentstate;/* Only used in comment state */ + + struct { + int state; /* One of EKHTML_STATE_* */ + void *state_data; /* State dependent data pointer */ + int offset; /* State dependent offset information */ + } state; +}; + +extern char *ekhtml_parse_comment(ekhtml_parser_t *, void **, const char *, + const char *, int *baddata); +extern char *ekhtml_parse_special(ekhtml_parser_t *, void **, const char *, + const char *, int *); +extern char *ekhtml_parse_starttag(ekhtml_parser_t *, void **, char *, + char *, int *); +extern char *ekhtml_parse_endtag(ekhtml_parser_t *, void **, char *, + char *, int *); +extern char *ekhtml_parse_data(ekhtml_parser_t *, const char *, const char *, + int); + +extern void ekhtml_parser_starttag_cleanup(ekhtml_parser_t *); +extern char *ekhtml_make_upperstr(char *, int); + +/* + * find_notcharsmap: Find a character in a buffer which contains a false + * value in the character map 'map' + * + * Arguments: buf = Buffer to search through + * len = Length of `buf` + * charmap = Character map (i.e. one from ekhtml_tables.h) + * mask = Mask to compare against each value of the map. + * If the char masked against 'mask' is zero, + * then the comparison is 'false'. + * + * Return values: Returns buf + len if a character was not found, else + * a pointer to the invalid character. + */ + +static inline +char *ekhtml_find_notcharsmap(const char *buf, int len, + const EKHTML_CHARMAP_TYPE *charmap, + EKHTML_CHARMAP_TYPE mask) +{ + const char *endp = buf + len; + + for(;buf<endp;buf++) + if(!(charmap[(unsigned char )*buf] & mask)) + break; + + return (char *)((buf == endp) ? endp : buf); +} + + +#endif + diff --git a/plugins/MirOTR/ekhtml/include/ekhtml_tables.h b/plugins/MirOTR/ekhtml/include/ekhtml_tables.h new file mode 100644 index 0000000000..58f89a2219 --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/ekhtml_tables.h @@ -0,0 +1,146 @@ +#ifndef EKHTML_MKTABLES_DOT_H
+#define EKHTML_MKTABLES_DOT_H
+#ifdef EKHTML_USE_TABLES
+const unsigned int EKCMap_CharMap[256] = {
+0x00000000 /* 0x00 */, 0x00000000 /* 0x01 */, 0x00000000 /* 0x02 */, 0x00000000 /* 0x03 */,
+0x00000000 /* 0x04 */, 0x00000000 /* 0x05 */, 0x00000000 /* 0x06 */, 0x00000000 /* 0x07 */,
+0x00000000 /* 0x08 */, 0x00000002 /* 0x09 */, 0x00000002 /* 0x0a */, 0x00000002 /* 0x0b */,
+0x00000002 /* 0x0c */, 0x00000002 /* 0x0d */, 0x00000000 /* 0x0e */, 0x00000000 /* 0x0f */,
+0x00000000 /* 0x10 */, 0x00000000 /* 0x11 */, 0x00000000 /* 0x12 */, 0x00000000 /* 0x13 */,
+0x00000000 /* 0x14 */, 0x00000000 /* 0x15 */, 0x00000000 /* 0x16 */, 0x00000000 /* 0x17 */,
+0x00000000 /* 0x18 */, 0x00000000 /* 0x19 */, 0x00000000 /* 0x1a */, 0x00000000 /* 0x1b */,
+0x00000000 /* 0x1c */, 0x00000000 /* 0x1d */, 0x00000000 /* 0x1e */, 0x00000000 /* 0x1f */,
+0x00000002 /* 0x20 */, 0x00000010 /* '!' */, 0x00000000 /* '"' */, 0x00000010 /* '#' */,
+0x00000010 /* '$' */, 0x00000010 /* '%' */, 0x00000010 /* '&' */, 0x00000000 /* ''' */,
+0x00000010 /* '(' */, 0x00000010 /* ')' */, 0x00000010 /* '*' */, 0x00000010 /* '+' */,
+0x00000000 /* ',' */, 0x00000019 /* '-' */, 0x00000019 /* '.' */, 0x00000010 /* '/' */,
+0x00000019 /* '0' */, 0x00000019 /* '1' */, 0x00000019 /* '2' */, 0x00000019 /* '3' */,
+0x00000019 /* '4' */, 0x00000019 /* '5' */, 0x00000019 /* '6' */, 0x00000019 /* '7' */,
+0x00000019 /* '8' */, 0x00000019 /* '9' */, 0x00000010 /* ':' */, 0x00000000 /* ';' */,
+0x00000000 /* '<' */, 0x00000010 /* '=' */, 0x00000000 /* '>' */, 0x00000010 /* '?' */,
+0x00000010 /* '@' */, 0x0000001d /* 'A' */, 0x0000001d /* 'B' */, 0x0000001d /* 'C' */,
+0x0000001d /* 'D' */, 0x0000001d /* 'E' */, 0x0000001d /* 'F' */, 0x0000001d /* 'G' */,
+0x0000001d /* 'H' */, 0x0000001d /* 'I' */, 0x0000001d /* 'J' */, 0x0000001d /* 'K' */,
+0x0000001d /* 'L' */, 0x0000001d /* 'M' */, 0x0000001d /* 'N' */, 0x0000001d /* 'O' */,
+0x0000001d /* 'P' */, 0x0000001d /* 'Q' */, 0x0000001d /* 'R' */, 0x0000001d /* 'S' */,
+0x0000001d /* 'T' */, 0x0000001d /* 'U' */, 0x0000001d /* 'V' */, 0x0000001d /* 'W' */,
+0x0000001d /* 'X' */, 0x0000001d /* 'Y' */, 0x0000001d /* 'Z' */, 0x00000000 /* '[' */,
+0x00000000 /* '\' */, 0x00000010 /* ']' */, 0x00000000 /* '^' */, 0x0000001c /* '_' */,
+0x00000000 /* '`' */, 0x0000001d /* 'a' */, 0x0000001d /* 'b' */, 0x0000001d /* 'c' */,
+0x0000001d /* 'd' */, 0x0000001d /* 'e' */, 0x0000001d /* 'f' */, 0x0000001d /* 'g' */,
+0x0000001d /* 'h' */, 0x0000001d /* 'i' */, 0x0000001d /* 'j' */, 0x0000001d /* 'k' */,
+0x0000001d /* 'l' */, 0x0000001d /* 'm' */, 0x0000001d /* 'n' */, 0x0000001d /* 'o' */,
+0x0000001d /* 'p' */, 0x0000001d /* 'q' */, 0x0000001d /* 'r' */, 0x0000001d /* 's' */,
+0x0000001d /* 't' */, 0x0000001d /* 'u' */, 0x0000001d /* 'v' */, 0x0000001d /* 'w' */,
+0x0000001d /* 'x' */, 0x0000001d /* 'y' */, 0x0000001d /* 'z' */, 0x00000000 /* '{' */,
+0x00000000 /* '|' */, 0x00000000 /* '}' */, 0x00000010 /* '~' */, 0x00000000 /* 0x7f */,
+0x00000000 /* 0x80 */, 0x00000000 /* 0x81 */, 0x00000000 /* 0x82 */, 0x0000001f /* 0x83 */,
+0x0000001f /* 0x84 */, 0x00000000 /* 0x85 */, 0x00000000 /* 0x86 */, 0x0000001f /* 0x87 */,
+0x0000001d /* 0x88 */, 0x00000000 /* 0x89 */, 0x00000000 /* 0x8a */, 0x0000001f /* 0x8b */,
+0x0000001f /* 0x8c */, 0x0000001f /* 0x8d */, 0x0000001d /* 0x8e */, 0x0000001d /* 0x8f */,
+0x0000001d /* 0x90 */, 0x0000001f /* 0x91 */, 0x0000001f /* 0x92 */, 0x0000001f /* 0x93 */,
+0x0000001d /* 0x94 */, 0x0000001f /* 0x95 */, 0x0000001d /* 0x96 */, 0x0000001f /* 0x97 */,
+0x0000001f /* 0x98 */, 0x0000001f /* 0x99 */, 0x0000001d /* 0x9a */, 0x0000001d /* 0x9b */,
+0x0000001d /* 0x9c */, 0x0000001f /* 0x9d */, 0x0000001f /* 0x9e */, 0x0000001f /* 0x9f */,
+0x0000001d /* 0xa0 */, 0x0000001f /* 0xa1 */, 0x0000001d /* 0xa2 */, 0x0000001f /* 0xa3 */,
+0x0000001f /* 0xa4 */, 0x0000001d /* 0xa5 */, 0x0000001d /* 0xa6 */, 0x0000001f /* 0xa7 */,
+0x0000001d /* 0xa8 */, 0x00000000 /* 0xa9 */, 0x00000000 /* 0xaa */, 0x0000001f /* 0xab */,
+0x0000001f /* 0xac */, 0x0000001d /* 0xad */, 0x0000001d /* 0xae */, 0x0000001d /* 0xaf */,
+0x0000001d /* 0xb0 */, 0x0000001f /* 0xb1 */, 0x0000001f /* 0xb2 */, 0x0000001d /* 0xb3 */,
+0x0000001d /* 0xb4 */, 0x0000001f /* 0xb5 */, 0x0000001d /* 0xb6 */, 0x0000001f /* 0xb7 */,
+0x0000001f /* 0xb8 */, 0x0000001f /* 0xb9 */, 0x0000001d /* 0xba */, 0x0000001f /* 0xbb */,
+0x0000001d /* 0xbc */, 0x0000001f /* 0xbd */, 0x0000001f /* 0xbe */, 0x0000001b /* 0xbf */,
+0x0000001d /* 0xc0 */, 0x00000000 /* 0xc1 */, 0x0000001d /* 0xc2 */, 0x0000001f /* 0xc3 */,
+0x0000001f /* 0xc4 */, 0x0000001f /* 0xc5 */, 0x0000001d /* 0xc6 */, 0x0000001f /* 0xc7 */,
+0x0000001d /* 0xc8 */, 0x00000000 /* 0xc9 */, 0x00000000 /* 0xca */, 0x0000001f /* 0xcb */,
+0x0000001f /* 0xcc */, 0x0000001f /* 0xcd */, 0x0000001d /* 0xce */, 0x00000000 /* 0xcf */,
+0x0000001d /* 0xd0 */, 0x0000001f /* 0xd1 */, 0x0000001f /* 0xd2 */, 0x0000001f /* 0xd3 */,
+0x0000001d /* 0xd4 */, 0x0000001f /* 0xd5 */, 0x0000001d /* 0xd6 */, 0x0000001f /* 0xd7 */,
+0x0000001f /* 0xd8 */, 0x00000000 /* 0xd9 */, 0x00000000 /* 0xda */, 0x0000001f /* 0xdb */,
+0x0000001d /* 0xdc */, 0x00000000 /* 0xdd */, 0x00000000 /* 0xde */, 0x0000001f /* 0xdf */,
+0x0000001f /* 0xe0 */, 0x00000000 /* 0xe1 */, 0x00000000 /* 0xe2 */, 0x0000001d /* 0xe3 */,
+0x0000001d /* 0xe4 */, 0x00000000 /* 0xe5 */, 0x00000000 /* 0xe6 */, 0x0000001f /* 0xe7 */,
+0x0000001f /* 0xe8 */, 0x00000000 /* 0xe9 */, 0x00000000 /* 0xea */, 0x0000001f /* 0xeb */,
+0x0000001d /* 0xec */, 0x00000000 /* 0xed */, 0x00000000 /* 0xee */, 0x0000001f /* 0xef */,
+0x0000001f /* 0xf0 */, 0x00000000 /* 0xf1 */, 0x00000000 /* 0xf2 */, 0x0000001f /* 0xf3 */,
+0x0000001d /* 0xf4 */, 0x00000000 /* 0xf5 */, 0x00000000 /* 0xf6 */, 0x0000001f /* 0xf7 */,
+0x0000001f /* 0xf8 */, 0x00000000 /* 0xf9 */, 0x00000000 /* 0xfa */, 0x00000000 /* 0xfb */,
+0x0000001d /* 0xfc */, 0x00000000 /* 0xfd */, 0x00000000 /* 0xfe */, 0x00000000 /* 0xff */,
+};
+
+#else
+extern const unsigned int EKCMap_CharMap[256];
+#endif
+#ifdef EKHTML_USE_TABLES
+const unsigned int EKCMap_EKState[256] = {
+0x00000002 /* 0x00 */, 0x00000002 /* 0x01 */, 0x00000002 /* 0x02 */, 0x00000002 /* 0x03 */,
+0x00000002 /* 0x04 */, 0x00000002 /* 0x05 */, 0x00000002 /* 0x06 */, 0x00000002 /* 0x07 */,
+0x00000002 /* 0x08 */, 0x00000002 /* 0x09 */, 0x00000002 /* 0x0a */, 0x00000002 /* 0x0b */,
+0x00000002 /* 0x0c */, 0x00000002 /* 0x0d */, 0x00000002 /* 0x0e */, 0x00000002 /* 0x0f */,
+0x00000002 /* 0x10 */, 0x00000002 /* 0x11 */, 0x00000002 /* 0x12 */, 0x00000002 /* 0x13 */,
+0x00000002 /* 0x14 */, 0x00000002 /* 0x15 */, 0x00000002 /* 0x16 */, 0x00000002 /* 0x17 */,
+0x00000002 /* 0x18 */, 0x00000002 /* 0x19 */, 0x00000002 /* 0x1a */, 0x00000002 /* 0x1b */,
+0x00000002 /* 0x1c */, 0x00000002 /* 0x1d */, 0x00000002 /* 0x1e */, 0x00000002 /* 0x1f */,
+0x00000002 /* 0x20 */, 0x00000000 /* '!' */, 0x00000002 /* '"' */, 0x00000002 /* '#' */,
+0x00000002 /* '$' */, 0x00000002 /* '%' */, 0x00000002 /* '&' */, 0x00000002 /* ''' */,
+0x00000002 /* '(' */, 0x00000002 /* ')' */, 0x00000002 /* '*' */, 0x00000002 /* '+' */,
+0x00000002 /* ',' */, 0x00000002 /* '-' */, 0x00000002 /* '.' */, 0x00000004 /* '/' */,
+0x00000002 /* '0' */, 0x00000002 /* '1' */, 0x00000002 /* '2' */, 0x00000002 /* '3' */,
+0x00000002 /* '4' */, 0x00000002 /* '5' */, 0x00000002 /* '6' */, 0x00000002 /* '7' */,
+0x00000002 /* '8' */, 0x00000002 /* '9' */, 0x00000002 /* ':' */, 0x00000002 /* ';' */,
+0x00000002 /* '<' */, 0x00000002 /* '=' */, 0x00000002 /* '>' */, 0x00000002 /* '?' */,
+0x00000002 /* '@' */, 0x00000003 /* 'A' */, 0x00000003 /* 'B' */, 0x00000003 /* 'C' */,
+0x00000003 /* 'D' */, 0x00000003 /* 'E' */, 0x00000003 /* 'F' */, 0x00000003 /* 'G' */,
+0x00000003 /* 'H' */, 0x00000003 /* 'I' */, 0x00000003 /* 'J' */, 0x00000003 /* 'K' */,
+0x00000003 /* 'L' */, 0x00000003 /* 'M' */, 0x00000003 /* 'N' */, 0x00000003 /* 'O' */,
+0x00000003 /* 'P' */, 0x00000003 /* 'Q' */, 0x00000003 /* 'R' */, 0x00000003 /* 'S' */,
+0x00000003 /* 'T' */, 0x00000003 /* 'U' */, 0x00000003 /* 'V' */, 0x00000003 /* 'W' */,
+0x00000003 /* 'X' */, 0x00000003 /* 'Y' */, 0x00000003 /* 'Z' */, 0x00000002 /* '[' */,
+0x00000002 /* '\' */, 0x00000002 /* ']' */, 0x00000002 /* '^' */, 0x00000002 /* '_' */,
+0x00000002 /* '`' */, 0x00000003 /* 'a' */, 0x00000003 /* 'b' */, 0x00000003 /* 'c' */,
+0x00000003 /* 'd' */, 0x00000003 /* 'e' */, 0x00000003 /* 'f' */, 0x00000003 /* 'g' */,
+0x00000003 /* 'h' */, 0x00000003 /* 'i' */, 0x00000003 /* 'j' */, 0x00000003 /* 'k' */,
+0x00000003 /* 'l' */, 0x00000003 /* 'm' */, 0x00000003 /* 'n' */, 0x00000003 /* 'o' */,
+0x00000003 /* 'p' */, 0x00000003 /* 'q' */, 0x00000003 /* 'r' */, 0x00000003 /* 's' */,
+0x00000003 /* 't' */, 0x00000003 /* 'u' */, 0x00000003 /* 'v' */, 0x00000003 /* 'w' */,
+0x00000003 /* 'x' */, 0x00000003 /* 'y' */, 0x00000003 /* 'z' */, 0x00000002 /* '{' */,
+0x00000002 /* '|' */, 0x00000002 /* '}' */, 0x00000002 /* '~' */, 0x00000002 /* 0x7f */,
+0x00000002 /* 0x80 */, 0x00000002 /* 0x81 */, 0x00000002 /* 0x82 */, 0x00000003 /* 0x83 */,
+0x00000003 /* 0x84 */, 0x00000002 /* 0x85 */, 0x00000002 /* 0x86 */, 0x00000003 /* 0x87 */,
+0x00000003 /* 0x88 */, 0x00000002 /* 0x89 */, 0x00000002 /* 0x8a */, 0x00000003 /* 0x8b */,
+0x00000003 /* 0x8c */, 0x00000003 /* 0x8d */, 0x00000003 /* 0x8e */, 0x00000003 /* 0x8f */,
+0x00000003 /* 0x90 */, 0x00000003 /* 0x91 */, 0x00000003 /* 0x92 */, 0x00000003 /* 0x93 */,
+0x00000003 /* 0x94 */, 0x00000003 /* 0x95 */, 0x00000003 /* 0x96 */, 0x00000003 /* 0x97 */,
+0x00000003 /* 0x98 */, 0x00000003 /* 0x99 */, 0x00000003 /* 0x9a */, 0x00000003 /* 0x9b */,
+0x00000003 /* 0x9c */, 0x00000003 /* 0x9d */, 0x00000003 /* 0x9e */, 0x00000003 /* 0x9f */,
+0x00000003 /* 0xa0 */, 0x00000003 /* 0xa1 */, 0x00000003 /* 0xa2 */, 0x00000003 /* 0xa3 */,
+0x00000003 /* 0xa4 */, 0x00000003 /* 0xa5 */, 0x00000003 /* 0xa6 */, 0x00000003 /* 0xa7 */,
+0x00000003 /* 0xa8 */, 0x00000002 /* 0xa9 */, 0x00000002 /* 0xaa */, 0x00000003 /* 0xab */,
+0x00000003 /* 0xac */, 0x00000003 /* 0xad */, 0x00000003 /* 0xae */, 0x00000003 /* 0xaf */,
+0x00000003 /* 0xb0 */, 0x00000003 /* 0xb1 */, 0x00000003 /* 0xb2 */, 0x00000003 /* 0xb3 */,
+0x00000003 /* 0xb4 */, 0x00000003 /* 0xb5 */, 0x00000003 /* 0xb6 */, 0x00000003 /* 0xb7 */,
+0x00000003 /* 0xb8 */, 0x00000003 /* 0xb9 */, 0x00000003 /* 0xba */, 0x00000003 /* 0xbb */,
+0x00000003 /* 0xbc */, 0x00000003 /* 0xbd */, 0x00000003 /* 0xbe */, 0x00000002 /* 0xbf */,
+0x00000003 /* 0xc0 */, 0x00000002 /* 0xc1 */, 0x00000003 /* 0xc2 */, 0x00000003 /* 0xc3 */,
+0x00000003 /* 0xc4 */, 0x00000003 /* 0xc5 */, 0x00000003 /* 0xc6 */, 0x00000003 /* 0xc7 */,
+0x00000003 /* 0xc8 */, 0x00000002 /* 0xc9 */, 0x00000002 /* 0xca */, 0x00000003 /* 0xcb */,
+0x00000003 /* 0xcc */, 0x00000003 /* 0xcd */, 0x00000003 /* 0xce */, 0x00000002 /* 0xcf */,
+0x00000003 /* 0xd0 */, 0x00000003 /* 0xd1 */, 0x00000003 /* 0xd2 */, 0x00000003 /* 0xd3 */,
+0x00000003 /* 0xd4 */, 0x00000003 /* 0xd5 */, 0x00000003 /* 0xd6 */, 0x00000003 /* 0xd7 */,
+0x00000003 /* 0xd8 */, 0x00000002 /* 0xd9 */, 0x00000002 /* 0xda */, 0x00000003 /* 0xdb */,
+0x00000003 /* 0xdc */, 0x00000002 /* 0xdd */, 0x00000002 /* 0xde */, 0x00000003 /* 0xdf */,
+0x00000003 /* 0xe0 */, 0x00000002 /* 0xe1 */, 0x00000002 /* 0xe2 */, 0x00000003 /* 0xe3 */,
+0x00000003 /* 0xe4 */, 0x00000002 /* 0xe5 */, 0x00000002 /* 0xe6 */, 0x00000003 /* 0xe7 */,
+0x00000003 /* 0xe8 */, 0x00000002 /* 0xe9 */, 0x00000002 /* 0xea */, 0x00000003 /* 0xeb */,
+0x00000003 /* 0xec */, 0x00000002 /* 0xed */, 0x00000002 /* 0xee */, 0x00000003 /* 0xef */,
+0x00000003 /* 0xf0 */, 0x00000002 /* 0xf1 */, 0x00000002 /* 0xf2 */, 0x00000003 /* 0xf3 */,
+0x00000003 /* 0xf4 */, 0x00000002 /* 0xf5 */, 0x00000002 /* 0xf6 */, 0x00000003 /* 0xf7 */,
+0x00000003 /* 0xf8 */, 0x00000002 /* 0xf9 */, 0x00000002 /* 0xfa */, 0x00000002 /* 0xfb */,
+0x00000003 /* 0xfc */, 0x00000002 /* 0xfd */, 0x00000002 /* 0xfe */, 0x00000002 /* 0xff */,
+};
+
+#else
+extern const unsigned int EKCMap_EKState[256];
+#endif
+
+#endif
diff --git a/plugins/MirOTR/ekhtml/include/hash.h b/plugins/MirOTR/ekhtml/include/hash.h new file mode 100644 index 0000000000..ddb3869477 --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/hash.h @@ -0,0 +1,240 @@ +/* + * Hash Table Data Type + * Copyright (C) 1997 Kaz Kylheku <kaz@ashi.footprints.net> + * + * Free Software License: + * + * All rights are reserved by the author, with the following exceptions: + * Permission is granted to freely reproduce and distribute this software, + * possibly in exchange for a fee, provided that this copyright notice appears + * intact. Permission is also granted to adapt this software to produce + * derivative works, as long as the modified versions carry this copyright + * notice and additional notices stating that the work has been modified. + * This source code may be translated into executable form and incorporated + * into proprietary software; there is no requirement for such software to + * contain a copyright notice related to this source. + * + * $Id: hash.h,v 1.1 2002/09/17 02:49:36 jick Exp $ + * $Name: EKHTML_RELEASE_0_3_2 $ + */ + +#ifndef HASH_H +#define HASH_H + +#include <limits.h> +#ifdef KAZLIB_SIDEEFFECT_DEBUG +#include "sfx.h" +#endif + +/* + * Blurb for inclusion into C++ translation units + */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned long hashcount_t; +#define HASHCOUNT_T_MAX ULONG_MAX + +typedef unsigned long hash_val_t; +#define HASH_VAL_T_MAX ULONG_MAX + +extern int hash_val_t_bit; + +#ifndef HASH_VAL_T_BIT +#define HASH_VAL_T_BIT ((int) hash_val_t_bit) +#endif + +/* + * Hash chain node structure. + * Notes: + * 1. This preprocessing directive is for debugging purposes. The effect is + * that if the preprocessor symbol KAZLIB_OPAQUE_DEBUG is defined prior to the + * inclusion of this header, then the structure shall be declared as having + * the single member int __OPAQUE__. This way, any attempts by the + * client code to violate the principles of information hiding (by accessing + * the structure directly) can be diagnosed at translation time. However, + * note the resulting compiled unit is not suitable for linking. + * 2. This is a pointer to the next node in the chain. In the last node of a + * chain, this pointer is null. + * 3. The key is a pointer to some user supplied data that contains a unique + * identifier for each hash node in a given table. The interpretation of + * the data is up to the user. When creating or initializing a hash table, + * the user must supply a pointer to a function for comparing two keys, + * and a pointer to a function for hashing a key into a numeric value. + * 4. The value is a user-supplied pointer to void which may refer to + * any data object. It is not interpreted in any way by the hashing + * module. + * 5. The hashed key is stored in each node so that we don't have to rehash + * each key when the table must grow or shrink. + */ + +typedef struct hnode_t { + #if defined(HASH_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG) /* 1 */ + struct hnode_t *hash_next; /* 2 */ + const void *hash_key; /* 3 */ + void *hash_data; /* 4 */ + hash_val_t hash_hkey; /* 5 */ + #else + int hash_dummy; + #endif +} hnode_t; + +/* + * The comparison function pointer type. A comparison function takes two keys + * and produces a value of -1 if the left key is less than the right key, a + * value of 0 if the keys are equal, and a value of 1 if the left key is + * greater than the right key. + */ + +typedef int (*hash_comp_t)(const void *, const void *); + +/* + * The hashing function performs some computation on a key and produces an + * integral value of type hash_val_t based on that key. For best results, the + * function should have a good randomness properties in *all* significant bits + * over the set of keys that are being inserted into a given hash table. In + * particular, the most significant bits of hash_val_t are most significant to + * the hash module. Only as the hash table expands are less significant bits + * examined. Thus a function that has good distribution in its upper bits but + * not lower is preferrable to one that has poor distribution in the upper bits + * but not the lower ones. + */ + +typedef hash_val_t (*hash_fun_t)(const void *); + +/* + * allocator functions + */ + +typedef hnode_t *(*hnode_alloc_t)(void *); +typedef void (*hnode_free_t)(hnode_t *, void *); + +/* + * This is the hash table control structure. It keeps track of information + * about a hash table, as well as the hash table itself. + * Notes: + * 1. Pointer to the hash table proper. The table is an array of pointers to + * hash nodes (of type hnode_t). If the table is empty, every element of + * this table is a null pointer. A non-null entry points to the first + * element of a chain of nodes. + * 2. This member keeps track of the size of the hash table---that is, the + * number of chain pointers. + * 3. The count member maintains the number of elements that are presently + * in the hash table. + * 4. The maximum count is the greatest number of nodes that can populate this + * table. If the table contains this many nodes, no more can be inserted, + * and the hash_isfull() function returns true. + * 5. The high mark is a population threshold, measured as a number of nodes, + * which, if exceeded, will trigger a table expansion. Only dynamic hash + * tables are subject to this expansion. + * 6. The low mark is a minimum population threshold, measured as a number of + * nodes. If the table population drops below this value, a table shrinkage + * will occur. Only dynamic tables are subject to this reduction. No table + * will shrink beneath a certain absolute minimum number of nodes. + * 7. This is the a pointer to the hash table's comparison function. The + * function is set once at initialization or creation time. + * 8. Pointer to the table's hashing function, set once at creation or + * initialization time. + * 9. The current hash table mask. If the size of the hash table is 2^N, + * this value has its low N bits set to 1, and the others clear. It is used + * to select bits from the result of the hashing function to compute an + * index into the table. + * 10. A flag which indicates whether the table is to be dynamically resized. It + * is set to 1 in dynamically allocated tables, 0 in tables that are + * statically allocated. + */ + +typedef struct hash_t { + #if defined(HASH_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG) + struct hnode_t **hash_table; /* 1 */ + hashcount_t hash_nchains; /* 2 */ + hashcount_t hash_nodecount; /* 3 */ + hashcount_t hash_maxcount; /* 4 */ + hashcount_t hash_highmark; /* 5 */ + hashcount_t hash_lowmark; /* 6 */ + hash_comp_t hash_compare; /* 7 */ + hash_fun_t hash_function; /* 8 */ + hnode_alloc_t hash_allocnode; + hnode_free_t hash_freenode; + void *hash_context; + hash_val_t hash_mask; /* 9 */ + int hash_dynamic; /* 10 */ + #else + int hash_dummy; + #endif +} hash_t; + +/* + * Hash scanner structure, used for traversals of the data structure. + * Notes: + * 1. Pointer to the hash table that is being traversed. + * 2. Reference to the current chain in the table being traversed (the chain + * that contains the next node that shall be retrieved). + * 3. Pointer to the node that will be retrieved by the subsequent call to + * hash_scan_next(). + */ + +typedef struct hscan_t { + #if defined(HASH_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG) + hash_t *hash_table; /* 1 */ + hash_val_t hash_chain; /* 2 */ + hnode_t *hash_next; /* 3 */ + #else + int hash_dummy; + #endif +} hscan_t; + +extern hash_t *hash_create(hashcount_t, hash_comp_t, hash_fun_t); +extern void hash_set_allocator(hash_t *, hnode_alloc_t, hnode_free_t, void *); +extern void hash_destroy(hash_t *); +extern void hash_free_nodes(hash_t *); +extern void hash_free(hash_t *); +extern hash_t *hash_init(hash_t *, hashcount_t, hash_comp_t, + hash_fun_t, hnode_t **, hashcount_t); +extern void hash_insert(hash_t *, hnode_t *, const void *); +extern hnode_t *hash_lookup(hash_t *, const void *); +extern hnode_t *hash_delete(hash_t *, hnode_t *); +extern int hash_alloc_insert(hash_t *, const void *, void *); +extern void hash_delete_free(hash_t *, hnode_t *); + +extern void hnode_put(hnode_t *, void *); +extern void *hnode_get(hnode_t *); +extern const void *hnode_getkey(hnode_t *); +extern hashcount_t hash_count(hash_t *); +extern hashcount_t hash_size(hash_t *); + +extern int hash_isfull(hash_t *); +extern int hash_isempty(hash_t *); + +extern void hash_scan_begin(hscan_t *, hash_t *); +extern hnode_t *hash_scan_next(hscan_t *); +extern hnode_t *hash_scan_delete(hash_t *, hnode_t *); +extern void hash_scan_delfree(hash_t *, hnode_t *); + +extern int hash_verify(hash_t *); + +extern hnode_t *hnode_create(void *); +extern hnode_t *hnode_init(hnode_t *, void *); +extern void hnode_destroy(hnode_t *); + +#if defined(HASH_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG) +#ifdef KAZLIB_SIDEEFFECT_DEBUG +#define hash_isfull(H) (SFX_CHECK(H)->hash_nodecount == (H)->hash_maxcount) +#else +#define hash_isfull(H) ((H)->hash_nodecount == (H)->hash_maxcount) +#endif +#define hash_isempty(H) ((H)->hash_nodecount == 0) +#define hash_count(H) ((H)->hash_nodecount) +#define hash_size(H) ((H)->hash_nchains) +#define hnode_get(N) ((N)->hash_data) +#define hnode_getkey(N) ((N)->hash_key) +#define hnode_put(N, V) ((N)->hash_data = (V)) +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/plugins/MirOTR/ekhtml/include/stamp-h1 b/plugins/MirOTR/ekhtml/include/stamp-h1 new file mode 100644 index 0000000000..30cbac668a --- /dev/null +++ b/plugins/MirOTR/ekhtml/include/stamp-h1 @@ -0,0 +1 @@ +timestamp for include/ekhtml_config.h:config.in |