Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
8a5c51f2
Commit
8a5c51f2
authored
Nov 12, 2003
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.4-20031112
parent
a2a1e97f
Changes
26
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
533 additions
and
898 deletions
+533
-898
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+17
-4
README
README
+2
-2
VERSION
VERSION
+1
-1
config.doc
doc/config.doc
+8
-8
md5.c
libmd5/md5.c
+290
-503
md5.h
libmd5/md5.h
+38
-211
md5_loc.h
libmd5/md5_loc.h
+16
-103
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
Makefile.in
src/Makefile.in
+1
-1
classdef.cpp
src/classdef.cpp
+1
-1
code.l
src/code.l
+45
-1
config.l
src/config.l
+8
-11
definition.cpp
src/definition.cpp
+3
-1
docparser.cpp
src/docparser.cpp
+4
-5
dot.cpp
src/dot.cpp
+76
-26
doxygen.cpp
src/doxygen.cpp
+5
-5
filedef.cpp
src/filedef.cpp
+1
-1
groupdef.cpp
src/groupdef.cpp
+1
-1
memberdef.cpp
src/memberdef.cpp
+1
-1
namespacedef.cpp
src/namespacedef.cpp
+1
-1
search.php
src/search.php
+2
-2
search_php.h
src/search_php.h
+2
-2
searchindex.cpp
src/searchindex.cpp
+5
-2
searchindex.h
src/searchindex.h
+1
-1
No files found.
Doxyfile
View file @
8a5c51f2
...
...
@@ -187,4 +187,4 @@ DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE =
NO
SEARCHENGINE =
YES
INSTALL
View file @
8a5c51f2
DOXYGEN Version 1.3.4-200311
03
DOXYGEN Version 1.3.4-200311
12
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
03
November 2003)
Dimitri van Heesch (
12
November 2003)
Makefile.in
View file @
8a5c51f2
...
...
@@ -73,12 +73,25 @@ docs: FORCE
pdf
:
docs
cd
latex
;
$(MAKE)
archive
:
clean
tar
zcvf dx
`
date
+%y%m%d
`
.tgz Doxyfile libpng libmd5 addon tmake doc wintools examples bin lib objects
\
DISTFILES
=
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
archive
:
clean
tar
zcvf dx
`
date
+%y%m%d
`
.tgz
$(DISTFILES)
DISTDIR
=
doxygen-
`
echo
$(VERSION)
|
tr
- _
`
dist
:
clean
rm
-rf
$(DISTDIR)
mkdir
$(DISTDIR)
cp
-a
$(DISTFILES)
README
$(DISTDIR)
find
$(DISTDIR)
\(
-name
"CVS"
-o
-name
".cvsignore"
\)
\
-print0
| xargs
-0
rm
-rf
tar
zcvf
$(DISTDIR)
.src.tar.gz
$(DISTDIR)
rm
-rf
$(DISTDIR)
src/version.cpp
:
Makefile
echo
"char versionString[]=
\"
$(VERSION)
\"
;"
>
src/version.cpp
...
...
README
View file @
8a5c51f2
DOXYGEN Version 1.3.4_200311
03
DOXYGEN Version 1.3.4_200311
12
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) (
03
November 2003)
Dimitri van Heesch (dimitri@stack.nl) (
12
November 2003)
VERSION
View file @
8a5c51f2
1.3.4-200311
03
1.3.4-200311
12
doc/config.doc
View file @
8a5c51f2
...
...
@@ -356,7 +356,7 @@ followed by the descriptions of the tags grouped by category.
The new default is to treat a multi-line C++ comment block as a detailed
description. Set this tag to YES if you prefer the old behaviour instead.
Note that setting this tag to YES also means that rational rose comments
are not recogni
s
ed any more.
are not recogni
z
ed any more.
\anchor cfg_details_at_top
<dt>\c DETAILS_AT_TOP <dd>
...
...
@@ -371,7 +371,7 @@ followed by the descriptions of the tags grouped by category.
\addindex INHERIT_DOCS
If the \c INHERIT_DOCS tag is set to \c YES (the default) then an undocumented
member inherits the documentation from any documented member that it
reimplements.
re
-
implements.
\anchor cfg_distribute_group_doc
<dt>\c DISTRIBUTE_GROUP_DOC <dd>
...
...
@@ -940,7 +940,7 @@ function's detailed documentation block.
If
the
\
c
GENERATE_HTMLHELP
tag
is
set
to
\
c
YES
,
the
\
c
CHM_FILE
tag
can
be
used
to
specify
the
file
name
of
the
resulting
.
chm
file
.
You
can
add
a
path
in
front
of
the
file
if
the
result
should
not
be
written
to
the
html
output
dir
.
written
to
the
html
output
dir
ectory
.
\
anchor
cfg_hhc_location
<
dt
>\
c
HHC_LOCATION
<
dd
>
...
...
@@ -989,7 +989,7 @@ function's detailed documentation block.
\
anchor
cfg_generate_treeview
<
dt
>\
c
GENERATE_TREEVIEW
<
dd
>
\
addindex
GENERATE_TREEVIEW
If
the
\
c
GENERATE_TREEVIEW
tag
is
set
to
YES
,
a
side
pan
n
el
will
be
If
the
\
c
GENERATE_TREEVIEW
tag
is
set
to
YES
,
a
side
panel
will
be
generated
containing
a
tree
-
like
index
structure
(
just
like
the
one
that
is
generated
for
HTML
Help
).
For
this
to
work
a
browser
that
supports
JavaScript
and
frames
is
required
(
for
instance
Mozilla
1.0
+,
Netscape
6.0
+
...
...
@@ -1132,7 +1132,7 @@ EXTRA_PACKAGES = times
<dt>\c GENERATE_RTF <dd>
\addindex GENERATE_RTF
If the \c GENERATE_RTF tag is set to \c YES doxygen will generate RTF output.
The RTF output is optimi
s
ed for Word 97 and may not look too pretty with
The RTF output is optimi
z
ed for Word 97 and may not look too pretty with
other readers/editors.
\anchor cfg_rtf_output
...
...
@@ -1165,7 +1165,7 @@ EXTRA_PACKAGES = times
<dt>\c RTF_STYLESHEET_FILE <dd>
\addindex RTF_STYLESHEET_FILE
Load stylesheet definitions from file. Syntax is similar to doxygen'
s
config
file
,
i
.
e
.
a
series
of
assigments
.
You
only
have
to
provide
config
file
,
i
.
e
.
a
series
of
assig
n
ments
.
You
only
have
to
provide
replacements
,
missing
definitions
are
set
to
their
default
value
.
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
...
...
@@ -1441,7 +1441,7 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
If
the
\
c
CLASS_DIAGRAMS
tag
is
set
to
\
c
YES
(
the
default
)
doxygen
will
generate
a
class
diagram
(
in
HTML
and
\
f
$\
mbox
{\
LaTeX
}\
f
$)
for
classes
with
base
or
super
classes
.
Setting
the
tag
to
\
c
NO
turns
the
diagrams
off
.
Note
that
this
option
is
super
c
eded
by
the
HAVE_DOT
option
below
.
Note
that
this
option
is
super
s
eded
by
the
HAVE_DOT
option
below
.
This
is
only
a
fallback
.
It
is
recommended
to
install
and
use
dot
,
since
it
yields
more
powerful
graphs
.
...
...
@@ -1555,7 +1555,7 @@ note that a graph may be further truncated if the graph's image dimensions are
not sufficient to fit the graph (see
\ref cfg_max_dot_graph_width "MAX_DOT_GRAPH_WIDTH" and
\ref cfg_max_dot_graph_height "MAX_DOT_GRAPH_HEIGHT").
If 0 is used fo
t
the depth value (the default), the graph is
If 0 is used fo
r
the depth value (the default), the graph is
not depth-constraint.
\anchor cfg_max_dot_graph_width
...
...
libmd5/md5.c
View file @
8a5c51f2
This diff is collapsed.
Click to expand it.
libmd5/md5.h
View file @
8a5c51f2
/*
* 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$
/* MD5.H - header file for MD5C.C
*/
/*
* 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
/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
rights reserved.
/*
* 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
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.
/*
* 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)
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.
/*
* 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
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.
/*
* Structure to save state of computation between the single steps.
These notices must be retained in any copies of any part of this
documentation and/or software.
*/
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
);
#ifndef _MD5_H_
#define _MD5_H_
/*
* 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
);
#ifdef __cplusplus
extern
"C"
{
#endif
/*
* 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
);
#include "md5_loc.h"
/*
* 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
);
/* MD5 context. */
typedef
struct
{
UINT4
state
[
4
];
/* state (ABCD) */
UINT4
count
[
2
];
/* number of bits, modulo 2^64 (lsb first) */
unsigned
char
buffer
[
64
];
/* input buffer */
}
MD5_CTX
;
/*<<<<<<<<<< This is end of the auto-generated output from fillproto. */
void
MD5Init
(
MD5_CTX
*
ctx
);
void
MD5Update
(
MD5_CTX
*
ctx
,
const
unsigned
char
*
buf
,
unsigned
int
len
);
void
MD5Final
(
MD5_CTX
*
ctx
,
unsigned
char
sig
[
16
]);
void
MD5Buffer
(
const
char
*
buf
,
unsigned
int
len
,
unsigned
char
sig
[
16
]);
void
MD5SigToString
(
unsigned
char
sig
[
16
],
char
*
str
,
int
len
);
#ifdef __cplusplus
}
#endif
#endif
/* ! __MD5_H__ */
#endif
libmd5/md5_loc.h
View file @
8a5c51f2
/*
* Local defines for the md5 functions.
*
* $Id$
*/
/* GLOBAL.H - RSAREF types and constants */
/*
* 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.
/* Copyright (C) RSA Laboratories, a division of RSA Data Security,
Inc., created 1991. All rights reserved.
*/
#ifndef _
_MD5_LOC_H__
#define _
_MD5_LOC_H__
#ifndef _
MD5LOC_H
#define _
MD5LOC_H
#ifdef __cplusplus
extern
"C"
{
#endif
/* POINTER defines a generic pointer type */
typedef
unsigned
char
*
POINTER
;
#define HEX_STRING "0123456789abcdef"
/* to convert to hex
*/
#define BLOCK_SIZE_MASK (MD5_BLOCK_SIZE - 1)
/* UINT2 defines a two byte word
*/
typedef
unsigned
short
int
UINT2
;
/*
* 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
/* UINT4 defines a four byte word */
typedef
unsigned
long
int
UINT4
;
#ifdef __sparc
/*
* big endian - big is better
*/
#define SWAP(n) \
(((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
#ifndef NULL_PTR
#define NULL_PTR ((POINTER)0)
#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)
#ifdef __cplusplus
}
#ifndef UNUSED_ARG
#define UNUSED_ARG(x) x = *(&x);
#endif
#endif
/*
! __MD5_LOC_H_
_ */
#endif
/*
end _GLOBAL_H
_ */
packages/rpm/doxygen.spec
View file @
8a5c51f2
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.4_200311
03
Version: 1.3.4_200311
12
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/Makefile.in
View file @
8a5c51f2
...
...
@@ -38,7 +38,7 @@ tmake:
$(ENV)
$(PERL)
$(TMAKE)
doxygen.pro
>
Makefile.doxygen
$(ENV)
$(PERL)
$(TMAKE)
doxytag.pro
>
Makefile.doxytag
clean
:
Makefile.libdoxygen Makefile.doxygen Makefile.doxytag
clean
:
Makefile.libdoxygen Makefile.
libdoxycfg Makefile.
doxygen Makefile.doxytag
$(MAKE)
-f
Makefile.libdoxygen clean
$(MAKE)
-f
Makefile.libdoxycfg clean
$(MAKE)
-f
Makefile.doxygen clean
...
...
src/classdef.cpp
View file @
8a5c51f2
...
...
@@ -853,7 +853,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
if
(
Config_getBool
(
"SEARCHENGINE"
))
{
Doxygen
::
searchIndex
->
setCurrentDoc
(
pageTitle
,
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
)
);
Doxygen
::
searchIndex
->
setCurrentDoc
(
pageTitle
,
getOutputFileBase
());
Doxygen
::
searchIndex
->
addWord
(
localName
().
lower
());
}
...
...
src/code.l
View file @
8a5c51f2
...
...
@@ -34,6 +34,7 @@
#include "outputlist.h"
#include "util.h"
#include "membername.h"
#include "searchindex.h"
#define YY_NEVER_INTERACTIVE 1
...
...
@@ -78,7 +79,8 @@ static QCString g_name;
static QCString g_args;
static QCString g_classScope;
static QCString g_realScope;
static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope, 2 for internal blocks
static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope,
// 2 for internal blocks
static int g_anchorCount;
static FileDef * g_sourceFileDef;
static Definition * g_currentDefinition;
...
...
@@ -318,6 +320,24 @@ static void popScope()
//printf("popScope() result: `%s'\n",g_classScope.data());
}
static void setCurrentDoc(const QCString &name,const QCString &base,const QCString &anchor="")
{
static bool searchEngineEnabled=Config_getBool("SEARCHENGINE");
if (searchEngineEnabled)
{
Doxygen::searchIndex->setCurrentDoc(name,base,anchor);
}
}
static void addToSearchIndex(const char *text)
{
static bool searchEngineEnabled=Config_getBool("SEARCHENGINE");
if (searchEngineEnabled)
{
Doxygen::searchIndex->addWord(text);
}
}
static void setClassScope(const QCString &name)
{
//printf("setClassScope(%s)\n",name.data());
...
...
@@ -360,17 +380,27 @@ static void startCodeLine()
g_realScope = d->name().copy();
//printf("Real scope: `%s'\n",g_realScope.data());
g_bodyCurlyCount = 0;
QCString lineAnchor;
lineAnchor.sprintf("l%05d",g_yyLineNr);
if (g_currentMemberDef)
{
g_code->writeLineNumber(g_currentMemberDef->getReference(),
g_currentMemberDef->getOutputFileBase(),
g_currentMemberDef->anchor(),g_yyLineNr);
setCurrentDoc(
g_currentMemberDef->qualifiedName(),
g_sourceFileDef->getSourceFileBase(),
lineAnchor);
}
else
{
g_code->writeLineNumber(d->getReference(),
d->getOutputFileBase(),
0,g_yyLineNr);
setCurrentDoc(
d->qualifiedName(),
g_sourceFileDef->getSourceFileBase(),
lineAnchor);
}
}
else
...
...
@@ -683,6 +713,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
}
}
writeMultiLineCodeLink(ol,cd->getReference(),cd->getOutputFileBase(),0,className);
addToSearchIndex(className);
if (md)
{
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
...
...
@@ -717,6 +748,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
if (md->isLinkable())
{
writeMultiLineCodeLink(ol,md->getReference(),md->getOutputFileBase(),md->anchor(),clName);
addToSearchIndex(clName);
if (g_currentMemberDef)
{
addDocCrossReference(g_currentMemberDef,md);
...
...
@@ -727,6 +759,7 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
}
codifyLines(clName);
addToSearchIndex(clName);
}
}
...
...
@@ -782,6 +815,7 @@ static bool getLink(const char *className,
md->getOutputFileBase(),
md->anchor(),
text ? text : memberName);
addToSearchIndex(text ? text : memberName);
return TRUE;
}
}
...
...
@@ -834,6 +868,7 @@ static bool generateClassMemberLink(BaseCodeDocInterface &ol,ClassDef *mcd,const
// write the actual link
writeMultiLineCodeLink(ol,xmd->getReference(),
xmd->getOutputFileBase(),xmd->anchor(),memName);
addToSearchIndex(memName);
return TRUE;
}
...
...
@@ -934,6 +969,7 @@ static void generateMemberLink(BaseCodeDocInterface &ol,const QCString &varName,
}
}
codifyLines(memName);
addToSearchIndex(memName);
return;
}
...
...
@@ -1499,12 +1535,14 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
if (!generateClassMemberLink(*g_code,g_theCallContext.getClass(),yytext))
{
g_code->codify(yytext);
addToSearchIndex(yytext);
}
g_name.resize(0);
}
else
{
g_code->codify(yytext);
addToSearchIndex(yytext);
g_name.resize(0);
}
g_type.resize(0);
...
...
@@ -1524,12 +1562,14 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
if (!generateClassMemberLink(*g_code,g_theCallContext.getClass(),yytext))
{
g_code->codify(yytext);
addToSearchIndex(yytext);
}
g_name.resize(0);
}
else
{
g_code->codify(yytext);
addToSearchIndex(yytext);
g_name.resize(0);
}
g_type.resize(0);
...
...
@@ -2104,6 +2144,10 @@ void parseCode(BaseCodeDocInterface &od,const char *className,const QCString &s,
g_exampleBlock = exBlock;
g_exampleName = exName;
g_sourceFileDef = fd;
if (fd)
{
setCurrentDoc(fd->name(),fd->getSourceFileBase());
}
g_currentDefinition = 0;
g_currentMemberDef = 0;
g_searchingForBody = FALSE;
...
...
src/config.l
View file @
8a5c51f2
...
...
@@ -19,7 +19,6 @@
*/
#include <stdio.h>
#include <stdlib.h>
//#include <iostream.h>
#include <assert.h>
#include <ctype.h>
#include <stdarg.h>
...
...
@@ -1489,7 +1488,7 @@ void Config::create()
"will interpret the first line (until the first dot) of a JavaDoc-style \n"
"comment as the brief description. If set to NO, the JavaDoc \n"
"comments will behave just like the Qt-style comments (thus requiring an \n"
"explict @brief command for a brief description. \n",
"explic
i
t @brief command for a brief description. \n",
FALSE
);
cb = addBool(
...
...
@@ -1513,7 +1512,7 @@ void Config::create()
"INHERIT_DOCS",
"If the INHERIT_DOCS tag is set to YES (the default) then an undocumented \n"
"member inherits the documentation from any documented member that it \n"
"reimplements. \n",
"re
-
implements. \n",
TRUE
);
cb = addBool(
...
...
@@ -2007,7 +2006,7 @@ void Config::create()
"If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can \n"
"be used to specify the file name of the resulting .chm file. You \n"
"can add a path in front of the file if the result should not be \n"
"written to the html output dir. \n"
"written to the html output dir
ectory
. \n"
);
cs->addDependency("GENERATE_HTML");
cs = addString(
...
...
@@ -2187,7 +2186,7 @@ void Config::create()
cb = addBool(
"GENERATE_RTF",
"If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output \n"
"The RTF output is optimi
s
ed for Word 97 and may not look very pretty with \n"
"The RTF output is optimi
z
ed for Word 97 and may not look very pretty with \n"
"other RTF readers or editors.\n",
FALSE
);
...
...
@@ -2222,7 +2221,7 @@ void Config::create()
cs = addString(
"RTF_STYLESHEET_FILE",
"Load stylesheet definitions from file. Syntax is similar to doxygen's \n"
"config file, i.e. a series of assigments. You only have to provide \n"
"config file, i.e. a series of assig
n
ments. You only have to provide \n"
"replacements, missing definitions are set to their default value. \n"
);
cs->setWidgetType(ConfigString::File);
...
...
@@ -2277,9 +2276,7 @@ void Config::create()
"GENERATE_XML",
"If the GENERATE_XML tag is set to YES Doxygen will \n"
"generate an XML file that captures the structure of \n"
"the code including all documentation. Note that this \n"
"feature is still experimental and incomplete at the \n"
"moment. \n",
"the code including all documentation. \n",
FALSE
);
cs = addString(
...
...
@@ -2500,7 +2497,7 @@ void Config::create()
"If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will \n"
"generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or \n"
"super classes. Setting the tag to NO turns the diagrams off. Note that this \n"
"option is super
c
eded by the HAVE_DOT option below. This is only a fallback. It is \n"
"option is super
s
eded by the HAVE_DOT option below. This is only a fallback. It is \n"
"recommended to install and use dot, since it yields more powerful graphs. \n",
TRUE
);
...
...
@@ -2540,7 +2537,7 @@ void Config::create()
cb = addBool(
"UML_LOOK",
"If the UML_LOOK tag is set to YES doxygen will generate inheritance and \n"
"collaboration diagrams in a style simil
i
ar to the OMG's Unified Modeling \n"
"collaboration diagrams in a style similar to the OMG's Unified Modeling \n"
"Language. \n",
FALSE
);
...
...
src/definition.cpp
View file @
8a5c51f2
...
...
@@ -207,6 +207,8 @@ void Definition::setDocumentation(const char *d,const char *docFile,int docLine,
m_docLine
=
docLine
;
}
#define uni_isupper(c) (QChar(c).category()==QChar::Letter_Uppercase)
void
Definition
::
setBriefDescription
(
const
char
*
b
,
const
char
*
briefFile
,
int
briefLine
)
{
if
(
b
==
0
)
return
;
...
...
@@ -219,7 +221,7 @@ void Definition::setBriefDescription(const char *b,const char *briefFile,int bri
{
case
'.'
:
case
'!'
:
case
'?'
:
break
;
default
:
if
(
isupper
(
m_brief
.
at
(
0
)))
m_brief
+=
'.'
;
if
(
uni_
isupper
(
m_brief
.
at
(
0
)))
m_brief
+=
'.'
;
break
;
}
}
...
...
src/docparser.cpp
View file @
8a5c51f2
...
...
@@ -4782,16 +4782,15 @@ DocNode *validatingParseDoc(const char *fileName,int startLine,
if
(
indexWords
&&
md
&&
Config_getBool
(
"SEARCHENGINE"
))
{
g_searchUrl
=
md
->
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
)
+
"#"
+
md
->
anchor
();
g_searchUrl
=
md
->
getOutputFileBase
();
Doxygen
::
searchIndex
->
setCurrentDoc
(
theTranslator
->
trMember
(
TRUE
,
TRUE
)
+
" "
+
md
->
qualifiedName
(),
g_searchUrl
);
g_searchUrl
,
md
->
anchor
());
}
else
if
(
indexWords
&&
ctx
&&
Config_getBool
(
"SEARCHENGINE"
))
{
g_searchUrl
=
ctx
->
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
);
g_searchUrl
=
ctx
->
getOutputFileBase
();
QCString
name
=
ctx
->
qualifiedName
();
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_JAVA"
))
{
...
...
src/dot.cpp
View file @
8a5c51f2
...
...
@@ -938,11 +938,12 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
node
->
write
(
md5stream
,
DotNode
::
Hierarchy
,
BITMAP
,
FALSE
,
TRUE
,
1000
,
TRUE
);
}
}
char
md5_sig
[
16
];
u
char
md5_sig
[
16
];
QCString
sigStr
(
33
);
md5_buffer
(
buf
.
ascii
(),
buf
.
length
(),
md5_sig
);
md5_sig_to_string
(
md5_sig
,
sigStr
.
data
(),
33
);
if
(
checkAndUpdateMd5Signature
(
baseName
,
sigStr
))
MD5Buffer
(
buf
.
ascii
(),
buf
.
length
(),
md5_sig
);
MD5SigToString
(
md5_sig
,
sigStr
.
data
(),
33
);
if
(
checkAndUpdateMd5Signature
(
baseName
,
sigStr
)
||
!
QFileInfo
(
mapName
).
exists
())
{
// image was new or has changed
QCString
dotName
=
baseName
+
".dot"
;
...
...
@@ -1478,10 +1479,10 @@ QCString computeMd5Signature(DotNode *root,
pn
->
write
(
md5stream
,
gt
,
format
,
TRUE
,
FALSE
,
distance
,
backArrows
);
}
}
char
md5_sig
[
16
];
u
char
md5_sig
[
16
];
QCString
sigStr
(
33
);
md5_b
uffer
(
buf
.
ascii
(),
buf
.
length
(),
md5_sig
);
md5_sig_to_s
tring
(
md5_sig
,
sigStr
.
data
(),
33
);
MD5B
uffer
(
buf
.
ascii
(),
buf
.
length
(),
md5_sig
);
MD5SigToS
tring
(
md5_sig
,
sigStr
.
data
(),
33
);
//printf("md5: %s | file: %s\n",sigStr,baseName.data());
return
sigStr
;
}
...
...
@@ -1492,9 +1493,9 @@ static bool findMaximalDotGraph(DotNode *root,
QDir
&
thisDir
,
DotNode
::
GraphType
gt
,
GraphOutputFormat
format
,
bool
lrRank
=
FALSE
,
bool
renderParents
=
FALSE
,
bool
backArrows
=
TRUE
bool
lrRank
/*=FALSE*/
,
bool
renderParents
/*=FALSE*/
,
bool
backArrows
/*=TRUE*/
)
{
int
minDistance
=
1
;
// min distance that shows only direct children.
...
...
@@ -1506,10 +1507,6 @@ static bool 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
)
...
...
@@ -1631,9 +1628,28 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
if
(
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
baseName
,
thisDir
,
m_graphType
,
format
,
!
isTBRank
,
m_graphType
==
DotNode
::
Inheritance
))
QCString
md5
=
computeMd5Signature
(
m_startNode
,
// root
m_graphType
,
// gt
format
,
// format
!
isTBRank
,
// lrRank
m_graphType
==
DotNode
::
Inheritance
,
// renderParent
QMIN
(
m_recDepth
,
m_maxDistance
),
// maxDist
TRUE
// backArrows
);
if
(
checkAndUpdateMd5Signature
(
baseName
,
md5
)
||
!
QFileInfo
(
baseName
+
".map"
).
exists
()
)
{
findMaximalDotGraph
(
m_startNode
,
// root
QMIN
(
m_recDepth
,
m_maxDistance
),
// maxDist
baseName
,
// baseName
thisDir
,
// thisDir
m_graphType
,
// gt
format
,
// format
!
isTBRank
,
// lrRank
m_graphType
==
DotNode
::
Inheritance
,
// renderParents
TRUE
// backArrows
);
if
(
format
==
BITMAP
)
// run dot to create a bitmap image
{
QCString
dotArgs
(
maxCmdLine
);
...
...
@@ -1686,7 +1702,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
baseName
+
".dot"
);
}
if
(
format
==
BITMAP
)
// run dot to create a bitmap image
if
(
format
==
BITMAP
&&
generateImageMap
)
// run dot to create a image map
{
QCString
mapLabel
=
convertNameToFile
(
m_startNode
->
m_label
+
"_"
+
mapName
);
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
...
...
@@ -1879,11 +1895,28 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
if
(
m_inverse
)
mapName
+=
"dep"
;
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
if
(
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
baseName
,
thisDir
,
DotNode
::
Dependency
,
format
,
FALSE
,
FALSE
,
!
m_inverse
)
QCString
md5
=
computeMd5Signature
(
m_startNode
,
// root
DotNode
::
Dependency
,
// gt
format
,
// format
FALSE
,
// lrRank
FALSE
,
// renderParents
QMIN
(
m_recDepth
,
m_maxDistance
),
// maxDist
!
m_inverse
// backArrows
);
if
(
checkAndUpdateMd5Signature
(
baseName
,
md5
)
||
!
QFileInfo
(
baseName
+
".map"
).
exists
()
)
{
findMaximalDotGraph
(
m_startNode
,
// root
QMIN
(
m_recDepth
,
m_maxDistance
),
// maxDist
baseName
,
// baseName
thisDir
,
// thisDir
DotNode
::
Dependency
,
// gt
format
,
// format
FALSE
,
// lrRank
FALSE
,
// renderParents
!
m_inverse
// backArrows
);
if
(
format
==
BITMAP
)
{
// run dot to create a bitmap image
...
...
@@ -1943,7 +1976,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
baseName
+
".dot"
);
}
if
(
format
==
BITMAP
)
if
(
format
==
BITMAP
&&
generateImageMap
)
{
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
...
...
@@ -2045,14 +2078,31 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
QDir
thisDir
;
QCString
baseName
=
m_diskName
+
"_cgraph"
;
//baseName=convertNameToFile(baseName);
QCString
mapName
=
baseName
;
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
if
(
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
baseName
,
thisDir
,
DotNode
::
CallGraph
,
format
,
TRUE
,
FALSE
,
FALSE
))
QCString
md5
=
computeMd5Signature
(
m_startNode
,
// root
DotNode
::
CallGraph
,
// gt
format
,
// format
TRUE
,
// lrRank
FALSE
,
// renderParents
QMIN
(
m_recDepth
,
m_maxDistance
),
// maxDist
FALSE
// backArrows
);
if
(
checkAndUpdateMd5Signature
(
baseName
,
md5
)
||
!
QFileInfo
(
baseName
+
".map"
).
exists
()
)
{
findMaximalDotGraph
(
m_startNode
,
// root
QMIN
(
m_recDepth
,
m_maxDistance
),
// maxDist
baseName
,
// baseName
thisDir
,
// thisDir
DotNode
::
CallGraph
,
// gt
format
,
// format
TRUE
,
// lrRank
FALSE
,
// renderParents
FALSE
// backArrows
);
if
(
format
==
BITMAP
)
{
// run dot to create a bitmap image
...
...
@@ -2108,7 +2158,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
}
}
if
(
format
==
BITMAP
)
if
(
format
==
BITMAP
&&
generateImageMap
)
{
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
...
...
src/doxygen.cpp
View file @
8a5c51f2
...
...
@@ -8155,6 +8155,11 @@ void parseInput()
inheritDocumentation
();
}
// compute the shortest possible names of all files
// without loosing the uniqueness of the file names.
msg
(
"Generating disk names...
\n
"
);
Doxygen
::
inputNameList
.
generateDiskNames
();
msg
(
"Adding source references...
\n
"
);
addSourceReferences
();
...
...
@@ -8269,11 +8274,6 @@ void generateOutput()
msg
(
"Counting data structures...
\n
"
);
countDataStructures
();
// compute the shortest possible names of all files
// without loosing the uniqueness of the file names.
msg
(
"Generating disk names...
\n
"
);
Doxygen
::
inputNameList
.
generateDiskNames
();
msg
(
"Resolving user defined references...
\n
"
);
resolveUserReferences
();
...
...
src/filedef.cpp
View file @
8a5c51f2
...
...
@@ -223,7 +223,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if
(
Config_getBool
(
"SEARCHENGINE"
))
{
Doxygen
::
searchIndex
->
setCurrentDoc
(
pageTitle
,
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
)
);
Doxygen
::
searchIndex
->
setCurrentDoc
(
pageTitle
,
getOutputFileBase
());
Doxygen
::
searchIndex
->
addWord
(
localName
().
lower
());
}
...
...
src/groupdef.cpp
View file @
8a5c51f2
...
...
@@ -427,7 +427,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
if
(
Config_getBool
(
"SEARCHENGINE"
))
{
Doxygen
::
searchIndex
->
setCurrentDoc
(
title
,
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
)
);
Doxygen
::
searchIndex
->
setCurrentDoc
(
title
,
getOutputFileBase
());
Doxygen
::
searchIndex
->
addWord
(
localName
().
lower
());
}
...
...
src/memberdef.cpp
View file @
8a5c51f2
...
...
@@ -817,7 +817,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
// write search index info
if
(
Config_getBool
(
"SEARCHENGINE"
))
{
Doxygen
::
searchIndex
->
setCurrentDoc
(
qualifiedName
(),
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
)
+
"#"
+
anchor
());
Doxygen
::
searchIndex
->
setCurrentDoc
(
qualifiedName
(),
getOutputFileBase
()
,
anchor
());
Doxygen
::
searchIndex
->
addWord
(
localName
().
lower
());
Doxygen
::
searchIndex
->
addWord
(
qualifiedName
().
lower
());
}
...
...
src/namespacedef.cpp
View file @
8a5c51f2
...
...
@@ -263,7 +263,7 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
if
(
Config_getBool
(
"SEARCHENGINE"
))
{
Doxygen
::
searchIndex
->
setCurrentDoc
(
pageTitle
,
getOutputFileBase
()
+
Config_getString
(
"HTML_FILE_EXTENSION"
)
);
Doxygen
::
searchIndex
->
setCurrentDoc
(
pageTitle
,
getOutputFileBase
());
Doxygen
::
searchIndex
->
addWord
(
localName
().
lower
());
}
...
...
src/search.php
View file @
8a5c51f2
...
...
@@ -276,7 +276,7 @@ function main()
$requiredWords
=
array
();
$forbiddenWords
=
array
();
$foundWords
=
array
();
$word
=
strto
lower
(
strtok
(
$query
,
" "
)
);
$word
=
strto
k
(
$query
,
" "
);
while
(
$word
)
// for each word in the search query
{
if
((
$word
{
0
}
==
'+'
))
{
$word
=
substr
(
$word
,
1
);
$requiredWords
[]
=
$word
;
}
...
...
@@ -286,7 +286,7 @@ function main()
$foundWords
[]
=
$word
;
search
(
$file
,
$word
,
$results
);
}
$word
=
strto
lower
(
strtok
(
" "
)
);
$word
=
strto
k
(
" "
);
}
$docs
=
array
();
combine_results
(
$results
,
$docs
);
...
...
src/search_php.h
View file @
8a5c51f2
...
...
@@ -276,7 +276,7 @@
" $requiredWords = array();
\n
"
" $forbiddenWords = array();
\n
"
" $foundWords = array();
\n
"
" $word=strto
lower(strtok($query,
\"
\"
)
);
\n
"
" $word=strto
k($query,
\"
\"
);
\n
"
" while ($word) // for each word in the search query
\n
"
" {
\n
"
" if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; }
\n
"
...
...
@@ -286,7 +286,7 @@
" $foundWords[]=$word;
\n
"
" search($file,$word,$results);
\n
"
" }
\n
"
" $word=strto
lower(strtok(
\"
\"
)
);
\n
"
" $word=strto
k(
\"
\"
);
\n
"
" }
\n
"
" $docs = array();
\n
"
" combine_results($results,$docs);
\n
"
...
...
src/searchindex.cpp
View file @
8a5c51f2
...
...
@@ -17,6 +17,7 @@
#include "qtbc.h"
#include "searchindex.h"
#include "config.h"
#include <qfile.h>
...
...
@@ -59,8 +60,10 @@ SearchIndex::SearchIndex() : m_words(328829), m_index(numIndexEntries), m_urlInd
for
(
i
=
0
;
i
<
numIndexEntries
;
i
++
)
m_index
.
insert
(
i
,
new
QList
<
IndexWord
>
);
}
void
SearchIndex
::
setCurrentDoc
(
const
char
*
name
,
const
char
*
url
)
void
SearchIndex
::
setCurrentDoc
(
const
char
*
name
,
const
char
*
baseName
,
const
char
*
anchor
)
{
QCString
url
=
baseName
+
Config_getString
(
"HTML_FILE_EXTENSION"
);
if
(
anchor
)
url
+=
(
QCString
)
"#"
+
anchor
;
m_urlIndex
++
;
m_urls
.
insert
(
m_urlIndex
,
new
URL
(
name
,
url
));
}
...
...
@@ -84,7 +87,7 @@ void SearchIndex::addWord(const char *word)
int
idx
=
charsToIndex
(
word
);
if
(
idx
<
0
)
return
;
w
=
new
IndexWord
(
word
);
//
printf(
"addWord(%s) at index %d\n",word,idx);
//
fprintf(stderr,
"addWord(%s) at index %d\n",word,idx);
m_index
[
idx
]
->
append
(
w
);
m_words
.
insert
(
word
,
w
);
}
...
...
src/searchindex.h
View file @
8a5c51f2
...
...
@@ -57,7 +57,7 @@ class SearchIndex
{
public
:
SearchIndex
();
void
setCurrentDoc
(
const
char
*
name
,
const
char
*
url
);
void
setCurrentDoc
(
const
char
*
name
,
const
char
*
baseName
,
const
char
*
anchor
=
0
);
void
addWord
(
const
char
*
word
);
void
write
(
const
char
*
file
);
private
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment