Commit d25d5821 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.3.4-20031026

parent 2fe3e7d1
DOXYGEN Version 1.3.4-20031019
DOXYGEN Version 1.3.4-20031026
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (19 October 2003)
Dimitri van Heesch (26 October 2003)
......@@ -8,6 +8,7 @@ clean: FORCE
cd qtools ; $(MAKE) clean
cd src ; $(MAKE) clean
cd libpng ; $(MAKE) clean
cd libmd5 ; $(MAKE) clean
cd addon/doxywizard ; $(MAKE) clean
cd addon/doxmlparser/src ; $(MAKE) clean
cd addon/doxmlparser/test ; $(MAKE) clean
......@@ -18,6 +19,7 @@ clean: FORCE
distclean: clean
cd src ; $(MAKE) distclean
cd libpng ; $(MAKE) distclean
cd libmd5 ; $(MAKE) distclean
cd addon/doxywizard ; $(MAKE) distclean
cd addon/doxmlparser/src ; $(MAKE) distclean
cd addon/doxmlparser/test ; $(MAKE) distclean
......@@ -30,9 +32,10 @@ distclean: clean
-rm -f src/Makefile.doxygen src/Makefile.libdoxygen
-rm -f src/Makefile.doxytag src/Makefile.libdoxycfg
-rm -f libpng/Makefile.libpng
-rm -f libmd5/Makefile.libmd5
-rm -f Makefile qtools/Makefile src/Makefile examples/Makefile doc/Makefile
-rm -f .makeconfig .tmakeconfig
-rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro
-rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro libmd5/libmd5.pro
-rm -f src/version.cpp
-rm -r addon/doxywizard/Makefile
-rm -f addon/doxywizard/Makefile.doxywizard
......@@ -71,7 +74,7 @@ pdf: docs
cd latex ; $(MAKE)
archive: clean
tar zcvf dx`date +%y%m%d`.tgz Doxyfile libpng addon tmake doc wintools examples bin lib objects \
tar zcvf dx`date +%y%m%d`.tgz Doxyfile libpng libmd5 addon tmake doc wintools examples bin lib objects \
qtools src configure configure.bin Makefile.in Makefile.win_nmake.in \
Makefile.win_make.in INSTALL make.bat LANGUAGE.HOWTO LICENSE PLATFORMS \
VERSION packages
......
all: src\version.cpp
set TMAKEPATH=$(TMAKEPATH) & cd qtools & $(MAKE)
set TMAKEPATH=$(TMAKEPATH) & cd libpng & $(MAKE)
set TMAKEPATH=$(TMAKEPATH) & cd libmd5 & $(MAKE)
set TMAKEPATH=$(TMAKEPATH) & cd src & $(MAKE)
clean:
......
......@@ -6,6 +6,9 @@ all: src\version.cpp
cd libpng
$(MAKE)
cd ..
cd libmd5
$(MAKE)
cd ..
cd src
$(MAKE)
......
DOXYGEN Version 1.3.4_20031019
DOXYGEN Version 1.3.4_20031026
Please read INSTALL for compilation instructions.
......@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (19 October 2003)
Dimitri van Heesch (dimitri@stack.nl) (26 October 2003)
1.3.4-20031019
1.3.4-20031026
......@@ -427,7 +427,7 @@ TMAKE_CXXFLAGS += -DENGLISH_ONLY
EOF
fi
f_inmakefiles="Makefile.in qtools/Makefile.in src/Makefile.in examples/Makefile.in doc/Makefile.in addon/doxywizard/Makefile.in addon/doxmlparser/src/Makefile.in addon/doxmlparser/test/Makefile.in addon/doxmlparser/examples/metrics/Makefile.in libpng/Makefile.in"
f_inmakefiles="Makefile.in qtools/Makefile.in src/Makefile.in examples/Makefile.in doc/Makefile.in addon/doxywizard/Makefile.in addon/doxmlparser/src/Makefile.in addon/doxmlparser/test/Makefile.in addon/doxmlparser/examples/metrics/Makefile.in libpng/Makefile.in libmd5/Makefile.in"
for i in $f_inmakefiles ; do
SRC=$i
......@@ -445,6 +445,7 @@ EOF
echo "all: src/version.cpp " >> $DST
echo " \$(MAKE) -C qtools" >> $DST
echo " \$(MAKE) -C libpng" >> $DST
echo " \$(MAKE) -C libmd5" >> $DST
echo " \$(MAKE) -C src" >> $DST
if test $f_wizard = YES; then
echo " \$(MAKE) -C addon/doxywizard" >> $DST
......@@ -460,7 +461,7 @@ EOF
echo " Created $DST from $SRC..."
done
f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libpng/libpng.pro.in"
f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libpng/libpng.pro.in libmd5/libmd5.pro.in"
for i in $f_inprofiles ; do
SRC=$i
......
all: Makefile.libmd5
$(MAKE) -f Makefile.libmd5
clean: Makefile.libmd5
$(MAKE) -f Makefile.libmd5 clean
distclean: clean
$(RM) -f Makefile.libmd5 libmd5.pro Makefile
tmake:
$(ENV) $(PERL) $(TMAKE) libmd5.pro >Makefile.libmd5
Makefile.libmd5: libmd5.pro
$(ENV) $(PERL) $(TMAKE) libmd5.pro >Makefile.libmd5
install:
TEMPLATE = lib
CONFIG = warn_on staticlib $extraopts
HEADERS = md5.h md5_loc.h
SOURCES = md5.c
win32:INCLUDEPATH += .
win32-g++:TMAKE_CFLAGS += -D__CYGWIN__ -DALL_STATIC
DESTDIR = ../lib
TARGET = md5
OBJECTS_DIR = ../objects
This diff is collapsed.
/*
* Declaration of functions and data types used for MD5 sum computing
* library functions. Copyright (C) 1995, 1996 Free Software
* Foundation, Inc. NOTE: The canonical source of this file is
* maintained with the GNU C Library. Bugs can be reported to
* bug-glibc@prep.ai.mit.edu.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* $Id$
*/
/*
* NOTE: during quick performance tests on a sun ultra and an alpha
* 255 300, the md5 libraries performed upwards of 3mb/sec. That
* included disk i/o on bobcat and panther.
*/
#ifndef __MD5_H__
#define __MD5_H__
#ifdef __cplusplus
extern "C" {
#endif
/*
* Size of a standard MD5 signature in bytes. This definition is for
* external programs only. The MD5 routines themselves reference the
* signature as 4 unsigned 32-bit integers.
*/
#define MD5_SIZE 16
/*
* NOTE: the following is assumed to generate a 32-bit unsigned data
* type.
*/
typedef unsigned int md5_uint32;
#define MAX_MD5_UINT32 ((md5_uint32)4294967295U)
/*
* The MD5 algorithm works on blocks of characters of 64 bytes. This
* is an internal value only and is not necessary for external use.
*/
#define MD5_BLOCK_SIZE 64
/*
* Structure to save state of computation between the single steps.
*/
typedef struct
{
md5_uint32 md_A; /* accumulater 1 */
md5_uint32 md_B; /* accumulater 2 */
md5_uint32 md_C; /* accumulater 3 */
md5_uint32 md_D; /* accumulater 4 */
md5_uint32 md_total[2]; /* totaling storage */
md5_uint32 md_buf_len; /* length of the storage buffer */
char md_buffer[MD5_BLOCK_SIZE * 2]; /* character storage buffer */
} md5_t;
/*<<<<<<<<<< The below prototypes are auto-generated by fillproto */
/*
* md5_init
*
* DESCRIPTION:
*
* Initialize structure containing state of MD5 computation. (RFC 1321,
* 3.3: Step 3). This is for progressive MD5 calculations only. If
* you have the complete string available, md5_buffer should be used.
* md5_process should be called for each bunch of bytes and after the
* last process call, md5_finish should be called to get the
* signature.
*
* RETURNS:
*
* None.
*
* ARGUMENTS:
*
* md5_p - Pointer to md5 structure that we are initializing.
*/
extern
void md5_init(md5_t *md5_p);
/*
* md5_process
*
* DESCRIPTION:
*
* This function is used to progressively calculate a MD5 signature some
* number of bytes at a time. If you have the complete string
* available, md5_buffer should be used. The MD5 structure should
* have been initialized with md5_init and after the last process
* call, md5_finish should be called to get the results.
*
* RETURNS:
*
* None.
*
* ARGUMENTS:
*
* md5_p - Pointer to MD5 structure which we are progressively updating.
*
* buffer - A buffer of bytes whose MD5 signature we are calculating.
*
* buf_len - The length of the buffer.
*/
extern
void md5_process(md5_t *md5_p, const void *buffer,
const unsigned int buf_len);
/*
* md5_finish
*
* DESCRIPTION:
*
* Finish a progressing MD5 calculation and copy the resulting MD5
* signature into the result buffer which should be 16 bytes
* (MD5_SIZE). After this call, the MD5 structure is invalid.
*
* RETURNS:
*
* None.
*
* ARGUMENTS:
*
* md5_p - Pointer to MD5 structure which we are finishing.
*
* signature - A 16 byte buffer that will contain the MD5 signature.
*/
extern
void md5_finish(md5_t *md5_p, void *signature);
/*
* md5_buffer
*
* DESCRIPTION:
*
* This function is used to calculate a MD5 signature for a buffer of
* bytes. If you only have part of a buffer that you want to process
* then md5_init, md5_process, and md5_finish should be used.
*
* RETURNS:
*
* None.
*
* ARGUMENTS:
*
* buffer - A buffer of bytes whose MD5 signature we are calculating.
*
* buf_len - The length of the buffer.
*
* signature - A 16 byte buffer that will contain the MD5 signature.
*/
extern
void md5_buffer(const char *buffer, const unsigned int buf_len,
void *signature);
/*
* md5_sig_to_string
*
* DESCRIPTION:
*
* Convert a MD5 signature in a 16 byte buffer into a hexadecimal string
* representation.
*
* RETURNS:
*
* None.
*
* ARGUMENTS:
*
* signature - a 16 byte buffer that contains the MD5 signature.
*
* str - a string of charactes which should be at least 33 bytes long (2
* characters per MD5 byte and 1 for the \0).
*
* str_len - the length of the string.
*/
extern
void md5_sig_to_string(void *signature, char *str, const int str_len);
/*
* md5_sig_from_string
*
* DESCRIPTION:
*
* Convert a MD5 signature from a hexadecimal string representation into
* a 16 byte buffer.
*
* RETURNS:
*
* None.
*
* ARGUMENTS:
*
* signature - A 16 byte buffer that will contain the MD5 signature.
*
* str - A string of charactes which _must_ be at least 32 bytes long (2
* characters per MD5 byte).
*/
extern
void md5_sig_from_string(void *signature, const char *str);
/*<<<<<<<<<< This is end of the auto-generated output from fillproto. */
#ifdef __cplusplus
}
#endif
#endif /* ! __MD5_H__ */
/*
* Local defines for the md5 functions.
*
* $Id$
*/
/*
* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
* rights reserved.
*
* License to copy and use this software is granted provided that it is
* identified as the "RSA Data Security, Inc. MD5 Message-Digest
* Algorithm" in all material mentioning or referencing this software
* or this function.
*
* License is also granted to make and use derivative works provided that
* such works are identified as "derived from the RSA Data Security,
* Inc. MD5 Message-Digest Algorithm" in all material mentioning or
* referencing the derived work.
*
* RSA Data Security, Inc. makes no representations concerning either the
* merchantability of this software or the suitability of this
* software for any particular purpose. It is provided "as is" without
* express or implied warranty of any kind.
*
* These notices must be retained in any copies of any part of this
* documentation and/or software.
*/
#ifndef __MD5_LOC_H__
#define __MD5_LOC_H__
#define HEX_STRING "0123456789abcdef" /* to convert to hex */
#define BLOCK_SIZE_MASK (MD5_BLOCK_SIZE - 1)
/*
* Define my endian-ness. Could not do in a portable manner using the
* include files -- grumble.
*/
#if defined(__alpha) || defined(WIN32) || defined(__i386__)
/*
* little endian
*/
#define SWAP(n) (n)
#endif
#ifdef __sparc
/*
* big endian - big is better
*/
#define SWAP(n) \
(((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
#endif
/*
* These are the four functions used in the four steps of the MD5
* algorithm and defined in the RFC 1321. The first function is a
* little bit optimized (as found in Colin Plumbs public domain
* implementation).
*/
/* #define FF(b, c, d) ((b & c) | (~b & d)) */
#define FF(b, c, d) (d ^ (b & (c ^ d)))
#define FG(b, c, d) FF(d, b, c)
#define FH(b, c, d) (b ^ c ^ d)
#define FI(b, c, d) (c ^ (b | ~d))
/*
* It is unfortunate that C does not provide an operator for cyclic
* rotation. Hope the C compiler is smart enough. -- Modified to
* remove the w = at the front - Gray 2/97
*/
#define CYCLIC(w, s) ((w << s) | (w >> (32 - s)))
/*
* First Round: using the given function, the context and a constant
* the next context is computed. Because the algorithms processing
* unit is a 32-bit word and it is determined to work on words in
* little endian byte order we perhaps have to change the byte order
* before the computation. To reduce the work for the next steps we
* store the swapped words in the array CORRECT_WORDS. -- Modified to
* fix the handling of unaligned buffer spaces - Gray 7/97
*/
#define OP1(a, b, c, d, b_p, c_p, s, T) \
do { \
memcpy(c_p, b_p, sizeof(md5_uint32)); \
*c_p = SWAP(*c_p); \
a += FF (b, c, d) + *c_p + T; \
a = CYCLIC (a, s); \
a += b; \
b_p = (char *)b_p + sizeof(md5_uint32); \
c_p++; \
} while (0)
/*
* Second to Fourth Round: we have the possibly swapped words in
* CORRECT_WORDS. Redefine the macro to take an additional first
* argument specifying the function to use.
*/
#define OP234(FUNC, a, b, c, d, k, s, T) \
do { \
a += FUNC (b, c, d) + k + T; \
a = CYCLIC (a, s); \
a += b; \
} while (0)
#endif /* ! __MD5_LOC_H__ */
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.4_20031019
Version: 1.3.4_20031026
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
......@@ -31,6 +31,7 @@
#include <qdir.h>
#include <qfile.h>
#include <qtextstream.h>
#include <md5.h>
//--------------------------------------------------------------------
......@@ -1382,7 +1383,86 @@ void writeDotGraph(DotNode *root,
}
}
static void findMaximalDotGraph(DotNode *root,
/*! Computes a 16 byte md5 checksum for a given dot graph.
* The md5 checksum is returned as a 32 character ASCII string.
*/
QCString computeMd5Signature(DotNode *root,
DotNode::GraphType gt,
GraphOutputFormat format,
bool lrRank,
bool renderParents,
int distance,
bool backArrows
)
{
//printf("computeMd5Signature\n");
QString buf;
QTextStream md5stream(&buf,IO_WriteOnly);
if (lrRank)
{
md5stream << "rankdir=LR;" << endl;
}
root->clearWriteFlag();
root->write(md5stream,gt,format,gt!=DotNode::CallGraph,TRUE,distance,backArrows);
if (renderParents && root->m_parents)
{
QListIterator<DotNode> dnli(*root->m_parents);
DotNode *pn;
for (dnli.toFirst();(pn=dnli.current());++dnli)
{
if (pn->m_distance<=distance)
{
root->writeArrow(md5stream,
gt,
format,
pn,
pn->m_edgeInfo->at(pn->m_children->findRef(root)),
FALSE,
backArrows
);
}
pn->write(md5stream,gt,format,TRUE,FALSE,distance,backArrows);
}
}
char md5_sig[16];
QCString sigStr(33);
md5_buffer(buf.ascii(),buf.length(),md5_sig);
md5_sig_to_string(md5_sig,sigStr.data(),33);
//printf("md5: %s | file: %s\n",sigStr,baseName.data());
return sigStr;
}
/*! Checks if a file "baseName".md5 exists. If so the contents
* are compared with \a md5. If equal FALSE is returned. If the .md5
* file does not exist or its contents are not equal to \a md5,
* a new .md5 is generated with the \a md5 string as contents.
*/
static bool checkAndUpdateMd5Signature(const QCString &baseName,const QCString &md5)
{
QFile f(baseName+".md5");
if (f.open(IO_ReadOnly))
{
// read checksum
QCString md5stored(33);
int bytesRead=f.readBlock(md5stored.data(),32);
// compare checksum
if (bytesRead==32 && md5==md5stored)
{
// bail out if equal
return FALSE;
}
}
f.close();
// create checksum file
if (f.open(IO_WriteOnly))
{
f.writeBlock(md5.data(),32);
f.close();
}
return TRUE;
}
static bool findMaximalDotGraph(DotNode *root,
int maxDist,
const QCString &baseName,
QDir &thisDir,
......@@ -1402,6 +1482,10 @@ static void findMaximalDotGraph(DotNode *root,
int maxDotGraphHeight = Config_getInt("MAX_DOT_GRAPH_HEIGHT");
int lastFit=minDistance;
QCString md5 = computeMd5Signature(root,gt,format,lrRank,
renderParents,maxDistance,backArrows);
if (!checkAndUpdateMd5Signature(baseName,md5)) return FALSE;
// binary search for the maximal inheritance depth that fits in a reasonable
// sized image (dimensions: Config_getInt("MAX_DOT_GRAPH_WIDTH"), Config_getInt("MAX_DOT_GRAPH_HEIGHT"))
while (minDistance<=maxDistance)
......@@ -1417,7 +1501,7 @@ static void findMaximalDotGraph(DotNode *root,
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
return;
return FALSE;
}
// extract bounding box from the result
......@@ -1461,6 +1545,7 @@ static void findMaximalDotGraph(DotNode *root,
lastFit,
backArrows
);
return TRUE;
}
QCString DotClassGraph::diskName() const
......@@ -1520,8 +1605,10 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
}
baseName = convertNameToFile(diskName());
findMaximalDotGraph(m_startNode,QMIN(m_recDepth,m_maxDistance),baseName,
thisDir,m_graphType,format,!isTBRank,m_graphType==DotNode::Inheritance);
if (findMaximalDotGraph(m_startNode,QMIN(m_recDepth,m_maxDistance),baseName,
thisDir,m_graphType,format,!isTBRank,m_graphType==DotNode::Inheritance))
{
if (format==BITMAP) // run dot to create a bitmap image
{
......@@ -1619,6 +1706,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
"\\end{figure}\n";
}
if (Config_getBool("DOT_CLEANUP")) thisDir.remove(baseName+".dot");
}
QDir::setCurrent(oldDir);
return baseName;
......@@ -1763,10 +1851,11 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
QCString mapName=m_startNode->m_label.copy();
if (m_inverse) mapName+="dep";
findMaximalDotGraph(m_startNode,QMIN(m_recDepth,m_maxDistance),
if (findMaximalDotGraph(m_startNode,QMIN(m_recDepth,m_maxDistance),
baseName,thisDir,DotNode::Dependency,format,
FALSE,FALSE,!m_inverse);
FALSE,FALSE,!m_inverse)
)
{
if (format==BITMAP)
{
// run dot to create a bitmap image
......@@ -1858,6 +1947,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
}
if (Config_getBool("DOT_CLEANUP")) thisDir.remove(baseName+".dot");
}
QDir::setCurrent(oldDir);
return baseName;
......
......@@ -99,14 +99,16 @@ class DotNode
friend class DotNodeList;
friend class DotCallGraph;
friend void writeDotGraph(
DotNode *root,
GraphType gt,
DotNode *root, GraphType gt,
GraphOutputFormat f, const QCString &baseName,
bool lrRank, bool renderParents,
int distance, bool backArrows
);
friend QCString computeMd5Signature(
DotNode *root, GraphType gt,
GraphOutputFormat f,
const QCString &baseName,
bool lrRank,
bool renderParents,
int distance,
bool backArrow
bool lrRank, bool renderParents,
int distance, bool backArrows
);
};
......
......@@ -18,18 +18,18 @@ TEMPLATE = app.t
CONFIG = console warn_on $extraopts
HEADERS = doxygen.h
SOURCES = main.cpp
unix:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng
unix:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
win32:INCLUDEPATH += .
win32-mingw:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng
win32-msvc:LIBS += qtools.lib png.lib doxygen.lib doxycfg.lib shell32.lib
win32-mingw:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
win32-msvc:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib
win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib
win32-borland:LIBS += qtools.lib png.lib doxygen.lib doxycfg.lib shell32.lib
win32-borland:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib
win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk
win32:TMAKE_CXXFLAGS += -DQT_NODLL
win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng
win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
INCLUDEPATH += ../qtools ../libpng .
win32-g++:INCLUDEPATH -= ../libpng
INCLUDEPATH += ../qtools ../libpng ../libmd5 .
#win32-g++:INCLUDEPATH -= ../libpng
DESTDIR = ../bin
TARGET = doxygen
unix:TARGETDEPS = ../lib/libdoxygen.a ../lib/libdoxycfg.a
......
......@@ -1412,7 +1412,7 @@ void HtmlGenerator::writeSearchPage()
writeDefaultQuickLinks(t,TRUE,HLI_Search);
}
t << "<?php \n\n";
t << "\n<?php\n\n";
t << "function search_results()\n";
t << "{\n";
t << " return \"" << theTranslator->trSearchResultsTitle() << "\";\n";
......
......@@ -1011,11 +1011,11 @@ void writeFileIndex(OutputList &ol)
ol.endBold();
if (hasHtmlHelp)
{
htmlHelp->addContentsItem(FALSE,fd->name(),0);
htmlHelp->addContentsItem(FALSE,fullName,0);
}
if (hasFtvHelp)
{
ftvHelp->addContentsItem(FALSE,0,0,0,fd->name());
ftvHelp->addContentsItem(FALSE,0,0,0,fullName);
}
}
if (src)
......
......@@ -249,12 +249,12 @@ void LatexDocVisitor::visit(DocVerbatim *s)
case DocVerbatim::Code:
m_t << "\n\n\\footnotesize\\begin{verbatim}";
parseCode(m_ci,s->context(),s->text().latin1(),s->isExample(),s->exampleFile());
m_t << "\\end{verbatim}\\normalsize" << endl;
m_t << "\\end{verbatim}\n\\normalsize" << endl;
break;
case DocVerbatim::Verbatim:
m_t << "\n\n\\footnotesize\\begin{verbatim}";
m_t << s->text();
m_t << "\\end{verbatim}\\normalsize" << endl;
m_t << "\\end{verbatim}\n\\normalsize" << endl;
break;
case DocVerbatim::HtmlOnly:
case DocVerbatim::XmlOnly:
......@@ -310,7 +310,7 @@ void LatexDocVisitor::visit(DocInclude *inc)
case DocInclude::Include:
m_t << "\n\n\\footnotesize\\begin{verbatim}";
parseCode(m_ci,inc->context(),inc->text().latin1(),inc->isExample(),inc->exampleFile());
m_t << "\\end{verbatim}\\normalsize" << endl;
m_t << "\\end{verbatim}\n\\normalsize" << endl;
break;
case DocInclude::DontInclude:
break;
......@@ -319,7 +319,7 @@ void LatexDocVisitor::visit(DocInclude *inc)
case DocInclude::VerbInclude:
m_t << "\n\n\\footnotesize\\begin{verbatim}";
m_t << inc->text();
m_t << "\\end{verbatim}\\normalsize" << endl;
m_t << "\\end{verbatim}\n\\normalsize" << endl;
break;
}
}
......@@ -344,7 +344,7 @@ void LatexDocVisitor::visit(DocIncOperator *op)
if (op->isLast())
{
popEnabled();
if (!m_hide) m_t << "\\end{verbatim}\\normalsize" << endl;
if (!m_hide) m_t << "\\end{verbatim}\n\\normalsize" << endl;
}
else
{
......
......@@ -186,6 +186,7 @@ win32-msvc:TMAKE_CXXFLAGS += -Zm200
win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
INCLUDEPATH += ../qtools
INCLUDEPATH += ../libpng
INCLUDEPATH += ../libmd5
win32:INCLUDEPATH += .
win32-g++:INCLUDEPATH = ../qtools /usr/include/libpng12
DESTDIR = ../lib
......
......@@ -436,6 +436,7 @@ void ManDocVisitor::visitPre(DocSimpleList *)
{
if (m_hide) return;
m_indent+=2;
m_t << ".PD 0" << endl;
}
void ManDocVisitor::visitPost(DocSimpleList *)
......@@ -482,6 +483,7 @@ void ManDocVisitor::visitPre(DocHtmlList *)
{
if (m_hide) return;
m_indent+=2;
m_t << ".PD 0" << endl;
}
void ManDocVisitor::visitPost(DocHtmlList *)
......
......@@ -1221,8 +1221,9 @@ void RTFDocVisitor::writeDotFile(const QString &fileName)
m_t << "{" << endl;
m_t << rtf_Style_Reset << endl;
m_t << "\\par\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE ";
m_t << outDir << "\\" << baseName;
m_t << baseName << "." << Config_getEnum("DOT_IMAGE_FORMAT");
m_t << " \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl;
m_t << "}" << endl;
}
This diff is collapsed.
......@@ -193,6 +193,10 @@ function filter_results($docs,&$requiredWords,&$forbiddenWords)
function compare_rank($a,$b)
{
if ($a["rank"] == $b["rank"])
{
return 0;
}
return ($a["rank"]>$b["rank"]) ? -1 : 1;
}
......
......@@ -193,6 +193,10 @@
"\n"
"function compare_rank($a,$b)\n"
"{\n"
" if ($a[\"rank\"] == $b[\"rank\"]) \n"
" {\n"
" return 0;\n"
" }\n"
" return ($a[\"rank\"]>$b[\"rank\"]) ? -1 : 1; \n"
"}\n"
"\n"
......
......@@ -26,7 +26,7 @@
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
class TranslatorKorean : public TranslatorAdapter_1_3
class TranslatorKorean : public Translator
{
public:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment