add various usefull plugins from vim.org and sourfeforge
@ -0,0 +1,7 @@
|
||||
/INSTALL/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/LICENSE/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/TODO/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/cgi-lib.pl/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/hilite.c/1.1/Fri Jun 29 14:20:16 2001//
|
||||
D/icons////
|
||||
/cscope/1.2/Sun Jan 7 12:34:02 2007//
|
@ -0,0 +1,7 @@
|
||||
/INSTALL////
|
||||
/LICENSE////
|
||||
/TODO////
|
||||
/cgi-lib.pl////
|
||||
/hilite.c////
|
||||
D/icons////
|
||||
/cscope////
|
@ -0,0 +1,7 @@
|
||||
/INSTALL////
|
||||
/LICENSE////
|
||||
/TODO////
|
||||
/cgi-lib.pl////
|
||||
/cscope////
|
||||
/hilite.c////
|
||||
D/icons////
|
@ -0,0 +1,7 @@
|
||||
/INSTALL/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/LICENSE/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/TODO/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/cgi-lib.pl/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/cscope/1.1/Fri Jun 29 14:20:16 2001//
|
||||
/hilite.c/1.1/Fri Jun 29 14:20:16 2001//
|
||||
D/icons////
|
@ -0,0 +1 @@
|
||||
cscope/contrib/webcscope
|
1
vim_plugins_src/cscope-15.7a/contrib/webcscope/CVS/Root
Normal file
@ -0,0 +1 @@
|
||||
:ssh;username=broeker;hostname=cscope.cvs.sourceforge.net:/cvsroot/cscope
|
31
vim_plugins_src/cscope-15.7a/contrib/webcscope/INSTALL
Normal file
@ -0,0 +1,31 @@
|
||||
WebCScope Installation
|
||||
|
||||
Quick Install
|
||||
|
||||
0. Create a directory called cscope under your /cgi-bin (virtual) directory.
|
||||
Copy all the files in the distribution to this directory.
|
||||
|
||||
1. Edit the 'cscope' file and change the following items:
|
||||
- Location to the perl interpreter
|
||||
- Location of the cscope database and other modifiable parameters
|
||||
- Feedback name and email
|
||||
- Location of the syntax highlighter, if you wish to use it
|
||||
|
||||
2. Syntax highlighter
|
||||
- The syntax highlighter must be built if you decide to use it. If you
|
||||
do not want syntax highlighting, you can ignore this step and set the
|
||||
highlighter to /bin/cat.
|
||||
- Compile 'hilite.c' using 'gcc -o hilite hilite.c'
|
||||
|
||||
3. Icons
|
||||
- Copy the images from the icons directory into the /icons (virtual)
|
||||
directory on the web server. You can also replace these images with
|
||||
whatever you choose.
|
||||
|
||||
4. Organizing your CScope databases
|
||||
- WebCScope supports multiple databases in $cscopedir
|
||||
- Create a directory for each project or sub-source in $cscopedir and,
|
||||
generate your cscope database using the following commands.
|
||||
- find /some/source/dir -name '*.[chyls]' -print > cscope.files
|
||||
- cscope -b -q
|
||||
- Repeat the above step for each database you wish to create
|
340
vim_plugins_src/cscope-15.7a/contrib/webcscope/LICENSE
Normal file
@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
5
vim_plugins_src/cscope-15.7a/contrib/webcscope/TODO
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
- Better error checking and the like
|
||||
- Add a more robust cookie mechanism
|
||||
- More efficient way of searching 'all' databases
|
||||
- Fix bugs
|
471
vim_plugins_src/cscope-15.7a/contrib/webcscope/cgi-lib.pl
Normal file
@ -0,0 +1,471 @@
|
||||
# Perl Routines to Manipulate CGI input
|
||||
# cgi-lib@pobox.com
|
||||
# $Id: cgi-lib.pl,v 1.1 2001/06/29 14:20:16 petr Exp $
|
||||
#
|
||||
# Copyright (c) 1993-1999 Steven E. Brenner
|
||||
# Unpublished work.
|
||||
# Permission granted to use and modify this library so long as the
|
||||
# copyright above is maintained, modifications are documented, and
|
||||
# credit is given for any use of the library.
|
||||
#
|
||||
# Thanks are due to many people for reporting bugs and suggestions
|
||||
|
||||
# For more information, see:
|
||||
# http://cgi-lib.stanford.edu/cgi-lib/
|
||||
|
||||
$cgi_lib'version = sprintf("%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/);
|
||||
|
||||
|
||||
# Parameters affecting cgi-lib behavior
|
||||
# User-configurable parameters affecting file upload.
|
||||
$cgi_lib'maxdata = 131072; # maximum bytes to accept via POST - 2^17
|
||||
$cgi_lib'writefiles = 0; # directory to which to write files, or
|
||||
# 0 if files should not be written
|
||||
$cgi_lib'filepre = "cgi-lib"; # Prefix of file names, in directory above
|
||||
|
||||
# Do not change the following parameters unless you have special reasons
|
||||
$cgi_lib'bufsize = 8192; # default buffer size when reading multipart
|
||||
$cgi_lib'maxbound = 100; # maximum boundary length to be encounterd
|
||||
$cgi_lib'headerout = 0; # indicates whether the header has been printed
|
||||
|
||||
|
||||
# ReadParse
|
||||
# Reads in GET or POST data, converts it to unescaped text, and puts
|
||||
# key/value pairs in %in, using "\0" to separate multiple selections
|
||||
|
||||
# Returns >0 if there was input, 0 if there was no input
|
||||
# undef indicates some failure.
|
||||
|
||||
# Now that cgi scripts can be put in the normal file space, it is useful
|
||||
# to combine both the form and the script in one place. If no parameters
|
||||
# are given (i.e., ReadParse returns FALSE), then a form could be output.
|
||||
|
||||
# If a reference to a hash is given, then the data will be stored in that
|
||||
# hash, but the data from $in and @in will become inaccessable.
|
||||
# If a variable-glob (e.g., *cgi_input) is the first parameter to ReadParse,
|
||||
# information is stored there, rather than in $in, @in, and %in.
|
||||
# Second, third, and fourth parameters fill associative arrays analagous to
|
||||
# %in with data relevant to file uploads.
|
||||
|
||||
# If no method is given, the script will process both command-line arguments
|
||||
# of the form: name=value and any text that is in $ENV{'QUERY_STRING'}
|
||||
# This is intended to aid debugging and may be changed in future releases
|
||||
|
||||
sub ReadParse {
|
||||
# Disable warnings as this code deliberately uses local and environment
|
||||
# variables which are preset to undef (i.e., not explicitly initialized)
|
||||
local ($perlwarn);
|
||||
$perlwarn = $^W;
|
||||
$^W = 0;
|
||||
|
||||
local (*in) = shift if @_; # CGI input
|
||||
local (*incfn, # Client's filename (may not be provided)
|
||||
*inct, # Client's content-type (may not be provided)
|
||||
*insfn) = @_; # Server's filename (for spooled files)
|
||||
local ($len, $type, $meth, $errflag, $cmdflag, $got, $name);
|
||||
|
||||
binmode(STDIN); # we need these for DOS-based systems
|
||||
binmode(STDOUT); # and they shouldn't hurt anything else
|
||||
binmode(STDERR);
|
||||
|
||||
# Get several useful env variables
|
||||
$type = $ENV{'CONTENT_TYPE'};
|
||||
$len = $ENV{'CONTENT_LENGTH'};
|
||||
$meth = $ENV{'REQUEST_METHOD'};
|
||||
|
||||
if ($len > $cgi_lib'maxdata) { #'
|
||||
&CgiDie("cgi-lib.pl: Request to receive too much data: $len bytes\n");
|
||||
}
|
||||
|
||||
if (!defined $meth || $meth eq '' || $meth eq 'GET' ||
|
||||
$meth eq 'HEAD' ||
|
||||
$type eq 'application/x-www-form-urlencoded') {
|
||||
local ($key, $val, $i);
|
||||
|
||||
# Read in text
|
||||
if (!defined $meth || $meth eq '') {
|
||||
$in = $ENV{'QUERY_STRING'};
|
||||
$cmdflag = 1; # also use command-line options
|
||||
} elsif($meth eq 'GET' || $meth eq 'HEAD') {
|
||||
$in = $ENV{'QUERY_STRING'};
|
||||
} elsif ($meth eq 'POST') {
|
||||
if (($got = read(STDIN, $in, $len) != $len))
|
||||
{$errflag="Short Read: wanted $len, got $got\n";};
|
||||
} else {
|
||||
&CgiDie("cgi-lib.pl: Unknown request method: $meth\n");
|
||||
}
|
||||
|
||||
@in = split(/[&;]/,$in);
|
||||
push(@in, @ARGV) if $cmdflag; # add command-line parameters
|
||||
|
||||
foreach $i (0 .. $#in) {
|
||||
# Convert plus to space
|
||||
$in[$i] =~ s/\+/ /g;
|
||||
|
||||
# Split into key and value.
|
||||
($key, $val) = split(/=/,$in[$i],2); # splits on the first =.
|
||||
|
||||
# Convert %XX from hex numbers to alphanumeric
|
||||
$key =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
|
||||
$val =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
|
||||
|
||||
# Associate key and value
|
||||
$in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator
|
||||
$in{$key} .= $val;
|
||||
}
|
||||
|
||||
} elsif ($ENV{'CONTENT_TYPE'} =~ m#^multipart/form-data#) {
|
||||
# for efficiency, compile multipart code only if needed
|
||||
$errflag = !(eval <<'END_MULTIPART');
|
||||
|
||||
local ($buf, $boundary, $head, @heads, $cd, $ct, $fname, $ctype, $blen);
|
||||
local ($bpos, $lpos, $left, $amt, $fn, $ser);
|
||||
local ($bufsize, $maxbound, $writefiles) =
|
||||
($cgi_lib'bufsize, $cgi_lib'maxbound, $cgi_lib'writefiles);
|
||||
|
||||
|
||||
# The following lines exist solely to eliminate spurious warning messages
|
||||
$buf = '';
|
||||
|
||||
($boundary) = $type =~ /boundary="([^"]+)"/; #"; # find boundary
|
||||
($boundary) = $type =~ /boundary=(\S+)/ unless $boundary;
|
||||
&CgiDie ("Boundary not provided: probably a bug in your server")
|
||||
unless $boundary;
|
||||
$boundary = "--" . $boundary;
|
||||
$blen = length ($boundary);
|
||||
|
||||
if ($ENV{'REQUEST_METHOD'} ne 'POST') {
|
||||
&CgiDie("Invalid request method for multipart/form-data: $meth\n");
|
||||
}
|
||||
|
||||
if ($writefiles) {
|
||||
local($me);
|
||||
stat ($writefiles);
|
||||
$writefiles = "/tmp" unless -d _ && -w _;
|
||||
# ($me) = $0 =~ m#([^/]*)$#;
|
||||
$writefiles .= "/$cgi_lib'filepre";
|
||||
}
|
||||
|
||||
# read in the data and split into parts:
|
||||
# put headers in @in and data in %in
|
||||
# General algorithm:
|
||||
# There are two dividers: the border and the '\r\n\r\n' between
|
||||
# header and body. Iterate between searching for these
|
||||
# Retain a buffer of size(bufsize+maxbound); the latter part is
|
||||
# to ensure that dividers don't get lost by wrapping between two bufs
|
||||
# Look for a divider in the current batch. If not found, then
|
||||
# save all of bufsize, move the maxbound extra buffer to the front of
|
||||
# the buffer, and read in a new bufsize bytes. If a divider is found,
|
||||
# save everything up to the divider. Then empty the buffer of everything
|
||||
# up to the end of the divider. Refill buffer to bufsize+maxbound
|
||||
# Note slightly odd organization. Code before BODY: really goes with
|
||||
# code following HEAD:, but is put first to 'pre-fill' buffers. BODY:
|
||||
# is placed before HEAD: because we first need to discard any 'preface,'
|
||||
# which would be analagous to a body without a preceeding head.
|
||||
|
||||
$left = $len;
|
||||
PART: # find each part of the multi-part while reading data
|
||||
while (1) {
|
||||
die $@ if $errflag;
|
||||
|
||||
$amt = ($left > $bufsize+$maxbound-length($buf)
|
||||
? $bufsize+$maxbound-length($buf): $left);
|
||||
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
|
||||
die "Short Read: wanted $amt, got $got\n" if $errflag;
|
||||
$left -= $amt;
|
||||
|
||||
$in{$name} .= "\0" if defined $in{$name};
|
||||
$in{$name} .= $fn if $fn;
|
||||
|
||||
$name=~/([-\w]+)/; # This allows $insfn{$name} to be untainted
|
||||
if (defined $1) {
|
||||
$insfn{$1} .= "\0" if defined $insfn{$1};
|
||||
$insfn{$1} .= $fn if $fn;
|
||||
}
|
||||
|
||||
BODY:
|
||||
while (($bpos = index($buf, $boundary)) == -1) {
|
||||
if ($left == 0 && $buf eq '') {
|
||||
foreach $value (values %insfn) {
|
||||
unlink(split("\0",$value));
|
||||
}
|
||||
&CgiDie("cgi-lib.pl: reached end of input while seeking boundary " .
|
||||
"of multipart. Format of CGI input is wrong.\n");
|
||||
}
|
||||
die $@ if $errflag;
|
||||
if ($name) { # if no $name, then it's the prologue -- discard
|
||||
if ($fn) { print FILE substr($buf, 0, $bufsize); }
|
||||
else { $in{$name} .= substr($buf, 0, $bufsize); }
|
||||
}
|
||||
$buf = substr($buf, $bufsize);
|
||||
$amt = ($left > $bufsize ? $bufsize : $left); #$maxbound==length($buf);
|
||||
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
|
||||
die "Short Read: wanted $amt, got $got\n" if $errflag;
|
||||
$left -= $amt;
|
||||
}
|
||||
if (defined $name) { # if no $name, then it's the prologue -- discard
|
||||
if ($fn) { print FILE substr($buf, 0, $bpos-2); }
|
||||
else { $in {$name} .= substr($buf, 0, $bpos-2); } # kill last \r\n
|
||||
}
|
||||
close (FILE);
|
||||
last PART if substr($buf, $bpos + $blen, 2) eq "--";
|
||||
substr($buf, 0, $bpos+$blen+2) = '';
|
||||
$amt = ($left > $bufsize+$maxbound-length($buf)
|
||||
? $bufsize+$maxbound-length($buf) : $left);
|
||||
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
|
||||
die "Short Read: wanted $amt, got $got\n" if $errflag;
|
||||
$left -= $amt;
|
||||
|
||||
|
||||
undef $head; undef $fn;
|
||||
HEAD:
|
||||
while (($lpos = index($buf, "\r\n\r\n")) == -1) {
|
||||
if ($left == 0 && $buf eq '') {
|
||||
foreach $value (values %insfn) {
|
||||
unlink(split("\0",$value));
|
||||
}
|
||||
&CgiDie("cgi-lib: reached end of input while seeking end of " .
|
||||
"headers. Format of CGI input is wrong.\n$buf");
|
||||
}
|
||||
die $@ if $errflag;
|
||||
$head .= substr($buf, 0, $bufsize);
|
||||
$buf = substr($buf, $bufsize);
|
||||
$amt = ($left > $bufsize ? $bufsize : $left); #$maxbound==length($buf);
|
||||
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
|
||||
die "Short Read: wanted $amt, got $got\n" if $errflag;
|
||||
$left -= $amt;
|
||||
}
|
||||
$head .= substr($buf, 0, $lpos+2);
|
||||
push (@in, $head);
|
||||
@heads = split("\r\n", $head);
|
||||
($cd) = grep (/^\s*Content-Disposition:/i, @heads);
|
||||
($ct) = grep (/^\s*Content-Type:/i, @heads);
|
||||
|
||||
($name) = $cd =~ /\bname="([^"]+)"/i; #";
|
||||
($name) = $cd =~ /\bname=([^\s:;]+)/i unless defined $name;
|
||||
|
||||
($fname) = $cd =~ /\bfilename="([^"]*)"/i; #"; # filename can be null-str
|
||||
($fname) = $cd =~ /\bfilename=([^\s:;]+)/i unless defined $fname;
|
||||
$incfn{$name} .= (defined $in{$name} ? "\0" : "") .
|
||||
(defined $fname ? $fname : "");
|
||||
|
||||
($ctype) = $ct =~ /^\s*Content-type:\s*"([^"]+)"/i; #";
|
||||
($ctype) = $ct =~ /^\s*Content-Type:\s*([^\s:;]+)/i unless defined $ctype;
|
||||
$inct{$name} .= (defined $in{$name} ? "\0" : "") . $ctype;
|
||||
|
||||
if ($writefiles && defined $fname) {
|
||||
$ser++;
|
||||
$fn = $writefiles . ".$$.$ser";
|
||||
open (FILE, ">$fn") || &CgiDie("Couldn't open $fn\n");
|
||||
binmode (FILE); # write files accurately
|
||||
}
|
||||
substr($buf, 0, $lpos+4) = '';
|
||||
undef $fname;
|
||||
undef $ctype;
|
||||
}
|
||||
|
||||
1;
|
||||
END_MULTIPART
|
||||
if ($errflag) {
|
||||
local ($errmsg, $value);
|
||||
$errmsg = $@ || $errflag;
|
||||
foreach $value (values %insfn) {
|
||||
unlink(split("\0",$value));
|
||||
}
|
||||
&CgiDie($errmsg);
|
||||
} else {
|
||||
# everything's ok.
|
||||
}
|
||||
} else {
|
||||
&CgiDie("cgi-lib.pl: Unknown Content-type: $ENV{'CONTENT_TYPE'}\n");
|
||||
}
|
||||
|
||||
# no-ops to avoid warnings
|
||||
$insfn = $insfn;
|
||||
$incfn = $incfn;
|
||||
$inct = $inct;
|
||||
|
||||
$^W = $perlwarn;
|
||||
|
||||
return ($errflag ? undef : scalar(@in));
|
||||
}
|
||||
|
||||
|
||||
# PrintHeader
|
||||
# Returns the magic line which tells WWW that we're an HTML document
|
||||
|
||||
sub PrintHeader {
|
||||
return "Content-type: text/html\n\n";
|
||||
}
|
||||
|
||||
|
||||
# HtmlTop
|
||||
# Returns the <head> of a document and the beginning of the body
|
||||
# with the title and a body <h1> header as specified by the parameter
|
||||
|
||||
sub HtmlTop
|
||||
{
|
||||
local ($title) = @_;
|
||||
|
||||
return <<END_OF_TEXT;
|
||||
<html>
|
||||
<head>
|
||||
<title>$title</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>$title</h1>
|
||||
END_OF_TEXT
|
||||
}
|
||||
|
||||
|
||||
# HtmlBot
|
||||
# Returns the </body>, </html> codes for the bottom of every HTML page
|
||||
|
||||
sub HtmlBot
|
||||
{
|
||||
return "</body>\n</html>\n";
|
||||
}
|
||||
|
||||
|
||||
# SplitParam
|
||||
# Splits a multi-valued parameter into a list of the constituent parameters
|
||||
|
||||
sub SplitParam
|
||||
{
|
||||
local ($param) = @_;
|
||||
local (@params) = split ("\0", $param);
|
||||
return (wantarray ? @params : $params[0]);
|
||||
}
|
||||
|
||||
|
||||
# MethGet
|
||||
# Return true if this cgi call was using the GET request, false otherwise
|
||||
|
||||
sub MethGet {
|
||||
return (defined $ENV{'REQUEST_METHOD'} && $ENV{'REQUEST_METHOD'} eq "GET");
|
||||
}
|
||||
|
||||
|
||||
# MethPost
|
||||
# Return true if this cgi call was using the POST request, false otherwise
|
||||
|
||||
sub MethPost {
|
||||
return (defined $ENV{'REQUEST_METHOD'} && $ENV{'REQUEST_METHOD'} eq "POST");
|
||||
}
|
||||
|
||||
|
||||
# MyBaseUrl
|
||||
# Returns the base URL to the script (i.e., no extra path or query string)
|
||||
sub MyBaseUrl {
|
||||
local ($ret, $perlwarn);
|
||||
$perlwarn = $^W; $^W = 0;
|
||||
$ret = 'http://' . $ENV{'SERVER_NAME'} .
|
||||
($ENV{'SERVER_PORT'} != 80 ? ":$ENV{'SERVER_PORT'}" : '') .
|
||||
$ENV{'SCRIPT_NAME'};
|
||||
$^W = $perlwarn;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# MyFullUrl
|
||||
# Returns the full URL to the script (i.e., with extra path or query string)
|
||||
sub MyFullUrl {
|
||||
local ($ret, $perlwarn);
|
||||
$perlwarn = $^W; $^W = 0;
|
||||
$ret = 'http://' . $ENV{'SERVER_NAME'} .
|
||||
($ENV{'SERVER_PORT'} != 80 ? ":$ENV{'SERVER_PORT'}" : '') .
|
||||
$ENV{'SCRIPT_NAME'} . $ENV{'PATH_INFO'} .
|
||||
(length ($ENV{'QUERY_STRING'}) ? "?$ENV{'QUERY_STRING'}" : '');
|
||||
$^W = $perlwarn;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# MyURL
|
||||
# Returns the base URL to the script (i.e., no extra path or query string)
|
||||
# This is obsolete and will be removed in later versions
|
||||
sub MyURL {
|
||||
return &MyBaseUrl;
|
||||
}
|
||||
|
||||
|
||||
# CgiError
|
||||
# Prints out an error message which which containes appropriate headers,
|
||||
# markup, etcetera.
|
||||
# Parameters:
|
||||
# If no parameters, gives a generic error message
|
||||
# Otherwise, the first parameter will be the title and the rest will
|
||||
# be given as different paragraphs of the body
|
||||
|
||||
sub CgiError {
|
||||
local (@msg) = @_;
|
||||
local ($i,$name);
|
||||
|
||||
if (!@msg) {
|
||||
$name = &MyFullUrl;
|
||||
@msg = ("Error: script $name encountered fatal error\n");
|
||||
};
|
||||
|
||||
if (!$cgi_lib'headerout) { #')
|
||||
print &PrintHeader;
|
||||
print "<html>\n<head>\n<title>$msg[0]</title>\n</head>\n<body>\n";
|
||||
}
|
||||
print "<h1>$msg[0]</h1>\n";
|
||||
foreach $i (1 .. $#msg) {
|
||||
print "<p>$msg[$i]</p>\n";
|
||||
}
|
||||
|
||||
$cgi_lib'headerout++;
|
||||
}
|
||||
|
||||
|
||||
# CgiDie
|
||||
# Identical to CgiError, but also quits with the passed error message.
|
||||
|
||||
sub CgiDie {
|
||||
local (@msg) = @_;
|
||||
&CgiError (@msg);
|
||||
die @msg;
|
||||
}
|
||||
|
||||
|
||||
# PrintVariables
|
||||
# Nicely formats variables. Three calling options:
|
||||
# A non-null associative array - prints the items in that array
|
||||
# A type-glob - prints the items in the associated assoc array
|
||||
# nothing - defaults to use %in
|
||||
# Typical use: &PrintVariables()
|
||||
|
||||
sub PrintVariables {
|
||||
local (*in) = @_ if @_ == 1;
|
||||
local (%in) = @_ if @_ > 1;
|
||||
local ($out, $key, $output);
|
||||
|
||||
$output = "\n<dl compact>\n";
|
||||
foreach $key (sort keys(%in)) {
|
||||
foreach (split("\0", $in{$key})) {
|
||||
($out = $_) =~ s/\n/<br>\n/g;
|
||||
$output .= "<dt><b>$key</b>\n <dd>:<i>$out</i>:<br>\n";
|
||||
}
|
||||
}
|
||||
$output .= "</dl>\n";
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
# PrintEnv
|
||||
# Nicely formats all environment variables and returns HTML string
|
||||
sub PrintEnv {
|
||||
&PrintVariables(*ENV);
|
||||
}
|
||||
|
||||
|
||||
# The following lines exist only to avoid warning messages
|
||||
$cgi_lib'writefiles = $cgi_lib'writefiles;
|
||||
$cgi_lib'bufsize = $cgi_lib'bufsize ;
|
||||
$cgi_lib'maxbound = $cgi_lib'maxbound;
|
||||
$cgi_lib'version = $cgi_lib'version;
|
||||
$cgi_lib'filepre = $cgi_lib'filepre;
|
||||
|
||||
1; #return true
|
||||
|
450
vim_plugins_src/cscope-15.7a/contrib/webcscope/cscope
Normal file
@ -0,0 +1,450 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# $Id: cscope,v 1.2 2007/01/07 12:34:01 broeker Exp $
|
||||
#
|
||||
# WebCscope: A web interface to the cscope application
|
||||
# Copyright (C) 2001, Ragho Mahalingam <ragho@mahalingam.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# Change History:
|
||||
#
|
||||
# $Log: cscope,v $
|
||||
# Revision 1.2 2007/01/07 12:34:01 broeker
|
||||
# Direct attention to security issues with webcscope.
|
||||
#
|
||||
# Revision 1.1 2001/06/29 14:20:16 petr
|
||||
# Added webcscope to contribs.
|
||||
#
|
||||
# Revision 1.3.4.1 2001/02/05 15:14:34 rmahalin
|
||||
# initial release with some bug fixes
|
||||
#
|
||||
# Revision 1.3.3.1 2001/01/22 22:21:23 rmahalin
|
||||
# added multi-database support
|
||||
# fixed cookie support for trivial functions; removed global trivials
|
||||
# added syntax highlighting for files displayed on browser
|
||||
#
|
||||
# Revision 1.3.1.1 2001/01/11 22:17:30 rmahalin
|
||||
# added direct download with mime-type 'text/c-source' and made cosmetic changes
|
||||
#
|
||||
# Revision 1.3 2001/01/11 21:36:39 rmahalin
|
||||
# *** empty log message ***
|
||||
#
|
||||
# Revision 1.2 2001/01/11 21:34:13 rmahalin
|
||||
# incorporated draft feedback changes
|
||||
#
|
||||
# Revision 1.1 2001/01/11 21:19:32 rmahalin
|
||||
# Initial revision
|
||||
#
|
||||
|
||||
require "cgi-lib.pl";
|
||||
|
||||
# current code version being used
|
||||
$version = "iSOS 2.5/int16";
|
||||
# full path to the cscope binary
|
||||
$cscopecmd = "/usr/global/bin/cscope";
|
||||
# cscope working directory, where all the in/out and db files are stored
|
||||
$cscopedir = "/usr/local/cscope";
|
||||
# trivial functions not to display, one per line in the trivs file
|
||||
$trivs = "/usr/local/htdocs/cscope/trivials";
|
||||
# temporary storage directory
|
||||
$tmpdir = "/tmp";
|
||||
$tmpinfile = $tmpdir . "/cscopein.$$";
|
||||
$tmpoutfile = $tmpdir . "/cscopeout.$$";
|
||||
$showfile = $tmpdir . "/showfile.$$";
|
||||
# C syntax highlighting application or uncomment the line beneath to just cat
|
||||
#$hiliter = "/bin/cat";
|
||||
$hiliter = "/usr/local/cgi-bin/cscope/hilite";
|
||||
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time+1000000);
|
||||
$cookie_exp = sprintf("%s %02d-%s-%s %02d:%02d:%02d GMT", $wday, $mday, $mon, $year, $hour, $min, $sec);
|
||||
|
||||
# standard images, from the apache distribution
|
||||
$img{openfile} = "/icons/folder.gif";
|
||||
$img{downloadfile} = "/icons/folder.open.gif";
|
||||
$img{csymbol} = "/icons/c.gif";
|
||||
$img{upfunc} = "/icons/up.gif";
|
||||
$img{downfunc} = "/icons/down.gif";
|
||||
$img{globalfunc} = "/icons/world2.gif";
|
||||
$img{trashfunc} = "/icons/bomb.gif";
|
||||
$img{untrashfunc} = "/icons/back.gif";
|
||||
$img{back} = "/icons/left.gif";
|
||||
|
||||
# feedback details
|
||||
$comment{name} = "Ragho Mahalingam";
|
||||
$comment{email} = "ragho\@mahalingam.com";
|
||||
|
||||
# operations allowed
|
||||
@oper = ( "Find this C symbol",
|
||||
"Find this global symbol",
|
||||
"Find functions called by",
|
||||
"Find functions calling",
|
||||
"Find this text string",
|
||||
"---------------------",
|
||||
"Find this egrep pattern",
|
||||
"Find this file",
|
||||
"Find files #including this file" );
|
||||
|
||||
# -- removed global trivial function list in favor of customized trivials
|
||||
#open(TRIVIAL_FUNC, $trivs);
|
||||
#@trivial = <TRIVIAL_FUNC>;
|
||||
#close(TRIVIAL_FUNC);
|
||||
@trivial = ();
|
||||
|
||||
MAIN:
|
||||
|
||||
{
|
||||
$starttime = time;
|
||||
|
||||
if (&ReadParse(*input)) {
|
||||
&ProcessCookie;
|
||||
&ProcessForm;
|
||||
} else {
|
||||
&PrintForm;
|
||||
}
|
||||
}
|
||||
|
||||
sub ProcessCookie {
|
||||
|
||||
if ( defined $ENV{HTTP_COOKIE} ) {
|
||||
($var, $val) = split('=',$ENV{HTTP_COOKIE});
|
||||
$Cookie{$var} = $val;
|
||||
if ( defined $Cookie{'cs-trivf'} ) {
|
||||
# do nothing, else initialize it to null
|
||||
} else {
|
||||
$Cookie{'cs-trivf'} = "defined";
|
||||
}
|
||||
@loc_trivial = split(',', $Cookie{'cs-trivf'});
|
||||
@trivial = ( @loc_trivial );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
sub ProcessTrashForm {
|
||||
|
||||
if ( defined $input{'trash'} ) {
|
||||
@trivial = (@trivial, $input{'func'});
|
||||
} else {
|
||||
@tmptriv = ();
|
||||
for ($i=0; $i <= $#trivial; $i++) {
|
||||
$fhash = unpack('H*', $input{'func'});
|
||||
$thash = unpack('H*', $trivial[$i]);
|
||||
if ( $fhash != $thash ) {
|
||||
@tmptriv = ( @tmptriv, $trivial[$i] );
|
||||
}
|
||||
}
|
||||
@trivial = @tmptriv;
|
||||
}
|
||||
|
||||
$Cookie{'cs-trivf'} = join(',',@trivial);
|
||||
|
||||
print "Content-type: text/html\n";
|
||||
print "Set-Cookie: cs-trivf=$Cookie{'cs-trivf'}; path=$ENV{SCRIPT_NAME}; expires $cookie_exp\n\n";
|
||||
print &HtmlTop("Your WebCScope Trivial Functions");
|
||||
print "<ul>";
|
||||
for ($i=0; $i <= $#trivial; $i++) {
|
||||
print "<li><a href=\"$ENV{SCRIPT_NAME}?untrash=&func=$trivial[$i]\"><img src=$img{untrashfunc} border=0></a> $trivial[$i]";
|
||||
}
|
||||
print "</ul><hr>\n";
|
||||
print "Click <a href=\"#\" onClick=\"history.back();\"><img src=$img{back} border=0></a> to go back.\n";
|
||||
print &HtmlBot;
|
||||
|
||||
}
|
||||
|
||||
sub ProcessForm {
|
||||
|
||||
chdir $cscopedir;
|
||||
opendir(DIRLIST,$cscopedir);
|
||||
@dirlist = readdir(DIRLIST);
|
||||
closedir(DIRLIST);
|
||||
|
||||
if ( $input{'db'} eq "all" ) {
|
||||
@csdirs = ();
|
||||
for ($i=0; $i <= $#dirlist; $i++ ) {
|
||||
if ( ($dirlist[$i] ne ".") && ($dirlist[$i] ne "..") && ( -d $dirlist[$i] ) ) {
|
||||
@csdirs = ( @csdirs, $dirlist[$i] );
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@csdirs = ( $input{'db'} );
|
||||
}
|
||||
|
||||
$op = $input{'op'};
|
||||
$arg = $input{'arg'};
|
||||
$shtriv = $input{'triv'};
|
||||
$db = $input{'db'};
|
||||
|
||||
if ( defined $input{'fshow'} ) { &ShowFileForm; exit; }
|
||||
if ( defined $input{'load'} ) { &DownloadFileForm; exit; }
|
||||
if ( (defined $input{'trash'}) || (defined $input{'untrash'}) ) {
|
||||
&ProcessTrashForm; exit; }
|
||||
|
||||
print &PrintHeader;
|
||||
print &HtmlTop ("WebCscope");
|
||||
print <<ENDOFHDR;
|
||||
<h3>Instructions</h3><p>
|
||||
<ul>
|
||||
<li><img src=$img{csymbol}> will find a symbol with this name<br>
|
||||
<li><img src=$img{upfunc}> will find functions <i>calling</i> this function<br>
|
||||
<li><img src=$img{downfunc}> will find functions <i>called</i> by this
|
||||
function<br>
|
||||
<li><img src=$img{globalfunc}> will locate a global definition of this name<br>
|
||||
<li><img src=$img{openfile}> will display this file and highlight
|
||||
the fragment line<br>
|
||||
<li><img src=$img{downloadfile}> will download this file with mimetype "text/c-source"<br>
|
||||
<li><img src=$img{trashfunc}> will add this symbol/function to your trivial list<br>
|
||||
</ul>
|
||||
<p><hr>
|
||||
ENDOFHDR
|
||||
|
||||
foreach $index ( 0 .. $#csdirs ) {
|
||||
|
||||
unlink $tmpinfile, $tmpoutfile;
|
||||
open(CSCOPEIN, ">$tmpinfile");
|
||||
print CSCOPEIN "$op$arg\n";
|
||||
print CSCOPEIN "exit\n";
|
||||
close(CSCOPEIN);
|
||||
|
||||
$dbdir = $cscopedir . "/" . $csdirs[$index];
|
||||
chdir($dbdir);
|
||||
|
||||
$syscmd = "cd $dbdir; $cscopecmd -d -l < $tmpinfile > $tmpoutfile;";
|
||||
system($syscmd);
|
||||
|
||||
$count = 1;
|
||||
open(CSCOPEIN, "$tmpoutfile");
|
||||
|
||||
$line = <CSCOPEIN>;
|
||||
@temp = split(' ',$line);
|
||||
$numresult = $temp[2];
|
||||
|
||||
print <<ENDOFHDRs;
|
||||
<h2>Search Results from <b>$csdirs[$index]</b></h2>
|
||||
<font size=+1>$oper[$op]: <b>$arg</b></font><br>
|
||||
Matches: $numresult<p>
|
||||
<table border=1 cellpadding=2 cellspacing=2>
|
||||
<tr><td><b>Num</b></td><td><b>File</b></td><td><b>Function</b></td>
|
||||
<td><b>Line</b></td><td><b>Fragment</b></td></tr>
|
||||
ENDOFHDRs
|
||||
|
||||
$trivs_rm = 0;
|
||||
|
||||
for ($i=0; $i < $numresult; $i++ ) {
|
||||
$line = <CSCOPEIN>;
|
||||
@fields = split(' ',$line);
|
||||
$file = shift @fields;
|
||||
$fshowfile = $file;
|
||||
$func = shift @fields;
|
||||
$lnum = shift @fields;
|
||||
@filef = split('/',$file);
|
||||
$file = $filef[$#filef];
|
||||
$frag = join(' ',@fields);
|
||||
|
||||
if ( ! $shtriv ) {
|
||||
for ( $j=0; $j <= $#trivial; $j++ )
|
||||
{
|
||||
$fhash = unpack('H*', $func);
|
||||
$thash = unpack('H*', $trivial[$j]);
|
||||
if ( $fhash == $thash ) { $trivs_rm++; goto done; }
|
||||
}
|
||||
}
|
||||
|
||||
if ( $func ne "<global>" && $func ne "<unknown>" ) {
|
||||
print <<ENDOFBODY1;
|
||||
<tr><td>$count</td>
|
||||
<td><a href="$ENV{SCRIPT_NAME}?fshow=1&fshowfile=$fshowfile&line=$lnum&db=$db">
|
||||
<img src=$img{openfile} border=0></a> $file
|
||||
<a href="$ENV{SCRIPT_NAME}?load=1&file=$fshowfile&db=$db">
|
||||
<img src=$img{downloadfile} border=0></a>
|
||||
</td>
|
||||
<td><a href="$ENV{SCRIPT_NAME}?op=0&triv=$shtriv&arg=$func&db=$db">
|
||||
<img src=$img{csymbol} border=0></a>
|
||||
<a href="$ENV{SCRIPT_NAME}?op=3&triv=$shtriv&arg=$func&db=$db">
|
||||
<img src=$img{upfunc} border=0></a>
|
||||
$func
|
||||
<a href="$ENV{SCRIPT_NAME}?op=2&triv=$shtriv&arg=$func&db=$db">
|
||||
<img src=$img{downfunc} border=0></a>
|
||||
<a href="$ENV{SCRIPT_NAME}?op=1&triv=$shtriv&arg=$func&db=$db">
|
||||
<img src=$img{globalfunc} border=0></a>
|
||||
<a href="$ENV{SCRIPT_NAME}?trash=&func=$func&db=$db">
|
||||
<img src=$img{trashfunc} border=0></a>
|
||||
</td>
|
||||
<td>$lnum</td>
|
||||
<td>$frag</td></tr>
|
||||
ENDOFBODY1
|
||||
|
||||
} else {
|
||||
$func =~ tr/<>/[]/;
|
||||
print <<ENDOFBODY2;
|
||||
<tr><td>$count</td>
|
||||
<td><a href="$ENV{SCRIPT_NAME}?fshow=1&fshowfile=$fshowfile&line=$lnum&db=$db">
|
||||
<img src=$img{openfile} border=0></a> $file
|
||||
<a href="$ENV{SCRIPT_NAME}?load=1&file=$fshowfile&db=$db">
|
||||
<img src=$img{downloadfile} border=0></a>
|
||||
</td>
|
||||
<td>$func</td>
|
||||
<td>$lnum</td>
|
||||
<td><$frag</td></tr>
|
||||
ENDOFBODY2
|
||||
|
||||
}
|
||||
|
||||
$count++;
|
||||
done:
|
||||
|
||||
}
|
||||
|
||||
close(CSCOPEIN);
|
||||
print "</table>\n";
|
||||
print "<br>Eliminated $trivs_rm line item(s) as trivial functions<p><hr>\n";
|
||||
unlink $tmpinfile, $tmpoutfile;
|
||||
|
||||
}
|
||||
|
||||
print &OperationTime;
|
||||
print &Feedback;
|
||||
print &HtmlBot;
|
||||
|
||||
}
|
||||
|
||||
sub DownloadFileForm {
|
||||
$file = $input{'file'};
|
||||
print "Content-type: text/c-source\n\n";
|
||||
open(SHOWFILE, $file);
|
||||
while (<SHOWFILE>) { print; }
|
||||
close(SHOWFILE);
|
||||
}
|
||||
|
||||
sub ShowFileForm {
|
||||
|
||||
$file = $input{'fshowfile'};
|
||||
$lnum = $input{'line'};
|
||||
|
||||
print &PrintHeader;
|
||||
print &HtmlTop ("WebCscope");
|
||||
print "<b>Note</b>: Click <a href=#ref><img src=$img{downfunc} border=0></a> to go to the reference line<p><hr>\n";
|
||||
print "<hr>";
|
||||
|
||||
unlink $showfile;
|
||||
system("$hiliter $file > $showfile");
|
||||
open(SHOWFILE, $showfile);
|
||||
|
||||
$curline = 1;
|
||||
while ( <SHOWFILE> ) {
|
||||
$line = $_;
|
||||
if ( $curline == $lnum ) {
|
||||
print "<a name=ref><blink>$line</blink>";
|
||||
} else {
|
||||
print $line;
|
||||
}
|
||||
$curline++;
|
||||
}
|
||||
|
||||
close (SHOWFILE);
|
||||
|
||||
|
||||
|
||||
print &OperationTime;
|
||||
print &Feedback;
|
||||
print &HtmlBot;
|
||||
}
|
||||
|
||||
sub PrintForm {
|
||||
|
||||
chdir $cscopedir;
|
||||
opendir(DIRLIST,$cscopedir);
|
||||
@dirlist = readdir(DIRLIST);
|
||||
closedir(DIRLIST);
|
||||
|
||||
@csdirs = ();
|
||||
for ($i=0; $i <= $#dirlist; $i++ ) {
|
||||
if ( ($dirlist[$i] ne ".") && ($dirlist[$i] ne "..") && ( -d $dirlist[$i] ) ) {
|
||||
@csdirs = ( @csdirs, $dirlist[$i] );
|
||||
}
|
||||
}
|
||||
|
||||
print &PrintHeader;
|
||||
print &HtmlTop ("Web-CScope");
|
||||
|
||||
print <<ENDOFTEXTA;
|
||||
<p style="color:red">Be aware that this webfrontend is insecure and allows viewing ALL apache readable files, including your configuration!</p>
|
||||
Select an operation below and enter a symbol, function or text to search in
|
||||
the database. The active version is $version. Input is case-sensitive,
|
||||
so if your search returns no results, check the case and the symbol name.<hr>
|
||||
<form method="get" action="$ENV{SCRIPT_NAME}">
|
||||
<table border=0 cellpadding=2 cellspacing=2>
|
||||
<tr>
|
||||
<td>Operation:</td>
|
||||
<td>
|
||||
<select name="op">
|
||||
ENDOFTEXTA
|
||||
|
||||
foreach $opi ( 0 .. $#oper ) {
|
||||
print "<option value=$opi>$oper[$opi]";
|
||||
}
|
||||
|
||||
print <<ENDOFTEXTB;
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CScope Database:</td>
|
||||
<td>
|
||||
<select name="db">
|
||||
<option selected value="all">All Databases
|
||||
ENDOFTEXTB
|
||||
|
||||
for ($i=0; $i <= $#csdirs; $i++) {
|
||||
print " <option value=\"$csdirs[$i]\">$csdirs[$i]\n";
|
||||
}
|
||||
|
||||
print <<ENDOFTEXT2;
|
||||
</select>
|
||||
<tr>
|
||||
<td>Symbol, function or text:</td>
|
||||
<td><input name="arg" size=30></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td halign=center>Show trivial functions:
|
||||
<input type=radio name="triv" value=1>Yes
|
||||
<input type=radio name="triv" value=0 checked>No
|
||||
<br><br>
|
||||
<input type="submit" value="Scope It!"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
</form>
|
||||
ENDOFTEXT2
|
||||
|
||||
print &Feedback;
|
||||
print &HtmlBot;
|
||||
}
|
||||
|
||||
sub Feedback {
|
||||
|
||||
$feedback = "<font size=-1>";
|
||||
$feedback .= '$Id: cscope,v 1.2 2007/01/07 12:34:01 broeker Exp $<br>';
|
||||
$feedback .= "$comment{name}<i><";
|
||||
$feedback .= "<a href=\"mailto:$comment{email}\">";
|
||||
$feedback .= "$comment{email}</a>></i></font>";
|
||||
return $feedback;
|
||||
}
|
||||
|
||||
sub OperationTime {
|
||||
|
||||
$deltime = time - $starttime;
|
||||
return "Operation took $deltime second(s)<br>";
|
||||
|
||||
}
|
360
vim_plugins_src/cscope-15.7a/contrib/webcscope/hilite.c
Normal file
@ -0,0 +1,360 @@
|
||||
/*
|
||||
CopyRight (C) 1999, Dmitry Obukhov, dso@usa.net
|
||||
mailto: dso@usa.net
|
||||
http://www.EmbeddedStuff.com
|
||||
|
||||
----------------------------------------------
|
||||
Last modified 6 Apr 97
|
||||
----------------------------------------------
|
||||
Converts C (C++) source to HTML code fragment
|
||||
with syntax highlighting.
|
||||
Since program written for personal purpose
|
||||
the <TABLE> tags generated. This is optional
|
||||
page format specific thing.
|
||||
|
||||
Usage: CTHM <input_file>. All output is done
|
||||
to STDOUTPUT, error messages to STDERR.
|
||||
For HTML fragment generation:
|
||||
CHTM file.c > file.htm
|
||||
|
||||
- Some input convertion required to use this
|
||||
code as CGI module. Will be done soon.
|
||||
- Optimization required for blocks of EOL
|
||||
comments
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// ------------------- Decoding status values
|
||||
|
||||
#define START 0
|
||||
#define INLINE 1
|
||||
#define DEFINE 2
|
||||
// ------------------- Decoding Remark
|
||||
#define REM1 20
|
||||
#define REM2 21
|
||||
#define REM_END 22
|
||||
#define REM_STAR 23
|
||||
#define REM_STAR_1 24
|
||||
#define STRING 25 // String is "like" remark
|
||||
|
||||
|
||||
// ------------------- HTML TAG Generation
|
||||
#define ON 1
|
||||
#define OFF 0
|
||||
|
||||
// ------------------- HTML TAG type
|
||||
#define MODE_KEYWORD 0
|
||||
#define MODE_REMARK 2
|
||||
#define MODE_REMARK_EOL 4
|
||||
#define MODE_DEFINE 6
|
||||
#define MODE_STRING 8
|
||||
|
||||
|
||||
int is_delimeter(char c)
|
||||
{
|
||||
int ii=0;
|
||||
char dlms[] =
|
||||
"\t\r\n (){}[]+-*/%\"'&|^~:;<>.,";
|
||||
//--------------------------------
|
||||
while (dlms[ii])
|
||||
{
|
||||
if (c==dlms[ii++]) return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_keyword(char * str)
|
||||
{
|
||||
char * kwords[] =
|
||||
{
|
||||
"asm", "auto",
|
||||
"break", "case",
|
||||
"cdecl", "char",
|
||||
"class", "const",
|
||||
"continue", "default",
|
||||
"delete", "do",
|
||||
"double", "else",
|
||||
"enum", "extern",
|
||||
"far", "float",
|
||||
"for", "friend",
|
||||
"goto", "huge",
|
||||
"if", "inline",
|
||||
"int", "interrupt",
|
||||
"long", "near",
|
||||
"new", "operator",
|
||||
"pascal", "private",
|
||||
"protected", "public",
|
||||
"register", "return",
|
||||
"short", "signed",
|
||||
"sizeof", "static",
|
||||
"struct", "switch",
|
||||
"template", "this",
|
||||
"typedef", "union",
|
||||
"unsigned", "virtual",
|
||||
"void", "volatile",
|
||||
"while", NULL
|
||||
};
|
||||
int ii=0;
|
||||
int jj;
|
||||
int check;
|
||||
|
||||
while (kwords[ii])
|
||||
{
|
||||
jj = 0;
|
||||
check = 1;
|
||||
while (kwords[ii][jj] && check)
|
||||
{
|
||||
if (str[jj] != kwords[ii][jj])
|
||||
{
|
||||
check = 0;
|
||||
}
|
||||
jj++;
|
||||
}
|
||||
if (check) return 1;
|
||||
ii++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void set_mode(int on_off, int mode)
|
||||
{
|
||||
char * tags[] =
|
||||
{
|
||||
//-------------------- KEYWORD
|
||||
"<strong>",
|
||||
"</strong>",
|
||||
//-------------------- Classic remarks
|
||||
"<font color=\"#336600\">",
|
||||
"</font>",
|
||||
//-------------------- EOL Remarks
|
||||
"<font color=\"#336600\">",
|
||||
"</font>",
|
||||
//-------------------- #DEFINE
|
||||
"<font color=\"#663300\"><strong>",
|
||||
"</strong></font>",
|
||||
//-------------------- "string"
|
||||
"<font color=\"#0000CC\">",
|
||||
"</font>",
|
||||
NULL, NULL
|
||||
};
|
||||
fprintf(stdout,tags[mode + 1 - on_off]);
|
||||
}
|
||||
|
||||
void print_char_html(char c)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case '<':
|
||||
fprintf(stdout,"<");
|
||||
break;
|
||||
case '>':
|
||||
fprintf(stdout,">");
|
||||
break;
|
||||
case '"':
|
||||
fprintf(stdout,""");
|
||||
break;
|
||||
case '&':
|
||||
fprintf(stdout,"&");
|
||||
break;
|
||||
case '|':
|
||||
fprintf(stdout,"¦");
|
||||
break;
|
||||
default:
|
||||
fprintf(stdout,"%c",c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main(int _argc, char** _argv)
|
||||
{
|
||||
FILE *in, *out;
|
||||
char c;
|
||||
int mode;
|
||||
char buf[80];
|
||||
int bufidx = 0;
|
||||
int progress = 1;
|
||||
int echo;
|
||||
int saved_mode;
|
||||
int kw;
|
||||
char tmpc;
|
||||
char prevc;
|
||||
|
||||
if (_argc < 2)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"USAGE: c2html <file>\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if ((in = fopen(_argv[1], "rt")) == NULL)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Cannot open input file.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
fprintf(stdout, "<pre>");
|
||||
mode = START;
|
||||
|
||||
while (!feof(in) && progress)
|
||||
{
|
||||
echo = 1;
|
||||
prevc = c;
|
||||
c = fgetc(in);
|
||||
|
||||
if (c=='/' && (mode < REM1))
|
||||
{
|
||||
saved_mode = mode;
|
||||
mode = REM1;
|
||||
}
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case REM1:
|
||||
echo = 0;
|
||||
mode = REM2;
|
||||
break;
|
||||
|
||||
case REM2:
|
||||
if (c=='/')
|
||||
{
|
||||
if (saved_mode == DEFINE)
|
||||
{
|
||||
set_mode(OFF, MODE_DEFINE);
|
||||
}
|
||||
mode = REM_END;
|
||||
set_mode(ON, MODE_REMARK_EOL);
|
||||
}
|
||||
else if (c=='*')
|
||||
{
|
||||
if (saved_mode == DEFINE)
|
||||
{
|
||||
set_mode(OFF, MODE_DEFINE);
|
||||
}
|
||||
mode = REM_STAR;
|
||||
set_mode(ON, MODE_REMARK);
|
||||
}
|
||||
else
|
||||
{
|
||||
mode = saved_mode;
|
||||
}
|
||||
printf("/");
|
||||
break;
|
||||
|
||||
case REM_END:
|
||||
if (c=='\n')
|
||||
{
|
||||
set_mode(OFF, MODE_REMARK_EOL);
|
||||
}
|
||||
break;
|
||||
|
||||
case REM_STAR:
|
||||
if (c=='*')
|
||||
{
|
||||
mode = REM_STAR_1;
|
||||
}
|
||||
break;
|
||||
|
||||
case REM_STAR_1:
|
||||
if (c=='/')
|
||||
{
|
||||
mode = INLINE;
|
||||
fprintf(stdout,"/");
|
||||
echo = 0;
|
||||
set_mode(OFF, MODE_REMARK);
|
||||
}
|
||||
else mode = REM_STAR;
|
||||
break;
|
||||
|
||||
case START:
|
||||
if (c=='#')
|
||||
{
|
||||
mode = DEFINE;
|
||||
set_mode(ON, MODE_DEFINE);
|
||||
break;
|
||||
}
|
||||
else if (c==' ') break;
|
||||
|
||||
mode = INLINE;
|
||||
// and continue in next case
|
||||
|
||||
case INLINE:
|
||||
if (c=='"' && //
|
||||
prevc != 0x27 && //
|
||||
prevc != '\\') //
|
||||
{
|
||||
set_mode(ON, MODE_STRING);
|
||||
mode = STRING;
|
||||
}
|
||||
break;
|
||||
|
||||
case STRING:
|
||||
if (c=='"' && prevc != '\\')
|
||||
{
|
||||
print_char_html('"');
|
||||
set_mode(OFF, MODE_STRING);
|
||||
echo = 0;
|
||||
mode = INLINE;
|
||||
}
|
||||
break;
|
||||
|
||||
case DEFINE:
|
||||
if (c=='\n')
|
||||
{
|
||||
set_mode(OFF, MODE_DEFINE);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (echo && //
|
||||
(mode == INLINE || //
|
||||
(mode!=INLINE && //
|
||||
bufidx))) //
|
||||
{
|
||||
buf[bufidx++] = c;
|
||||
buf[bufidx] = 0;
|
||||
if (is_delimeter(c))
|
||||
{
|
||||
kw = 0;
|
||||
if (bufidx>2)
|
||||
{
|
||||
kw = is_keyword(buf);
|
||||
}
|
||||
if (kw)
|
||||
{
|
||||
set_mode(ON, MODE_KEYWORD);
|
||||
}
|
||||
tmpc = buf[bufidx-1];
|
||||
buf[bufidx-1] = 0;
|
||||
fprintf(stdout,"%s",buf);
|
||||
if (kw)
|
||||
{
|
||||
set_mode(OFF, MODE_KEYWORD);
|
||||
}
|
||||
print_char_html(tmpc);
|
||||
bufidx = 0;
|
||||
buf[0] = 0;
|
||||
}
|
||||
}
|
||||
else if (echo) print_char_html(c);
|
||||
|
||||
if (c=='\n' && mode != REM_STAR)
|
||||
{
|
||||
mode = START;
|
||||
}
|
||||
}
|
||||
|
||||
fclose(in);
|
||||
fprintf(stdout,"</pre>\n");
|
||||
fprintf(stdout,
|
||||
"<!-- == Generated by CHTM convertor -->\n");
|
||||
fprintf(stdout,
|
||||
"<!-- == CopyRight (C) 1999, Dmitry Obukhov, dso@usa.net -->\n");
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
/back.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/bomb.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/c.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/down.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/folder.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/folder.open.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/left.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/up.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
/world2.gif/1.3/Fri Jun 29 15:58:08 2001/-kb/
|
||||
D
|
@ -0,0 +1,9 @@
|
||||
/back.gif////
|
||||
/bomb.gif////
|
||||
/c.gif////
|
||||
/down.gif////
|
||||
/folder.gif////
|
||||
/folder.open.gif////
|
||||
/left.gif////
|
||||
/up.gif////
|
||||
/world2.gif////
|
@ -0,0 +1 @@
|
||||
cscope/contrib/webcscope/icons
|
@ -0,0 +1 @@
|
||||
:ssh;username=broeker;hostname=cscope.cvs.sourceforge.net:/cvsroot/cscope
|
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/back.gif
Normal file
After Width: | Height: | Size: 216 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/bomb.gif
Normal file
After Width: | Height: | Size: 308 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/c.gif
Normal file
After Width: | Height: | Size: 242 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/down.gif
Normal file
After Width: | Height: | Size: 163 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/folder.gif
Normal file
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 242 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/left.gif
Normal file
After Width: | Height: | Size: 172 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/up.gif
Normal file
After Width: | Height: | Size: 164 B |
BIN
vim_plugins_src/cscope-15.7a/contrib/webcscope/icons/world2.gif
Normal file
After Width: | Height: | Size: 261 B |