CINXE.COM

~vcs-imports/libiconv/trunk : revision 1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <meta name="generator" content="&lt;function generator_string at 0x7f762265b1f0&gt;" /> <title>~vcs-imports/libiconv/trunk : revision 1</title> <link rel="stylesheet" href="/static/css/global.css" /> <link rel="shortcut icon" href="/static/images/favicon.png" /> <script type="text/javascript"> var global_path = '/~vcs-imports/libiconv/trunk/'; var collapsed_icon_path = '/static/images/treeCollapsed.png'; var expanded_icon_path = '/static/images/treeExpanded.png'; </script> <script type="text/javascript" src="/static/javascript/jquery.min.js"></script> <script type="text/javascript" src="/static/javascript/custom.js"></script> <link rel="stylesheet" type="text/css" media="all" href="/static/css/diff.css"/> <script type="text/javascript" src="/static/javascript/diff.js"></script> <script type="text/javascript"> var link_data = {}; var specific_path = "DESIGN"; var path_to_id = {}; </script> </head> <body class="public"> <!-- Loggerhead Content Area --> <div class="black-link"> <a href="https://code.launchpad.net/~vcs-imports/libiconv/trunk"> &#8592; Back to branch summary </a> </div> <h1 class="branch-name"> ~vcs-imports/libiconv/trunk </h1> <ul id="menuTabs"> <li><a href="/~vcs-imports/libiconv/trunk/changes" title="Changes" id="on">Changes</a></li> <li><a href="/~vcs-imports/libiconv/trunk/files" title="Files">Files</a></li> </ul> <div id="loggerheadCont"> <div id="search_terms"></div> <div id="breadcrumbs"> <a href="https://code.launchpad.net/~vcs-imports/libiconv/trunk">~vcs-imports/libiconv/trunk</a> <span class="breadcrumb">&#187; Revision <a title="View changes to all files" href="/~vcs-imports/libiconv/trunk/revision/1">1</a> </span> <span class="breadcrumb"> : <a href="/~vcs-imports/libiconv/trunk/view/1/DESIGN" title="Annotate DESIGN">DESIGN</a> </span> </div> <p> <a href="/~vcs-imports/libiconv/trunk/revision/1"> &#xAB; back to all changes in this revision </a> </p> <p> Viewing changes to <a href="/~vcs-imports/libiconv/trunk/view/1/DESIGN" title="Annotate DESIGN">DESIGN</a> </p> <ul id="submenuTabs"> <li id="first"><a href="/~vcs-imports/libiconv/trunk/files/1" title="browse files at revision 1">browse files at revision 1</a></li> <li> <a href="/~vcs-imports/libiconv/trunk/revision/1?remember=1" title="compare with another revision">compare with another revision</a></li> <li> <a id="download_link" href="/~vcs-imports/libiconv/trunk/diff/1">download diff</a> </li> <li> <a href="/~vcs-imports/libiconv/trunk/tarball/1">download tarball</a> </li> <li id="last"><a href="/~vcs-imports/libiconv/trunk/changes/1" title="view history from revision 1">view history from revision 1</a></li> </ul> <div class="infoContainer"> <div id="infTxt"> <ul> <li class="committer"> <strong>Committer:</strong> <span>Bruno Haible</span> </li> <li class="timer"> <strong>Date:</strong> <span>1999-12-31 12:50:49 UTC</span> </li> <li class="revid"> <strong>Revision ID:</strong> <span>git-v1:3af9cd39c56e113876d5d85416b106eaaf8fa23c</span> </li> </ul> <div class="tags">Tags: v0.3</div> <div class="clear"><!-- --></div> <div class="information">Import聽from聽libiconv-0.3.<br/></div> </div> <ul id="list-files"> <ul> <li class="desc">files added:</li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/AUTHORS#AUTHORS" title="View changes to AUTHORS in revision 1">AUTHORS</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/COPYING.LIB#COPYING.LIB" title="View changes to COPYING.LIB in revision 1">COPYING.LIB</a> </li> </ul> <ul> <li class="files" id="file"> <b><a href="#DESIGN">DESIGN</a></b> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/Makefile.devel#Makefile.devel" title="View changes to Makefile.devel in revision 1">Makefile.devel</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/Makefile.in#Makefile.in" title="View changes to Makefile.in in revision 1">Makefile.in</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/Makefile.msvc#Makefile.msvc" title="View changes to Makefile.msvc in revision 1">Makefile.msvc</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/NEWS#NEWS" title="View changes to NEWS in revision 1">NEWS</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/NOTES#NOTES" title="View changes to NOTES in revision 1">NOTES</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/PORTS#PORTS" title="View changes to PORTS in revision 1">PORTS</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/README#README" title="View changes to README in revision 1">README</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/README.win32#README.win32" title="View changes to README.win32 in revision 1">README.win32</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/TODO#TODO" title="View changes to TODO in revision 1">TODO</a> </li> </ul> <ul> <li class="files" id="directory"> autoconf </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/acgeneral.m4#autoconf/acgeneral.m4" title="View changes to autoconf/acgeneral.m4 in revision 1">autoconf/acgeneral.m4</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/aclocal.m4#autoconf/aclocal.m4" title="View changes to autoconf/aclocal.m4 in revision 1">autoconf/aclocal.m4</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/acspecific.m4#autoconf/acspecific.m4" title="View changes to autoconf/acspecific.m4 in revision 1">autoconf/acspecific.m4</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/autoconf#autoconf/autoconf" title="View changes to autoconf/autoconf in revision 1">autoconf/autoconf</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/autoconf.m4#autoconf/autoconf.m4" title="View changes to autoconf/autoconf.m4 in revision 1">autoconf/autoconf.m4</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/config.guess#autoconf/config.guess" title="View changes to autoconf/config.guess in revision 1">autoconf/config.guess</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/config.sub#autoconf/config.sub" title="View changes to autoconf/config.sub in revision 1">autoconf/config.sub</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/ltconfig#autoconf/ltconfig" title="View changes to autoconf/ltconfig in revision 1">autoconf/ltconfig</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/autoconf/ltmain.sh#autoconf/ltmain.sh" title="View changes to autoconf/ltmain.sh in revision 1">autoconf/ltmain.sh</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/configure#configure" title="View changes to configure in revision 1">configure</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/configure.in#configure.in" title="View changes to configure.in in revision 1">configure.in</a> </li> </ul> <ul> <li class="files" id="directory"> extras </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/extras/ChangeLog#extras/ChangeLog" title="View changes to extras/ChangeLog in revision 1">extras/ChangeLog</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/extras/iconv_string.c#extras/iconv_string.c" title="View changes to extras/iconv_string.c in revision 1">extras/iconv_string.c</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/extras/iconv_string.h#extras/iconv_string.h" title="View changes to extras/iconv_string.h in revision 1">extras/iconv_string.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/extras/locale_charset.c#extras/locale_charset.c" title="View changes to extras/locale_charset.c in revision 1">extras/locale_charset.c</a> </li> </ul> <ul> <li class="files" id="directory"> include </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/include/libiconv.h.in#include/libiconv.h.in" title="View changes to include/libiconv.h.in in revision 1">include/libiconv.h.in</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/include/libiconv.h.msvc#include/libiconv.h.msvc" title="View changes to include/libiconv.h.msvc in revision 1">include/libiconv.h.msvc</a> </li> </ul> <ul> <li class="files" id="directory"> man </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/man/Makefile.in#man/Makefile.in" title="View changes to man/Makefile.in in revision 1">man/Makefile.in</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/man/iconv.3#man/iconv.3" title="View changes to man/iconv.3 in revision 1">man/iconv.3</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/man/iconv_close.3#man/iconv_close.3" title="View changes to man/iconv_close.3 in revision 1">man/iconv_close.3</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/man/iconv_open.3#man/iconv_open.3" title="View changes to man/iconv_open.3 in revision 1">man/iconv_open.3</a> </li> </ul> <ul> <li class="files" id="directory"> src </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/Makefile.in#src/Makefile.in" title="View changes to src/Makefile.in in revision 1">src/Makefile.in</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/Makefile.msvc#src/Makefile.msvc" title="View changes to src/Makefile.msvc in revision 1">src/Makefile.msvc</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/aliases.gperf#src/aliases.gperf" title="View changes to src/aliases.gperf in revision 1">src/aliases.gperf</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/aliases.h#src/aliases.h" title="View changes to src/aliases.h in revision 1">src/aliases.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/armscii_8.h#src/armscii_8.h" title="View changes to src/armscii_8.h in revision 1">src/armscii_8.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ascii.h#src/ascii.h" title="View changes to src/ascii.h in revision 1">src/ascii.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/big5.h#src/big5.h" title="View changes to src/big5.h in revision 1">src/big5.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ces_big5.h#src/ces_big5.h" title="View changes to src/ces_big5.h in revision 1">src/ces_big5.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ces_gbk.h#src/ces_gbk.h" title="View changes to src/ces_gbk.h in revision 1">src/ces_gbk.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cns11643.h#src/cns11643.h" title="View changes to src/cns11643.h in revision 1">src/cns11643.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cns11643_1.h#src/cns11643_1.h" title="View changes to src/cns11643_1.h in revision 1">src/cns11643_1.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cns11643_2.h#src/cns11643_2.h" title="View changes to src/cns11643_2.h in revision 1">src/cns11643_2.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cns11643_3.h#src/cns11643_3.h" title="View changes to src/cns11643_3.h in revision 1">src/cns11643_3.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cns11643_inv.h#src/cns11643_inv.h" title="View changes to src/cns11643_inv.h in revision 1">src/cns11643_inv.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/config.h.in#src/config.h.in" title="View changes to src/config.h.in in revision 1">src/config.h.in</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/config.h.msvc#src/config.h.msvc" title="View changes to src/config.h.msvc in revision 1">src/config.h.msvc</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1133.h#src/cp1133.h" title="View changes to src/cp1133.h in revision 1">src/cp1133.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1250.h#src/cp1250.h" title="View changes to src/cp1250.h in revision 1">src/cp1250.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1251.h#src/cp1251.h" title="View changes to src/cp1251.h in revision 1">src/cp1251.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1252.h#src/cp1252.h" title="View changes to src/cp1252.h in revision 1">src/cp1252.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1253.h#src/cp1253.h" title="View changes to src/cp1253.h in revision 1">src/cp1253.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1254.h#src/cp1254.h" title="View changes to src/cp1254.h in revision 1">src/cp1254.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1255.h#src/cp1255.h" title="View changes to src/cp1255.h in revision 1">src/cp1255.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1256.h#src/cp1256.h" title="View changes to src/cp1256.h in revision 1">src/cp1256.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1257.h#src/cp1257.h" title="View changes to src/cp1257.h in revision 1">src/cp1257.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp1258.h#src/cp1258.h" title="View changes to src/cp1258.h in revision 1">src/cp1258.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp850.h#src/cp850.h" title="View changes to src/cp850.h in revision 1">src/cp850.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp866.h#src/cp866.h" title="View changes to src/cp866.h in revision 1">src/cp866.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp874.h#src/cp874.h" title="View changes to src/cp874.h in revision 1">src/cp874.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp932.h#src/cp932.h" title="View changes to src/cp932.h in revision 1">src/cp932.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp932ext.h#src/cp932ext.h" title="View changes to src/cp932ext.h in revision 1">src/cp932ext.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp936ext.h#src/cp936ext.h" title="View changes to src/cp936ext.h in revision 1">src/cp936ext.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp950.h#src/cp950.h" title="View changes to src/cp950.h in revision 1">src/cp950.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/cp950ext.h#src/cp950ext.h" title="View changes to src/cp950ext.h in revision 1">src/cp950ext.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/encodings.def#src/encodings.def" title="View changes to src/encodings.def in revision 1">src/encodings.def</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/euc_cn.h#src/euc_cn.h" title="View changes to src/euc_cn.h in revision 1">src/euc_cn.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/euc_jp.h#src/euc_jp.h" title="View changes to src/euc_jp.h in revision 1">src/euc_jp.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/euc_kr.h#src/euc_kr.h" title="View changes to src/euc_kr.h in revision 1">src/euc_kr.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/euc_tw.h#src/euc_tw.h" title="View changes to src/euc_tw.h in revision 1">src/euc_tw.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gb12345.h#src/gb12345.h" title="View changes to src/gb12345.h in revision 1">src/gb12345.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gb12345ext.h#src/gb12345ext.h" title="View changes to src/gb12345ext.h in revision 1">src/gb12345ext.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gb2312.h#src/gb2312.h" title="View changes to src/gb2312.h in revision 1">src/gb2312.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gbk.h#src/gbk.h" title="View changes to src/gbk.h in revision 1">src/gbk.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gbkext1.h#src/gbkext1.h" title="View changes to src/gbkext1.h in revision 1">src/gbkext1.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gbkext2.h#src/gbkext2.h" title="View changes to src/gbkext2.h in revision 1">src/gbkext2.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/gbkext_inv.h#src/gbkext_inv.h" title="View changes to src/gbkext_inv.h in revision 1">src/gbkext_inv.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/genaliases.c#src/genaliases.c" title="View changes to src/genaliases.c in revision 1">src/genaliases.c</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/georgian_academy.h#src/georgian_academy.h" title="View changes to src/georgian_academy.h in revision 1">src/georgian_academy.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/georgian_ps.h#src/georgian_ps.h" title="View changes to src/georgian_ps.h in revision 1">src/georgian_ps.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/hp_roman8.h#src/hp_roman8.h" title="View changes to src/hp_roman8.h in revision 1">src/hp_roman8.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/hz.h#src/hz.h" title="View changes to src/hz.h in revision 1">src/hz.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iconv.c#src/iconv.c" title="View changes to src/iconv.c in revision 1">src/iconv.c</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso2022_cn.h#src/iso2022_cn.h" title="View changes to src/iso2022_cn.h in revision 1">src/iso2022_cn.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso2022_cnext.h#src/iso2022_cnext.h" title="View changes to src/iso2022_cnext.h in revision 1">src/iso2022_cnext.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso2022_jp.h#src/iso2022_jp.h" title="View changes to src/iso2022_jp.h in revision 1">src/iso2022_jp.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso2022_jp1.h#src/iso2022_jp1.h" title="View changes to src/iso2022_jp1.h in revision 1">src/iso2022_jp1.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso2022_jp2.h#src/iso2022_jp2.h" title="View changes to src/iso2022_jp2.h in revision 1">src/iso2022_jp2.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso2022_kr.h#src/iso2022_kr.h" title="View changes to src/iso2022_kr.h in revision 1">src/iso2022_kr.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_1.h#src/iso8859_1.h" title="View changes to src/iso8859_1.h in revision 1">src/iso8859_1.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_10.h#src/iso8859_10.h" title="View changes to src/iso8859_10.h in revision 1">src/iso8859_10.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_13.h#src/iso8859_13.h" title="View changes to src/iso8859_13.h in revision 1">src/iso8859_13.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_14.h#src/iso8859_14.h" title="View changes to src/iso8859_14.h in revision 1">src/iso8859_14.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_15.h#src/iso8859_15.h" title="View changes to src/iso8859_15.h in revision 1">src/iso8859_15.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_2.h#src/iso8859_2.h" title="View changes to src/iso8859_2.h in revision 1">src/iso8859_2.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_3.h#src/iso8859_3.h" title="View changes to src/iso8859_3.h in revision 1">src/iso8859_3.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_4.h#src/iso8859_4.h" title="View changes to src/iso8859_4.h in revision 1">src/iso8859_4.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_5.h#src/iso8859_5.h" title="View changes to src/iso8859_5.h in revision 1">src/iso8859_5.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_6.h#src/iso8859_6.h" title="View changes to src/iso8859_6.h in revision 1">src/iso8859_6.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_7.h#src/iso8859_7.h" title="View changes to src/iso8859_7.h in revision 1">src/iso8859_7.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_8.h#src/iso8859_8.h" title="View changes to src/iso8859_8.h in revision 1">src/iso8859_8.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/iso8859_9.h#src/iso8859_9.h" title="View changes to src/iso8859_9.h in revision 1">src/iso8859_9.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/java.h#src/java.h" title="View changes to src/java.h in revision 1">src/java.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/jisx0201.h#src/jisx0201.h" title="View changes to src/jisx0201.h in revision 1">src/jisx0201.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/jisx0208.h#src/jisx0208.h" title="View changes to src/jisx0208.h in revision 1">src/jisx0208.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/jisx0212.h#src/jisx0212.h" title="View changes to src/jisx0212.h in revision 1">src/jisx0212.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/johab.h#src/johab.h" title="View changes to src/johab.h in revision 1">src/johab.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/johab_hangul.h#src/johab_hangul.h" title="View changes to src/johab_hangul.h in revision 1">src/johab_hangul.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/koi8_r.h#src/koi8_r.h" title="View changes to src/koi8_r.h in revision 1">src/koi8_r.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/koi8_ru.h#src/koi8_ru.h" title="View changes to src/koi8_ru.h in revision 1">src/koi8_ru.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/koi8_u.h#src/koi8_u.h" title="View changes to src/koi8_u.h in revision 1">src/koi8_u.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ksc5601.h#src/ksc5601.h" title="View changes to src/ksc5601.h in revision 1">src/ksc5601.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_arabic.h#src/mac_arabic.h" title="View changes to src/mac_arabic.h in revision 1">src/mac_arabic.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_centraleurope.h#src/mac_centraleurope.h" title="View changes to src/mac_centraleurope.h in revision 1">src/mac_centraleurope.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_croatian.h#src/mac_croatian.h" title="View changes to src/mac_croatian.h in revision 1">src/mac_croatian.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_cyrillic.h#src/mac_cyrillic.h" title="View changes to src/mac_cyrillic.h in revision 1">src/mac_cyrillic.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_greek.h#src/mac_greek.h" title="View changes to src/mac_greek.h in revision 1">src/mac_greek.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_hebrew.h#src/mac_hebrew.h" title="View changes to src/mac_hebrew.h in revision 1">src/mac_hebrew.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_iceland.h#src/mac_iceland.h" title="View changes to src/mac_iceland.h in revision 1">src/mac_iceland.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_roman.h#src/mac_roman.h" title="View changes to src/mac_roman.h in revision 1">src/mac_roman.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_romania.h#src/mac_romania.h" title="View changes to src/mac_romania.h in revision 1">src/mac_romania.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_thai.h#src/mac_thai.h" title="View changes to src/mac_thai.h in revision 1">src/mac_thai.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_turkish.h#src/mac_turkish.h" title="View changes to src/mac_turkish.h in revision 1">src/mac_turkish.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mac_ukraine.h#src/mac_ukraine.h" title="View changes to src/mac_ukraine.h in revision 1">src/mac_ukraine.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/mulelao.h#src/mulelao.h" title="View changes to src/mulelao.h in revision 1">src/mulelao.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/nextstep.h#src/nextstep.h" title="View changes to src/nextstep.h in revision 1">src/nextstep.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/sjis.h#src/sjis.h" title="View changes to src/sjis.h in revision 1">src/sjis.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/tcvn.h#src/tcvn.h" title="View changes to src/tcvn.h in revision 1">src/tcvn.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/tis620.h#src/tis620.h" title="View changes to src/tis620.h in revision 1">src/tis620.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ucs2.h#src/ucs2.h" title="View changes to src/ucs2.h in revision 1">src/ucs2.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ucs2internal.h#src/ucs2internal.h" title="View changes to src/ucs2internal.h in revision 1">src/ucs2internal.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ucs2swapped.h#src/ucs2swapped.h" title="View changes to src/ucs2swapped.h in revision 1">src/ucs2swapped.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ucs4.h#src/ucs4.h" title="View changes to src/ucs4.h in revision 1">src/ucs4.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ucs4internal.h#src/ucs4internal.h" title="View changes to src/ucs4internal.h in revision 1">src/ucs4internal.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/ucs4swapped.h#src/ucs4swapped.h" title="View changes to src/ucs4swapped.h in revision 1">src/ucs4swapped.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/utf16.h#src/utf16.h" title="View changes to src/utf16.h in revision 1">src/utf16.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/utf7.h#src/utf7.h" title="View changes to src/utf7.h in revision 1">src/utf7.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/utf8.h#src/utf8.h" title="View changes to src/utf8.h in revision 1">src/utf8.h</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/src/viscii.h#src/viscii.h" title="View changes to src/viscii.h in revision 1">src/viscii.h</a> </li> </ul> <ul> <li class="files" id="directory"> tools </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/tools/8bit_tab_to_h.c#tools/8bit_tab_to_h.c" title="View changes to tools/8bit_tab_to_h.c in revision 1">tools/8bit_tab_to_h.c</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/tools/Makefile#tools/Makefile" title="View changes to tools/Makefile in revision 1">tools/Makefile</a> </li> </ul> <ul> <li class="files" id="file"> <a href="/~vcs-imports/libiconv/trunk/revision/1/tools/cjk_tab_to_h.c#tools/cjk_tab_to_h.c" title="View changes to tools/cjk_tab_to_h.c in revision 1">tools/cjk_tab_to_h.c</a> </li> </ul> </ul> <div class="clear"><!-- --></div> </div> <!-- Table --> <p class="expand show_if_js"><a id="toggle_unified_sbs" href="#">Show diffs side-by-side</a></p> <p class="codin"><img alt="added" src="/static/images/newCode.gif" /> added</p> <p class="codin"><img alt="removed" src="/static/images/deleteCode.gif" /> removed</p> <form onSubmit="compute_diff_links(); return false">Lines of Context:<input type="text" id="contextLines" size="2" length="7" value="3" onKeyUp="compute_diff_links(); return false"/></form> <div class="clear"><!-- --></div> <div> <div class="diff"> <div class="diffBox"> <a class="the-link" href="/~vcs-imports/libiconv/trunk/revision/1/DESIGN" id="DESIGN" title="View changes to DESIGN only"> <img class="expand_diff" src="/static/images/treeExpanded.png"/> DESIGN </a> </div> <div style="overflow: hidden"> <div class="container"> <div class="loading" style="display:none"> <img src="/static/images/spinner.gif" /> </div> <div class="diffinfo"> <div class="pseudotable unified"> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">1</div> <div class="code insert">While&nbsp;some&nbsp;other&nbsp;iconv(3)&nbsp;implementations&nbsp;-&nbsp;like&nbsp;FreeBSD&nbsp;iconv(3)&nbsp;-&nbsp;choose</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">2</div> <div class="code insert">the&nbsp;&quot;many&nbsp;small&nbsp;shared&nbsp;libraries&quot;&nbsp;and&nbsp;dlopen(3)&nbsp;approach,&nbsp;this&nbsp;implementation</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">3</div> <div class="code insert">packs&nbsp;everything&nbsp;into&nbsp;a&nbsp;single&nbsp;shared&nbsp;library.&nbsp;Here&nbsp;is&nbsp;a&nbsp;comparison&nbsp;of&nbsp;the</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">4</div> <div class="code insert">two&nbsp;designs.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">5</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">6</div> <div class="code insert">*&nbsp;Run-time&nbsp;efficiency</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">7</div> <div class="code insert">&nbsp;&nbsp;1.&nbsp;A&nbsp;dlopen()&nbsp;based&nbsp;approach&nbsp;needs&nbsp;a&nbsp;cache&nbsp;of&nbsp;loaded&nbsp;shared&nbsp;libraries.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">8</div> <div class="code insert">&nbsp;&nbsp;Otherwise,&nbsp;every&nbsp;iconv_open()&nbsp;call&nbsp;will&nbsp;result&nbsp;in&nbsp;a&nbsp;call&nbsp;to&nbsp;dlopen()</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">9</div> <div class="code insert">&nbsp;&nbsp;and&nbsp;thus&nbsp;to&nbsp;file&nbsp;system&nbsp;related&nbsp;system&nbsp;calls&nbsp;-&nbsp;which&nbsp;is&nbsp;prohibitive</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">10</div> <div class="code insert">&nbsp;&nbsp;because&nbsp;some&nbsp;applications&nbsp;use&nbsp;the&nbsp;iconv_open/iconv/iconv_close&nbsp;sequence</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">11</div> <div class="code insert">&nbsp;&nbsp;for&nbsp;every&nbsp;single&nbsp;filename,&nbsp;string,&nbsp;or&nbsp;piece&nbsp;of&nbsp;text.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">12</div> <div class="code insert">&nbsp;&nbsp;2.&nbsp;In&nbsp;terms&nbsp;of&nbsp;virtual&nbsp;memory&nbsp;use,&nbsp;both&nbsp;approaches&nbsp;are&nbsp;on&nbsp;par.&nbsp;Being&nbsp;shared</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">13</div> <div class="code insert">&nbsp;&nbsp;libraries,&nbsp;the&nbsp;tables&nbsp;are&nbsp;shared&nbsp;between&nbsp;any&nbsp;processes&nbsp;that&nbsp;use&nbsp;them.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">14</div> <div class="code insert">&nbsp;&nbsp;And&nbsp;because&nbsp;of&nbsp;the&nbsp;demand&nbsp;loading&nbsp;used&nbsp;by&nbsp;Unix&nbsp;systems&nbsp;(and&nbsp;because&nbsp;libiconv</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">15</div> <div class="code insert">&nbsp;&nbsp;does&nbsp;not&nbsp;have&nbsp;initialization&nbsp;functions),&nbsp;only&nbsp;those&nbsp;parts&nbsp;of&nbsp;the&nbsp;tables</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">16</div> <div class="code insert">&nbsp;&nbsp;which&nbsp;are&nbsp;needed&nbsp;(typically&nbsp;very&nbsp;few&nbsp;kilobytes)&nbsp;will&nbsp;be&nbsp;read&nbsp;from&nbsp;disk&nbsp;and</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">17</div> <div class="code insert">&nbsp;&nbsp;paged&nbsp;into&nbsp;main&nbsp;memory.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">18</div> <div class="code insert">&nbsp;&nbsp;3.&nbsp;Even&nbsp;with&nbsp;a&nbsp;cache&nbsp;of&nbsp;loaded&nbsp;shared&nbsp;libraries,&nbsp;the&nbsp;dlopen()&nbsp;based&nbsp;approach</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">19</div> <div class="code insert">&nbsp;&nbsp;makes&nbsp;more&nbsp;system&nbsp;calls,&nbsp;because&nbsp;it&nbsp;has&nbsp;to&nbsp;load&nbsp;one&nbsp;or&nbsp;two&nbsp;shared&nbsp;libraries</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">20</div> <div class="code insert">&nbsp;&nbsp;for&nbsp;every&nbsp;encoding&nbsp;in&nbsp;use.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">21</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">22</div> <div class="code insert">*&nbsp;Total&nbsp;size</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">23</div> <div class="code insert">&nbsp;&nbsp;In&nbsp;the&nbsp;dlopen(3)&nbsp;approach,&nbsp;every&nbsp;shared&nbsp;library&nbsp;has&nbsp;a&nbsp;symbol&nbsp;table&nbsp;and</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">24</div> <div class="code insert">&nbsp;&nbsp;relocation&nbsp;offset.&nbsp;All&nbsp;together,&nbsp;FreeBSD&nbsp;iconv&nbsp;installs&nbsp;more&nbsp;than&nbsp;200&nbsp;shared</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">25</div> <div class="code insert">&nbsp;&nbsp;libraries&nbsp;with&nbsp;a&nbsp;total&nbsp;size&nbsp;of&nbsp;2.3&nbsp;MB.&nbsp;Whereas&nbsp;libiconv&nbsp;installs&nbsp;0.45&nbsp;MB.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">26</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">27</div> <div class="code insert">*&nbsp;Extensibility</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">28</div> <div class="code insert">&nbsp;&nbsp;The&nbsp;dlopen(3)&nbsp;approach&nbsp;is&nbsp;good&nbsp;for&nbsp;guaranteeing&nbsp;extensibility&nbsp;if&nbsp;the&nbsp;iconv</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">29</div> <div class="code insert">&nbsp;&nbsp;implementation&nbsp;is&nbsp;distributed&nbsp;without&nbsp;source.&nbsp;(Or&nbsp;when,&nbsp;as&nbsp;in&nbsp;glibc,&nbsp;you</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">30</div> <div class="code insert">&nbsp;&nbsp;cannot&nbsp;rebuild&nbsp;iconv&nbsp;without&nbsp;rebuilding&nbsp;your&nbsp;libc,&nbsp;thus&nbsp;possibly</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">31</div> <div class="code insert">&nbsp;&nbsp;destabilizing&nbsp;your&nbsp;system.)</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">32</div> <div class="code insert">&nbsp;&nbsp;The&nbsp;libiconv&nbsp;package&nbsp;achieves&nbsp;extensibility&nbsp;through&nbsp;the&nbsp;LGPL&nbsp;license:</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">33</div> <div class="code insert">&nbsp;&nbsp;Every&nbsp;user&nbsp;has&nbsp;access&nbsp;to&nbsp;the&nbsp;source&nbsp;of&nbsp;the&nbsp;package&nbsp;and&nbsp;can&nbsp;extend&nbsp;and</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">34</div> <div class="code insert">&nbsp;&nbsp;replace&nbsp;just&nbsp;libiconv.so.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">35</div> <div class="code insert">&nbsp;&nbsp;The&nbsp;places&nbsp;which&nbsp;have&nbsp;to&nbsp;be&nbsp;modified&nbsp;when&nbsp;a&nbsp;new&nbsp;encoding&nbsp;is&nbsp;added&nbsp;are&nbsp;as</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">36</div> <div class="code insert">&nbsp;&nbsp;follows:&nbsp;add&nbsp;an&nbsp;#include&nbsp;statement&nbsp;in&nbsp;iconv.c,&nbsp;add&nbsp;an&nbsp;entry&nbsp;in&nbsp;the&nbsp;table&nbsp;in</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">37</div> <div class="code insert">&nbsp;&nbsp;iconv.c,&nbsp;and&nbsp;of&nbsp;course,&nbsp;update&nbsp;the&nbsp;README&nbsp;and&nbsp;iconv_open.3&nbsp;manual&nbsp;page.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">38</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">39</div> <div class="code insert">*&nbsp;Use&nbsp;within&nbsp;other&nbsp;packages</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">40</div> <div class="code insert">&nbsp;&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;incorporate&nbsp;an&nbsp;iconv&nbsp;implementation&nbsp;into&nbsp;another&nbsp;package</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">41</div> <div class="code insert">&nbsp;&nbsp;(such&nbsp;as&nbsp;a&nbsp;mail&nbsp;user&nbsp;agent&nbsp;or&nbsp;web&nbsp;browser),&nbsp;the&nbsp;single&nbsp;library&nbsp;approach</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">42</div> <div class="code insert">&nbsp;&nbsp;is&nbsp;easier,&nbsp;because:</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">43</div> <div class="code insert">&nbsp;&nbsp;1.&nbsp;In&nbsp;the&nbsp;shared&nbsp;library&nbsp;approach&nbsp;you&nbsp;have&nbsp;to&nbsp;provide&nbsp;the&nbsp;right&nbsp;directory</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">44</div> <div class="code insert">&nbsp;&nbsp;prefix&nbsp;which&nbsp;will&nbsp;be&nbsp;used&nbsp;at&nbsp;run&nbsp;time.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">45</div> <div class="code insert">&nbsp;&nbsp;2.&nbsp;Incorporating&nbsp;iconv&nbsp;as&nbsp;a&nbsp;static&nbsp;library&nbsp;into&nbsp;the&nbsp;executable&nbsp;is&nbsp;easy&nbsp;-</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">46</div> <div class="code insert">&nbsp;&nbsp;it&nbsp;won&#39;t&nbsp;need&nbsp;dynamic&nbsp;loading.&nbsp;(This&nbsp;assumes&nbsp;that&nbsp;your&nbsp;package&nbsp;is&nbsp;under</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">47</div> <div class="code insert">&nbsp;&nbsp;the&nbsp;LGPL&nbsp;or&nbsp;GPL&nbsp;license.)</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">48</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">49</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">50</div> <div class="code insert">All&nbsp;conversions&nbsp;go&nbsp;through&nbsp;Unicode.&nbsp;This&nbsp;is&nbsp;possible&nbsp;because&nbsp;most&nbsp;of&nbsp;the</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">51</div> <div class="code insert">world&#39;s&nbsp;characters&nbsp;have&nbsp;already&nbsp;been&nbsp;allocated&nbsp;in&nbsp;the&nbsp;Unicode&nbsp;standard.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">52</div> <div class="code insert">Therefore&nbsp;we&nbsp;have&nbsp;for&nbsp;each&nbsp;encoding&nbsp;two&nbsp;functions:</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">53</div> <div class="code insert">-&nbsp;For&nbsp;conversion&nbsp;from&nbsp;the&nbsp;encoding&nbsp;to&nbsp;Unicode,&nbsp;a&nbsp;function&nbsp;called&nbsp;xxx_mbtowc.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">54</div> <div class="code insert">-&nbsp;For&nbsp;conversion&nbsp;from&nbsp;Unicode&nbsp;to&nbsp;the&nbsp;encoding,&nbsp;a&nbsp;function&nbsp;called&nbsp;xxx_wctomb,</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">55</div> <div class="code insert">&nbsp;&nbsp;and&nbsp;for&nbsp;stateful&nbsp;encodings,&nbsp;a&nbsp;function&nbsp;called&nbsp;xxx_reset&nbsp;which&nbsp;returns&nbsp;to</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">56</div> <div class="code insert">&nbsp;&nbsp;the&nbsp;initial&nbsp;shift&nbsp;state.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">57</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">58</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">59</div> <div class="code insert">All&nbsp;our&nbsp;functions&nbsp;operate&nbsp;on&nbsp;a&nbsp;single&nbsp;Unicode&nbsp;character&nbsp;at&nbsp;a&nbsp;time.&nbsp;This&nbsp;is</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">60</div> <div class="code insert">obviously&nbsp;less&nbsp;efficient&nbsp;than&nbsp;operating&nbsp;on&nbsp;an&nbsp;entire&nbsp;buffer&nbsp;of&nbsp;characters&nbsp;at</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">61</div> <div class="code insert">a&nbsp;time,&nbsp;but&nbsp;it&nbsp;makes&nbsp;the&nbsp;coding&nbsp;considerably&nbsp;easier&nbsp;and&nbsp;less&nbsp;bug-prone.&nbsp;Those</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">62</div> <div class="code insert">who&nbsp;wish&nbsp;best&nbsp;performance&nbsp;should&nbsp;install&nbsp;the&nbsp;Real&nbsp;Thing&nbsp;(TM):&nbsp;GNU&nbsp;libc&nbsp;2.1</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">63</div> <div class="code insert">or&nbsp;newer.</div> <div class="clear"><!-- --></div> </div> <div class="pseudorow insert-row"> <div class="lineNumber first">&nbsp;</div> <div class="lineNumber second">64</div> <div class="code insert">&nbsp;</div> <div class="clear"><!-- --></div> </div> </div> </div> </div> </div> </div> <ul id="pages"> <!-- FIXME: Leaving this to eventually show page numbers. Can't show all of them, so some magic has to be done to just show the previous and next N page numbers <li class="active">1</li> <tal:block tal:repeat="page_number python:range(navigation.page_count)"> <li><a href="#" tal:content="page_number"></a></li> </tal:block>--> <li class="next"> <a href="/~vcs-imports/libiconv/trunk/revision/1286?start_revid=1287">Older &raquo;</a> </li> </ul> </div> <p id="footer" class="fl"> Loggerhead is a web-based interface for <a href="https://www.breezy-vcs.org/">Breezy</a> <br /> Version: 2.0.1 </p> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10