[geany/geany] 5d8e29: Merge pull request #1070 from techee/tm_move
Colomban Wendling
git-noreply at xxxxx
Mon Jul 25 00:06:20 UTC 2016
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Mon, 25 Jul 2016 00:06:20 UTC
Commit: 5d8e291c6f7e5dfdfaf11cfe11e46684ffc669b5
https://github.com/geany/geany/commit/5d8e291c6f7e5dfdfaf11cfe11e46684ffc669b5
Log Message:
-----------
Merge pull request #1070 from techee/tm_move
Move TM and ctags files
Modified Paths:
--------------
HACKING
Makefile.am
configure.ac
ctags/Makefile.am
ctags/main/args.c
ctags/main/args.h
ctags/main/ctags.c
ctags/main/ctags.h
ctags/main/entry.c
ctags/main/entry.h
ctags/main/general.h
ctags/main/get.c
ctags/main/get.h
ctags/main/keyword.c
ctags/main/keyword.h
ctags/main/lregex.c
ctags/main/main.h
ctags/main/mio.c
ctags/main/mio.h
ctags/main/nestlevel.c
ctags/main/nestlevel.h
ctags/main/options.c
ctags/main/options.h
ctags/main/parse.c
ctags/main/parse.h
ctags/main/parsers.h
ctags/main/read.c
ctags/main/read.h
ctags/main/sort.c
ctags/main/sort.h
ctags/main/strlist.c
ctags/main/strlist.h
ctags/main/vstring.c
ctags/main/vstring.h
ctags/parsers/abaqus.c
ctags/parsers/abc.c
ctags/parsers/actionscript.c
ctags/parsers/asciidoc.c
ctags/parsers/asm.c
ctags/parsers/basic.c
ctags/parsers/c.c
ctags/parsers/cobol.c
ctags/parsers/conf.c
ctags/parsers/css.c
ctags/parsers/diff.c
ctags/parsers/docbook.c
ctags/parsers/erlang.c
ctags/parsers/fortran.c
ctags/parsers/go.c
ctags/parsers/haskell.c
ctags/parsers/haxe.c
ctags/parsers/html.c
ctags/parsers/jscript.c
ctags/parsers/json.c
ctags/parsers/latex.c
ctags/parsers/lua.c
ctags/parsers/make.c
ctags/parsers/markdown.c
ctags/parsers/matlab.c
ctags/parsers/nsis.c
ctags/parsers/objc.c
ctags/parsers/pascal.c
ctags/parsers/perl.c
ctags/parsers/php.c
ctags/parsers/powershell.c
ctags/parsers/python.c
ctags/parsers/r.c
ctags/parsers/rest.c
ctags/parsers/ruby.c
ctags/parsers/rust.c
ctags/parsers/sh.c
ctags/parsers/sql.c
ctags/parsers/tcl.c
ctags/parsers/txt2tags.c
ctags/parsers/verilog.c
ctags/parsers/vhdl.c
doc/Doxyfile.in
doc/Makefile.am
doc/makefile.win32
doc/making-a-release
makefile.win32
plugins/Makefile.am
plugins/makefile.win32
scintilla/Makefile.am
scintilla/gtk/makefile.win32
scripts/create_php_tags.py
src/Makefile.am
src/filetypes.h
src/makefile.win32
src/tagmanager/Makefile.am
src/tagmanager/tm_ctags_wrappers.c
src/tagmanager/tm_ctags_wrappers.h
src/tagmanager/tm_parser.c
src/tagmanager/tm_parser.h
src/tagmanager/tm_source_file.c
src/tagmanager/tm_source_file.h
src/tagmanager/tm_tag.c
src/tagmanager/tm_tag.h
src/tagmanager/tm_workspace.c
src/tagmanager/tm_workspace.h
tagmanager/Makefile.am
tagmanager/ctags/Makefile.am
tagmanager/ctags/makefile.win32
tagmanager/mio/COPYING
tagmanager/mio/Makefile.am
tagmanager/mio/README
tagmanager/mio/makefile.win32
tagmanager/mio/mio-file.c
tagmanager/mio/mio-memory.c
tagmanager/mio/mio.c
tagmanager/mio/mio.h
tagmanager/src/makefile.win32
win32-config.h
Modified: HACKING
5 lines changed, 1 insertions(+), 4 deletions(-)
===================================================================
@@ -497,7 +497,6 @@ printf("Prefix: %s", GEANY_PREFIX);
Adding a source file foo.[hc] in src/ or plugins/
-------------------------------------------------
* Add foo.c, foo.h to SRCS in path/Makefile.am.
-* Add foo.o to OBJS in path/makefile.win32.
* Add path/foo.c to po/POTFILES.in (for string translation).
Adding a filetype
@@ -560,7 +559,6 @@ LexFoo.cxx. Try the official Scintilla project first.
When adding a lexer, update:
* scintilla/Makefile.am
-* scintilla/makefile.win32
* scintilla/src/Catalogue.cxx - add a LINK_LEXER command *manually*
For syntax highlighting, you will need to edit highlighting.c and
@@ -648,9 +646,8 @@ http://sf.net/projects/ctags - see the tracker.
Method
``````
* Add foo.c to SRCS in Makefile.am.
-* Add foo.o to OBJS in makefile.win32.
* Add Foo to parsers.h
-* Add TM_PARSER_FOO to tagmanager/src/tm_parser.h. The list here must follow
+* Add TM_PARSER_FOO to src/tagmanager/tm_parser.h. The list here must follow
exactly the order in parsers.h.
In tagmanager/src/tm_parsers.c:
Modified: Makefile.am
6 lines changed, 2 insertions(+), 4 deletions(-)
===================================================================
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = tagmanager scintilla src plugins icons po doc data tests
+SUBDIRS = ctags scintilla src plugins icons po doc data tests
AUTOMAKE_OPTIONS = 1.7
@@ -10,9 +10,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-api-docs --enable-html-docs --enable-pdf
WIN32_BUILD_FILES = \
geany_private.rc \
- geany.exe.manifest \
- win32-config.h \
- makefile.win32
+ geany.exe.manifest
EXTRA_DIST = \
autogen.sh \
Modified: configure.ac
6 lines changed, 2 insertions(+), 4 deletions(-)
===================================================================
@@ -147,13 +147,11 @@ AC_CONFIG_FILES([
icons/tango/32x32/Makefile
icons/tango/48x48/Makefile
icons/tango/scalable/Makefile
- tagmanager/Makefile
- tagmanager/ctags/Makefile
- tagmanager/mio/Makefile
- tagmanager/src/Makefile
+ ctags/Makefile
scintilla/Makefile
scintilla/include/Makefile
src/Makefile
+ src/tagmanager/Makefile
plugins/Makefile
po/Makefile.in
data/Makefile
Modified: ctags/Makefile.am
86 lines changed, 86 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,86 @@
+AM_CPPFLAGS = \
+ -I$(srcdir)/main \
+ -I$(srcdir)/parsers \
+ -DG_LOG_DOMAIN=\"CTags\"
+AM_CFLAGS = \
+ $(GTK_CFLAGS) \
+ @LIBGEANY_CFLAGS@
+
+noinst_LTLIBRARIES = libctags.la
+
+parsers = \
+ parsers/abaqus.c \
+ parsers/abc.c \
+ parsers/actionscript.c \
+ parsers/asciidoc.c \
+ parsers/asm.c \
+ parsers/basic.c \
+ parsers/c.c \
+ parsers/cobol.c \
+ parsers/conf.c \
+ parsers/css.c \
+ parsers/diff.c \
+ parsers/docbook.c \
+ parsers/erlang.c \
+ parsers/fortran.c \
+ parsers/go.c \
+ parsers/haskell.c \
+ parsers/haxe.c \
+ parsers/html.c \
+ parsers/jscript.c \
+ parsers/json.c \
+ parsers/latex.c \
+ parsers/lua.c \
+ parsers/make.c \
+ parsers/markdown.c \
+ parsers/matlab.c \
+ parsers/nsis.c \
+ parsers/objc.c \
+ parsers/pascal.c \
+ parsers/perl.c \
+ parsers/php.c \
+ parsers/powershell.c \
+ parsers/python.c \
+ parsers/r.c \
+ parsers/rest.c \
+ parsers/ruby.c \
+ parsers/rust.c \
+ parsers/sh.c \
+ parsers/sql.c \
+ parsers/tcl.c \
+ parsers/txt2tags.c \
+ parsers/verilog.c \
+ parsers/vhdl.c
+
+libctags_la_SOURCES = \
+ main/args.c \
+ main/args.h \
+ main/ctags.c \
+ main/ctags.h \
+ main/entry.c \
+ main/entry.h \
+ main/general.h \
+ main/get.c \
+ main/get.h \
+ main/keyword.c \
+ main/keyword.h \
+ main/lregex.c \
+ main/main.h \
+ main/mio.c \
+ main/mio.h \
+ main/nestlevel.c \
+ main/nestlevel.h \
+ main/options.c \
+ main/options.h \
+ main/parse.c \
+ main/parse.h \
+ main/parsers.h \
+ main/read.c \
+ main/read.h \
+ main/sort.c \
+ main/sort.h \
+ main/strlist.c \
+ main/strlist.h \
+ main/vstring.c \
+ main/vstring.h \
+ $(parsers)
Modified: ctags/main/args.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/args.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/ctags.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/ctags.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/entry.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/entry.h
3 lines changed, 1 insertions(+), 2 deletions(-)
===================================================================
@@ -15,8 +15,7 @@
*/
#include "general.h" /* must always come first */
-#include <mio/mio.h>
-
+#include "mio.h"
#include "vstring.h"
/*
Modified: ctags/main/general.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/get.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/get.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/keyword.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/keyword.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/lregex.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -18,7 +18,6 @@
#include <string.h>
#include <glib.h>
-#include <mio/mio.h>
#ifdef HAVE_REGCOMP
# include <ctype.h>
@@ -28,6 +27,7 @@
# endif
#endif
+#include "mio.h"
#include "main.h"
#include "entry.h"
#include "parse.h"
Modified: ctags/main/main.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/mio.c
1063 lines changed, 1063 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,1063 @@
+/*
+ * MIO, an I/O abstraction layer replicating C file I/O API.
+ * Copyright (C) 2010 Colomban Wendling <ban at herbesfolles.org>
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include "mio.h"
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <limits.h>
+
+/* minimal reallocation chunk size */
+#define MIO_CHUNK_SIZE 4096
+
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+
+/**
+ * SECTION:mio
+ * @short_description: The MIO object
+ * @include: mio/mio.h
+ *
+ * The #MIO object replicates the C file I/O API with support of both standard
+ * file based operations and in-memory operations. Its goal is to ease the port
+ * of an application that uses C file I/O API to perform in-memory operations.
+ *
+ * A #MIO object is created using mio_new_file() or mio_new_memory(), depending
+ * on whether you want file or in-memory operations, and destroyed using
+ * mio_free(). There is also some other convenient API to create file-based
+ * #MIO objects for more complex cases, such as mio_new_file_full() and
+ * mio_new_fp().
+ *
+ * Once the #MIO object is created, you can perform standard I/O operations on
+ * it transparently without the need to care about the effective underlying
+ * operations.
+ *
+ * The I/O API is almost exactly a replication of the standard C file I/O API
+ * with the significant difference that the first parameter is always the #MIO
+ * object to work on.
+ */
+
+
+/**
+ * mio_new_file_full:
+ * @filename: Filename to open, passed as-is to @open_func as the first argument
+ * @mode: Mode in which open the file, passed as-is to @open_func as the second
+ * argument
+ * @open_func: A function with the fopen() semantic to use to open the file
+ * @close_func: A function with the fclose() semantic to close the file when
+ * the #MIO object is destroyed, or %NULL not to close the #FILE
+ * object
+ *
+ * Creates a new #MIO object working on a file, from a filename and an opening
+ * function. See also mio_new_file().
+ *
+ * This function is generally overkill and mio_new_file() should often be used
+ * instead, but it allows to specify a custom function to open a file, as well
+ * as a close function. The former is useful e.g. if you need to wrap fopen()
+ * for some reason (like filename encoding conversion for example), and the
+ * latter allows you both to match your custom open function and to choose
+ * whether the underlying #FILE object should or not be closed when mio_free()
+ * is called on the returned object.
+ *
+ * Free-function: mio_free()
+ *
+ * Returns: A new #MIO on success, or %NULL on failure.
+ */
+MIO *mio_new_file_full (const char *filename,
+ const char *mode,
+ MIOFOpenFunc open_func,
+ MIOFCloseFunc close_func)
+{
+ MIO *mio;
+
+ /* we need to create the MIO object first, because we may not be able to close
+ * the opened file if the user passed NULL as the close function, which means
+ * that everything must succeed if we've opened the file successfully */
+ mio = malloc (sizeof *mio);
+ if (mio)
+ {
+ FILE *fp = open_func (filename, mode);
+
+ if (! fp)
+ {
+ free (mio);
+ mio = NULL;
+ }
+ else
+ {
+ mio->type = MIO_TYPE_FILE;
+ mio->impl.file.fp = fp;
+ mio->impl.file.close_func = close_func;
+ }
+ }
+
+ return mio;
+}
+
+/**
+ * mio_new_file:
+ * @filename: Filename to open, same as the fopen()'s first argument
+ * @mode: Mode in which open the file, fopen()'s second argument
+ *
+ * Creates a new #MIO object working on a file from a filename; wrapping
+ * fopen().
+ * This function simply calls mio_new_file_full() with the libc's fopen() and
+ * fclose() functions.
+ *
+ * Free-function: mio_free()
+ *
+ * Returns: A new #MIO on success, or %NULL on failure.
+ */
+MIO *mio_new_file (const char *filename, const char *mode)
+{
+ return mio_new_file_full (filename, mode, fopen, fclose);
+}
+
+/**
+ * mio_new_fp:
+ * @fp: An opened #FILE object
+ * @close_func: (allow-none): Function used to close @fp when the #MIO object
+ * gets destroyed, or %NULL not to close the #FILE object
+ *
+ * Creates a new #MIO object working on a file, from an already opened #FILE
+ * object.
+ *
+ * <example>
+ * <title>Typical use of this function</title>
+ * <programlisting>
+ * MIO *mio = mio_new_fp (fp, fclose);
+ * </programlisting>
+ * </example>
+ *
+ * Free-function: mio_free()
+ *
+ * Returns: A new #MIO on success or %NULL on failure.
+ */
+MIO *mio_new_fp (FILE *fp, MIOFCloseFunc close_func)
+{
+ MIO *mio;
+
+ if (!fp)
+ return NULL;
+
+ mio = malloc (sizeof *mio);
+ if (mio)
+ {
+ mio->type = MIO_TYPE_FILE;
+ mio->impl.file.fp = fp;
+ mio->impl.file.close_func = close_func;
+ }
+
+ return mio;
+}
+
+/**
+ * mio_new_memory:
+ * @data: Initial data (may be %NULL)
+ * @size: Length of @data in bytes
+ * @realloc_func: A function with the realloc() semantic used to grow the
+ * buffer, or %NULL to disable buffer growing
+ * @free_func: A function with the free() semantic to destroy the data together
+ * with the object, or %NULL not to destroy the data
+ *
+ * Creates a new #MIO object working on memory.
+ *
+ * To allow the buffer to grow, you must provide a @realloc_func, otherwise
+ * trying to write after the end of the current data will fail.
+ *
+ * If you want the buffer to be freed together with the #MIO object, you must
+ * give a @free_func; otherwise the data will still live after #MIO object
+ * termination.
+ *
+ * <example>
+ * <title>Basic creation of a non-growable, freeable #MIO object</title>
+ * <programlisting>
+ * MIO *mio = mio_new_memory (data, size, NULL, g_free);
+ * </programlisting>
+ * </example>
+ *
+ * <example>
+ * <title>Basic creation of an empty growable and freeable #MIO object</title>
+ * <programlisting>
+ * MIO *mio = mio_new_memory (NULL, 0, g_try_realloc, g_free);
+ * </programlisting>
+ * </example>
+ *
+ * Free-function: mio_free()
+ *
+ * Returns: A new #MIO on success, or %NULL on failure.
+ */
+MIO *mio_new_memory (unsigned char *data,
+ size_t size,
+ MIOReallocFunc realloc_func,
+ MIODestroyNotify free_func)
+{
+ MIO *mio;
+
+ mio = malloc (sizeof *mio);
+ if (mio)
+ {
+ mio->type = MIO_TYPE_MEMORY;
+ mio->impl.mem.buf = data;
+ mio->impl.mem.ungetch = EOF;
+ mio->impl.mem.pos = 0;
+ mio->impl.mem.size = size;
+ mio->impl.mem.allocated_size = size;
+ mio->impl.mem.realloc_func = realloc_func;
+ mio->impl.mem.free_func = free_func;
+ mio->impl.mem.eof = FALSE;
+ mio->impl.mem.error = FALSE;
+ }
+
+ return mio;
+}
+
+/**
+ * mio_file_get_fp:
+ * @mio: A #MIO object
+ *
+ * Gets the underlying #FILE object associated with a #MIO file stream.
+ *
+ * <warning><para>The returned object may become invalid after a call to
+ * mio_free() if the stream was configured to close the file when
+ * destroyed.</para></warning>
+ *
+ * Returns: The underlying #FILE object of the given stream, or %NULL if the
+ * stream is not a file stream.
+ */
+FILE *mio_file_get_fp (MIO *mio)
+{
+ FILE *fp = NULL;
+
+ if (mio->type == MIO_TYPE_FILE)
+ fp = mio->impl.file.fp;
+
+ return fp;
+}
+
+/**
+ * mio_memory_get_data:
+ * @mio: A #MIO object
+ * @size: (allow-none) (out): Return location for the length of the returned
+ * memory, or %NULL
+ *
+ * Gets the underlying memory buffer associated with a #MIO memory stream.
+ *
+ * <warning><para>The returned pointer and size may become invalid after a
+ * successful write on the stream or after a call to mio_free() if the stream
+ * was configured to free the memory when destroyed.</para></warning>
+ *
+ * Returns: The memory buffer of the given #MIO stream, or %NULL if the stream
+ * is not a memory stream.
+ */
+unsigned char *mio_memory_get_data (MIO *mio, size_t *size)
+{
+ unsigned char *ptr = NULL;
+
+ if (mio->type == MIO_TYPE_MEMORY)
+ {
+ ptr = mio->impl.mem.buf;
+ if (size)
+ *size = mio->impl.mem.size;
+ }
+
+ return ptr;
+}
+
+/**
+ * mio_free:
+ * @mio: A #MIO object
+ *
+ * Destroys a #MIO object.
+ *
+ * Returns: Error code obtained from the registered MIOFCloseFunc or 0 on success.
+ */
+int mio_free (MIO *mio)
+{
+ int rv = 0;
+
+ if (mio)
+ {
+ if (mio->type == MIO_TYPE_FILE)
+ {
+ if (mio->impl.file.close_func)
+ rv = mio->impl.file.close_func (mio->impl.file.fp);
+ mio->impl.file.close_func = NULL;
+ mio->impl.file.fp = NULL;
+ }
+ else
+ {
+ if (mio->impl.mem.free_func)
+ mio->impl.mem.free_func (mio->impl.mem.buf);
+ mio->impl.mem.buf = NULL;
+ mio->impl.mem.pos = 0;
+ mio->impl.mem.size = 0;
+ mio->impl.mem.allocated_size = 0;
+ mio->impl.mem.realloc_func = NULL;
+ mio->impl.mem.free_func = NULL;
+ mio->impl.mem.eof = FALSE;
+ mio->impl.mem.error = FALSE;
+ }
+
+ free (mio);
+ }
+
+ return rv;
+}
+
+/**
+ * mio_read:
+ * @mio: A #MIO object
+ * @ptr: Pointer to the memory to fill with the read data
+ * @size: Size of each block to read
+ * @nmemb: Number o blocks to read
+ *
+ * Reads raw data from a #MIO stream. This function behave the same as fread().
+ *
+ * Returns: The number of actually read blocks. If an error occurs or if the
+ * end of the stream is reached, the return value may be smaller than
+ * the requested block count, or even 0. This function doesn't
+ * distinguish between end-of-stream and an error, you should then use
+ * mio_eof() and mio_error() to determine which occurred.
+ */
+size_t mio_read (MIO *mio,
+ void *ptr_,
+ size_t size,
+ size_t nmemb)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fread (ptr_, size, nmemb, mio->impl.file.fp);
+ else
+ {
+ size_t n_read = 0;
+
+ if (size != 0 && nmemb != 0)
+ {
+ size_t size_avail = mio->impl.mem.size - mio->impl.mem.pos;
+ size_t copy_bytes = size * nmemb;
+ unsigned char *ptr = ptr_;
+
+ if (size_avail < copy_bytes)
+ copy_bytes = size_avail;
+
+ if (copy_bytes > 0)
+ {
+ n_read = copy_bytes / size;
+
+ if (mio->impl.mem.ungetch != EOF)
+ {
+ *ptr = (unsigned char) mio->impl.mem.ungetch;
+ mio->impl.mem.ungetch = EOF;
+ copy_bytes--;
+ mio->impl.mem.pos++;
+ ptr++;
+ }
+
+ memcpy (ptr, &mio->impl.mem.buf[mio->impl.mem.pos], copy_bytes);
+ mio->impl.mem.pos += copy_bytes;
+ }
+ if (mio->impl.mem.pos >= mio->impl.mem.size)
+ mio->impl.mem.eof = TRUE;
+ }
+
+ return n_read;
+ }
+}
+
+/*
+ * mem_try_resize:
+ * @mio: A #MIO object of the type %MIO_TYPE_MEMORY
+ * @new_size: Requested new size
+ *
+ * Tries to resize the underlying buffer of an in-memory #MIO object.
+ * This supports both growing and shrinking.
+ *
+ * Returns: %TRUE on success, %FALSE otherwise.
+ */
+static int mem_try_resize (MIO *mio, size_t new_size)
+{
+ int success = FALSE;
+
+ if (mio->impl.mem.realloc_func)
+ {
+ if (new_size == ULONG_MAX)
+ {
+#ifdef EOVERFLOW
+ errno = EOVERFLOW;
+#endif
+ }
+ else
+ {
+ if (new_size > mio->impl.mem.size)
+ {
+ if (new_size <= mio->impl.mem.allocated_size)
+ {
+ mio->impl.mem.size = new_size;
+ success = TRUE;
+ }
+ else
+ {
+ size_t newsize;
+ unsigned char *newbuf;
+
+ newsize = MAX (mio->impl.mem.allocated_size + MIO_CHUNK_SIZE,
+ new_size);
+ newbuf = mio->impl.mem.realloc_func (mio->impl.mem.buf, newsize);
+ if (newbuf)
+ {
+ mio->impl.mem.buf = newbuf;
+ mio->impl.mem.allocated_size = newsize;
+ mio->impl.mem.size = new_size;
+ success = TRUE;
+ }
+ }
+ }
+ else
+ {
+ unsigned char *newbuf;
+
+ newbuf = mio->impl.mem.realloc_func (mio->impl.mem.buf, new_size);
+ if (newbuf || new_size == 0)
+ {
+ mio->impl.mem.buf = newbuf;
+ mio->impl.mem.allocated_size = new_size;
+ mio->impl.mem.size = new_size;
+ success = TRUE;
+ }
+ }
+ }
+ }
+
+ return success;
+}
+
+/*
+ * mem_try_ensure_space:
+ * @mio: A #MIO object
+ * @n: Requested size from the current (cursor) position
+ *
+ * Tries to ensure there is enough space for @n bytes to be written from the
+ * current cursor position.
+ *
+ * Returns: %TRUE if there is enough space, %FALSE otherwise.
+ */
+static int mem_try_ensure_space (MIO *mio, size_t n)
+{
+ int success = TRUE;
+
+ if (mio->impl.mem.pos + n > mio->impl.mem.size)
+ success = mem_try_resize (mio, mio->impl.mem.pos + n);
+
+ return success;
+}
+
+/**
+ * mio_write:
+ * @mio: A #MIO object
+ * @ptr: Pointer to the memory to write on the stream
+ * @size: Size of each block to write
+ * @nmemb: Number of block to write
+ *
+ * Writes raw data to a #MIO stream. This function behaves the same as fwrite().
+ *
+ * Returns: The number of blocks actually written to the stream. This might be
+ * smaller than the requested count if a write error occurs.
+ */
+size_t mio_write (MIO *mio,
+ const void *ptr,
+ size_t size,
+ size_t nmemb)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fwrite (ptr, size, nmemb, mio->impl.file.fp);
+ else
+ {
+ size_t n_written = 0;
+
+ if (size != 0 && nmemb != 0)
+ {
+ if (mem_try_ensure_space (mio, size * nmemb))
+ {
+ memcpy (&mio->impl.mem.buf[mio->impl.mem.pos], ptr, size * nmemb);
+ mio->impl.mem.pos += size * nmemb;
+ n_written = nmemb;
+ }
+ }
+
+ return n_written;
+ }
+}
+
+/**
+ * mio_putc:
+ * @mio: A #MIO object
+ * @c: The character to write
+ *
+ * Writes a character to a #MIO stream. This function behaves the same as
+ * fputc().
+ *
+ * Returns: The written wharacter, or %EOF on error.
+ */
+int mio_putc (MIO *mio, int c)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fputc (c, mio->impl.file.fp);
+ else
+ {
+ int rv = EOF;
+
+ if (mem_try_ensure_space (mio, 1))
+ {
+ mio->impl.mem.buf[mio->impl.mem.pos] = (unsigned char)c;
+ mio->impl.mem.pos++;
+ rv = (int)((unsigned char)c);
+ }
+
+ return rv;
+ }
+}
+
+/**
+ * mio_puts:
+ * @mio: A #MIO object
+ * @s: The string to write
+ *
+ * Writes a string to a #MIO object. This function behaves the same as fputs().
+ *
+ * Returns: A non-negative integer on success or %EOF on failure.
+ */
+int mio_puts (MIO *mio, const char *s)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fputs (s, mio->impl.file.fp);
+ else
+ {
+ int rv = EOF;
+ size_t len;
+
+ len = strlen (s);
+ if (mem_try_ensure_space (mio, len))
+ {
+ memcpy (&mio->impl.mem.buf[mio->impl.mem.pos], s, len);
+ mio->impl.mem.pos += len;
+ rv = 1;
+ }
+
+ return rv;
+ }
+}
+
+/**
+ * mio_vprintf:
+ * @mio: A #MIO object
+ * @format: A printf fomrat string
+ * @ap: The variadic argument list for the format
+ *
+ * Writes a formatted string into a #MIO stream. This function behaves the same
+ * as vfprintf().
+ *
+ * Returns: The number of bytes written in the stream, or a negative value on
+ * failure.
+ */
+int mio_vprintf (MIO *mio, const char *format, va_list ap)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return vfprintf (mio->impl.file.fp, format, ap);
+ else
+ {
+ int rv = -1;
+ size_t n;
+ size_t old_pos;
+ size_t old_size;
+ va_list ap_copy;
+ char dummy;
+
+ old_pos = mio->impl.mem.pos;
+ old_size = mio->impl.mem.size;
+ va_copy (ap_copy, ap);
+ /* compute the size we will need into the buffer */
+ n = vsnprintf (&dummy, 1, format, ap_copy);
+ va_end (ap_copy);
+ if (mem_try_ensure_space (mio, n))
+ {
+ unsigned char c;
+
+ /* backup character at n+1 that will be overwritten by a \0 ... */
+ c = mio->impl.mem.buf[mio->impl.mem.pos + (n - 1)];
+ rv = vsprintf ((char *)&mio->impl.mem.buf[mio->impl.mem.pos], format, ap);
+ /* ...and restore it */
+ mio->impl.mem.buf[mio->impl.mem.pos + (n - 1)] = c;
+ if (rv >= 0 && (size_t)rv == (n - 1))
+ {
+ /* re-compute the actual size since we might have allocated one byte
+ * more than needed */
+ mio->impl.mem.size = MAX (old_size, old_pos + (unsigned int)rv);
+ mio->impl.mem.pos += (unsigned int)rv;
+ }
+ else
+ {
+ mio->impl.mem.size = old_size;
+ rv = -1;
+ }
+ }
+
+ return rv;
+ }
+}
+
+/**
+ * mio_printf:
+ * @mio: A #MIO object
+ * @format: A print format string
+ * @...: Arguments of the format
+ *
+ * Writes a formatted string to a #MIO stream. This function behaves the same as
+ * fprintf().
+ *
+ * Returns: The number of bytes written to the stream, or a negative value on
+ * failure.
+ */
+int mio_printf (MIO *mio, const char *format, ...)
+{
+ int rv;
+ va_list ap;
+
+ va_start (ap, format);
+ rv = mio_vprintf (mio, format, ap);
+ va_end (ap);
+
+ return rv;
+}
+
+/**
+ * mio_getc:
+ * @mio: A #MIO object
+ *
+ * Gets the current character from a #MIO stream. This function behaves the same
+ * as fgetc().
+ *
+ * Returns: The read character as a #int, or %EOF on error.
+ */
+int mio_getc (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fgetc (mio->impl.file.fp);
+ else
+ {
+ int rv = EOF;
+
+ if (mio->impl.mem.ungetch != EOF)
+ {
+ rv = mio->impl.mem.ungetch;
+ mio->impl.mem.ungetch = EOF;
+ mio->impl.mem.pos++;
+ }
+ else if (mio->impl.mem.pos < mio->impl.mem.size)
+ {
+ rv = mio->impl.mem.buf[mio->impl.mem.pos];
+ mio->impl.mem.pos++;
+ }
+ else
+ mio->impl.mem.eof = TRUE;
+
+ return rv;
+ }
+}
+
+/**
+ * mio_ungetc:
+ * @mio: A #MIO object
+ * @ch: Character to put back in the stream
+ *
+ * Puts a character back in a #MIO stream. This function behaves the sames as
+ * ungetc().
+ *
+ * <warning><para>It is only guaranteed that one character can be but back at a
+ * time, even if the implementation may allow more.</para></warning>
+ * <warning><para>Using this function while the stream cursor is at offset 0 is
+ * not guaranteed to function properly. As the C99 standard says, it is "an
+ * obsolescent feature".</para></warning>
+ *
+ * Returns: The character put back, or %EOF on error.
+ */
+int mio_ungetc (MIO *mio, int ch)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return ungetc (ch, mio->impl.file.fp);
+ else
+ {
+ int rv = EOF;
+
+ if (ch != EOF && mio->impl.mem.ungetch == EOF)
+ {
+ rv = mio->impl.mem.ungetch = ch;
+ mio->impl.mem.pos--;
+ mio->impl.mem.eof = FALSE;
+ }
+
+ return rv;
+ }
+}
+
+/**
+ * mio_gets:
+ * @mio: A #MIO object
+ * @s: A string to fill with the read data
+ * @size: The maximum number of bytes to read
+ *
+ * Reads a string from a #MIO stream, stopping after the first new-line
+ * character or at the end of the stream. This function behaves the same as
+ * fgets().
+ *
+ * Returns: @s on success, %NULL otherwise.
+ */
+char *mio_gets (MIO *mio, char *s, size_t size)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fgets (s, (int)size, mio->impl.file.fp);
+ else
+ {
+ char *rv = NULL;
+
+ if (size > 0)
+ {
+ size_t i = 0;
+
+ if (mio->impl.mem.ungetch != EOF)
+ {
+ s[i] = (char)mio->impl.mem.ungetch;
+ mio->impl.mem.ungetch = EOF;
+ mio->impl.mem.pos++;
+ i++;
+ }
+ for (; mio->impl.mem.pos < mio->impl.mem.size && i < (size - 1); i++)
+ {
+ s[i] = (char)mio->impl.mem.buf[mio->impl.mem.pos];
+ mio->impl.mem.pos++;
+ if (s[i] == '\n')
+ {
+ i++;
+ break;
+ }
+ }
+ if (i > 0)
+ {
+ s[i] = 0;
+ rv = s;
+ }
+ if (mio->impl.mem.pos >= mio->impl.mem.size)
+ mio->impl.mem.eof = TRUE;
+ }
+
+ return rv;
+ }
+}
+
+/**
+ * mio_clearerr:
+ * @mio: A #MIO object
+ *
+ * Clears the error and end-of-stream indicators of a #MIO stream. This function
+ * behaves the same as clearerr().
+ */
+void mio_clearerr (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ clearerr (mio->impl.file.fp);
+ else
+ {
+ mio->impl.mem.error = FALSE;
+ mio->impl.mem.eof = FALSE;
+ }
+}
+
+/**
+ * mio_eof:
+ * @mio: A #MIO object
+ *
+ * Checks whether the end-of-stream indicator of a #MIO stream is set. This
+ * function behaves the same as feof().
+ *
+ * Returns: A non-null value if the stream reached its end, 0 otherwise.
+ */
+int mio_eof (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return feof (mio->impl.file.fp);
+ else
+ return mio->impl.mem.eof != FALSE;
+}
+
+/**
+ * mio_error:
+ * @mio: A #MIO object
+ *
+ * Checks whether the error indicator of a #MIO stream is set. This function
+ * behaves the same as ferror().
+ *
+ * Returns: A non-null value if the stream have an error set, 0 otherwise.
+ */
+int mio_error (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return ferror (mio->impl.file.fp);
+ else
+ return mio->impl.mem.error != FALSE;
+}
+
+/**
+ * mio_seek:
+ * @mio: A #MIO object
+ * @offset: Offset of the new place, from @whence
+ * @whence: Move origin. SEEK_SET moves relative to the start of the stream,
+ * SEEK_CUR from the current position and SEEK_SET from the end of the
+ * stream.
+ *
+ * Sets the curosr position on a #MIO stream. This functions behaves the same as
+ * fseek(). See also mio_tell() and mio_setpos().
+ *
+ * Returns: 0 on success, -1 otherwise, in which case errno should be set to
+ * indicate the error.
+ */
+int mio_seek (MIO *mio, long offset, int whence)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fseek (mio->impl.file.fp, offset, whence);
+ else
+ {
+ /* FIXME: should we support seeking out of bounds like lseek() seems to do? */
+ int rv = -1;
+
+ switch (whence)
+ {
+ case SEEK_SET:
+ if (offset < 0 || (size_t)offset > mio->impl.mem.size)
+ errno = EINVAL;
+ else
+ {
+ mio->impl.mem.pos = (size_t)offset;
+ rv = 0;
+ }
+ break;
+
+ case SEEK_CUR:
+ if ((offset < 0 && (size_t)-offset > mio->impl.mem.pos) ||
+ mio->impl.mem.pos + (size_t)offset > mio->impl.mem.size)
+ {
+ errno = EINVAL;
+ }
+ else
+ {
+ mio->impl.mem.pos = (size_t)(mio->impl.mem.pos + offset);
+ rv = 0;
+ }
+ break;
+
+ case SEEK_END:
+ if (offset > 0 || (size_t)-offset > mio->impl.mem.size)
+ errno = EINVAL;
+ else
+ {
+ mio->impl.mem.pos = mio->impl.mem.size - (size_t)-offset;
+ rv = 0;
+ }
+ break;
+
+ default:
+ errno = EINVAL;
+ }
+ if (rv == 0)
+ {
+ mio->impl.mem.eof = FALSE;
+ mio->impl.mem.ungetch = EOF;
+ }
+
+ return rv;
+ }
+}
+
+/**
+ * mio_tell:
+ * @mio: A #MIO object
+ *
+ * Gets the current cursor position of a #MIO stream. This function behaves the
+ * same as ftell().
+ *
+ * Returns: The current offset from the start of the stream, or -1 or error, in
+ * which case errno is set to indicate the error.
+ */
+long mio_tell (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return ftell (mio->impl.file.fp);
+ else
+ {
+ long rv = -1;
+
+ if (mio->impl.mem.pos > LONG_MAX)
+ {
+#ifdef EOVERFLOW
+ errno = EOVERFLOW;
+#endif
+ }
+ else
+ rv = (long)mio->impl.mem.pos;
+
+ return rv;
+ }
+}
+
+/**
+ * mio_rewind:
+ * @mio: A #MIO object
+ *
+ * Resets the cursor position to 0, and also the end-of-stream and the error
+ * indicators of a #MIO stream.
+ * See also mio_seek() and mio_clearerr().
+ */
+void mio_rewind (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ rewind (mio->impl.file.fp);
+ else
+ {
+ mio->impl.mem.pos = 0;
+ mio->impl.mem.ungetch = EOF;
+ mio->impl.mem.eof = FALSE;
+ mio->impl.mem.error = FALSE;
+ }
+}
+
+/**
+ * mio_getpos:
+ * @mio: A #MIO stream
+ * @pos: (out): A #MIOPos object to fill-in
+ *
+ * Stores the current position (and maybe other informations about the stream
+ * state) of a #MIO stream in order to restore it later with mio_setpos(). This
+ * function behaves the same as fgetpos().
+ *
+ * Returns: 0 on success, -1 otherwise, in which case errno is set to indicate
+ * the error.
+ */
+int mio_getpos (MIO *mio, MIOPos *pos)
+{
+ int rv = -1;
+
+ pos->type = mio->type;
+ if (mio->type == MIO_TYPE_FILE)
+ rv = fgetpos (mio->impl.file.fp, &pos->impl.file);
+ else
+ {
+ rv = -1;
+
+ if (mio->impl.mem.pos == (size_t)-1)
+ {
+ /* this happens if ungetc() was called at the start of the stream */
+#ifdef EIO
+ errno = EIO;
+#endif
+ }
+ else
+ {
+ pos->impl.mem = mio->impl.mem.pos;
+ rv = 0;
+ }
+ }
+#ifdef MIO_DEBUG
+ if (rv != -1)
+ {
+ pos->tag = mio;
+ }
+#endif /* MIO_DEBUG */
+
+ return rv;
+}
+
+/**
+ * mio_setpos:
+ * @mio: A #MIO object
+ * @pos: (in): A #MIOPos object filled-in by a previous call of mio_getpos() on
+ * the same stream
+ *
+ * Restores the position and state indicators of a #MIO stream previously saved
+ * by mio_getpos().
+ *
+ * <warning><para>The #MIOPos object must have been initialized by a previous
+ * call to mio_getpos() on the same stream.</para></warning>
+ *
+ * Returns: 0 on success, -1 otherwise, in which case errno is set to indicate
+ * the error.
+ */
+int mio_setpos (MIO *mio, MIOPos *pos)
+{
+ int rv = -1;
+
+#ifdef MIO_DEBUG
+ if (pos->tag != mio)
+ {
+ g_critical ("mio_setpos((MIO*)%p, (MIOPos*)%p): "
+ "Given MIOPos was not set by a previous call to mio_getpos() "
+ "on the same MIO object, which means there is a bug in "
+ "someone's code.",
+ (void *)mio, (void *)pos);
+ errno = EINVAL;
+ return -1;
+ }
+#endif /* MIO_DEBUG */
+
+ if (mio->type == MIO_TYPE_FILE)
+ rv = fsetpos (mio->impl.file.fp, &pos->impl.file);
+ else
+ {
+ rv = -1;
+
+ if (pos->impl.mem > mio->impl.mem.size)
+ errno = EINVAL;
+ else
+ {
+ mio->impl.mem.ungetch = EOF;
+ mio->impl.mem.pos = pos->impl.mem;
+ rv = 0;
+ }
+ }
+
+ return rv;
+}
+
+/**
+ * mio_flush:
+ * @mio: A #MIO object
+ *
+ * Forces a write of all user-space buffered data for the given output or update
+ * stream via the stream's underlying write function. Only applicable when using
+ * FILE back-end.
+ *
+ * Returns: 0 on success, error code otherwise.
+ */
+int mio_flush (MIO *mio)
+{
+ if (mio->type == MIO_TYPE_FILE)
+ return fflush (mio->impl.file.fp);
+ return 0;
+}
Modified: ctags/main/mio.h
178 lines changed, 178 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,178 @@
+/*
+ * MIO, an I/O abstraction layer replicating C file I/O API.
+ * Copyright (C) 2010 Colomban Wendling <ban at herbesfolles.org>
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#ifndef MIO_H
+#define MIO_H
+
+#include "general.h" /* must always come first */
+
+#include <stdio.h>
+#include <stdarg.h>
+
+
+/**
+ * MIOType:
+ * @MIO_TYPE_FILE: #MIO object works on a file
+ * @MIO_TYPE_MEMORY: #MIO object works in-memory
+ *
+ * Existing implementations.
+ */
+enum _MIOType {
+ MIO_TYPE_FILE,
+ MIO_TYPE_MEMORY
+};
+
+typedef enum _MIOType MIOType;
+typedef struct _MIO MIO;
+typedef struct _MIOPos MIOPos;
+
+/**
+ * MIOReallocFunc:
+ * @ptr: Pointer to the memory to resize
+ * @size: New size of the memory pointed by @ptr
+ *
+ * A function following the realloc() semantic.
+ *
+ * Returns: A pointer to the start of the new memory, or %NULL on failure.
+ */
+typedef void *(* MIOReallocFunc) (void * ptr, size_t size);
+
+/**
+ * MIOFOpenFunc:
+ * @filename: The filename to open
+ * @mode: fopen() modes for opening @filename
+ *
+ * A function following the fclose() semantic, used to close a #FILE
+ * object.
+ *
+ * Returns: A new #FILE object, or %NULL on failure
+ */
+typedef FILE *(* MIOFOpenFunc) (const char *filename, const char *mode);
+
+/**
+ * MIOFCloseFunc:
+ * @fp: An opened #FILE object
+ *
+ * A function following the fclose() semantic, used to close a #FILE
+ * object.
+ *
+ * Returns: 0 on success, EOF otherwise.
+ */
+typedef int (* MIOFCloseFunc) (FILE *fp);
+
+/**
+ * MIODestroyNotify:
+ * @data: Data element being destroyed
+ *
+ * Specifies the type of function which is called when a data element is
+ * destroyed. It is passed the pointer to the data element and should free any
+ * memory and resources allocated for it.
+ */
+typedef void (*MIODestroyNotify) (void *data);
+
+/**
+ * MIOPos:
+ *
+ * An object representing the state of a #MIO stream. This object can be
+ * statically allocated but all its fields are private and should not be
+ * accessed directly.
+ */
+struct _MIOPos {
+ /*< private >*/
+ unsigned int type;
+#ifdef MIO_DEBUG
+ void *tag;
+#endif
+ union {
+ fpos_t file;
+ size_t mem;
+ } impl;
+};
+
+/**
+ * MIO:
+ *
+ * An object representing a #MIO stream. No assumptions should be made about
+ * what compose this object, and none of its fields should be accessed directly.
+ */
+struct _MIO {
+ /*< private >*/
+ unsigned int type;
+ union {
+ struct {
+ FILE *fp;
+ MIOFCloseFunc close_func;
+ } file;
+ struct {
+ unsigned char *buf;
+ int ungetch;
+ size_t pos;
+ size_t size;
+ size_t allocated_size;
+ MIOReallocFunc realloc_func;
+ MIODestroyNotify free_func;
+ boolean error;
+ boolean eof;
+ } mem;
+ } impl;
+};
+
+
+MIO *mio_new_file (const char *filename, const char *mode);
+MIO *mio_new_file_full (const char *filename,
+ const char *mode,
+ MIOFOpenFunc open_func,
+ MIOFCloseFunc close_func);
+MIO *mio_new_fp (FILE *fp, MIOFCloseFunc close_func);
+MIO *mio_new_memory (unsigned char *data,
+ size_t size,
+ MIOReallocFunc realloc_func,
+ MIODestroyNotify free_func);
+int mio_free (MIO *mio);
+FILE *mio_file_get_fp (MIO *mio);
+unsigned char *mio_memory_get_data (MIO *mio, size_t *size);
+size_t mio_read (MIO *mio,
+ void *ptr,
+ size_t size,
+ size_t nmemb);
+size_t mio_write (MIO *mio,
+ const void *ptr,
+ size_t size,
+ size_t nmemb);
+int mio_getc (MIO *mio);
+char *mio_gets (MIO *mio, char *s, size_t size);
+int mio_ungetc (MIO *mio, int ch);
+int mio_putc (MIO *mio, int c);
+int mio_puts (MIO *mio, const char *s);
+
+int mio_vprintf (MIO *mio, const char *format, va_list ap) PRINTF (2, 0);
+int mio_printf (MIO *mio, const char *format, ...) PRINTF (2, 3);
+
+void mio_clearerr (MIO *mio);
+int mio_eof (MIO *mio);
+int mio_error (MIO *mio);
+int mio_seek (MIO *mio, long offset, int whence);
+long mio_tell (MIO *mio);
+void mio_rewind (MIO *mio);
+int mio_getpos (MIO *mio, MIOPos *pos);
+int mio_setpos (MIO *mio, MIOPos *pos);
+int mio_flush (MIO *mio);
+
+#endif /* MIO_H */
Modified: ctags/main/nestlevel.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/nestlevel.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/options.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/options.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/parse.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -15,9 +15,9 @@
#include "general.h" /* must always come first */
#include <string.h>
-#include <mio/mio.h>
+#include "mio.h"
#include "entry.h"
#include "main.h"
#define OPTION_WRITE
Modified: ctags/main/parse.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/parsers.h
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -14,7 +14,7 @@
#define _PARSERS_H
/* Add the name of any new parser definition function here */
-/* keep tagmanager/src/tm_parser.h in sync */
+/* keep src/tagmanager/tm_parser.h in sync */
#define PARSER_LIST \
CParser, \
CppParser, \
Modified: ctags/main/read.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/read.h
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -17,8 +17,8 @@
#include <stdio.h>
#include <ctype.h>
-#include <mio/mio.h>
+#include "mio.h"
#include "parse.h"
#include "vstring.h"
Modified: ctags/main/sort.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/sort.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/strlist.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/strlist.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/vstring.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/main/vstring.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/abaqus.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/abc.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/actionscript.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/asciidoc.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/asm.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/basic.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/c.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -16,8 +16,8 @@
#include <string.h>
#include <setjmp.h>
-#include <mio/mio.h>
+#include "mio.h"
#include "entry.h"
#include "get.h"
#include "keyword.h"
Modified: ctags/parsers/cobol.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/conf.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/css.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/diff.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/docbook.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/erlang.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/fortran.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -17,8 +17,8 @@
#include <limits.h>
#include <ctype.h> /* to define tolower () */
#include <setjmp.h>
-#include <mio/mio.h>
+#include "mio.h"
#include "entry.h"
#include "keyword.h"
#include "main.h"
Modified: ctags/parsers/go.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/haskell.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/haxe.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/html.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/jscript.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -19,11 +19,11 @@
#include "general.h" /* must always come first */
#include <ctype.h> /* to define isalpha () */
#include <string.h>
-#include <mio/mio.h>
#ifdef DEBUG
#include <stdio.h>
#endif
+#include "mio.h"
#include "keyword.h"
#include "parse.h"
#include "read.h"
Modified: ctags/parsers/json.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/latex.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/lua.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/make.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/markdown.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/matlab.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/nsis.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/objc.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/pascal.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/perl.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/php.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/powershell.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/python.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/r.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/rest.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/ruby.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/rust.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/sh.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/sql.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/tcl.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/txt2tags.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/verilog.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: ctags/parsers/vhdl.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: doc/Doxyfile.in
12 lines changed, 6 insertions(+), 6 deletions(-)
===================================================================
@@ -794,12 +794,12 @@ INPUT = @top_srcdir@/src/ \
@top_srcdir@/doc/stash-example.c \
@top_srcdir@/doc/stash-gui-example.c \
@top_srcdir@/plugins/geanyplugin.h \
- @top_srcdir@/tagmanager/src/tm_source_file.c \
- @top_srcdir@/tagmanager/src/tm_source_file.h \
- @top_srcdir@/tagmanager/src/tm_workspace.c \
- @top_srcdir@/tagmanager/src/tm_workspace.h \
- @top_srcdir@/tagmanager/src/tm_tag.h \
- @top_srcdir@/tagmanager/src/tm_parser.h
+ @top_srcdir@/src/tagmanager/tm_source_file.c \
+ @top_srcdir@/src/tagmanager/tm_source_file.h \
+ @top_srcdir@/src/tagmanager/tm_workspace.c \
+ @top_srcdir@/src/tagmanager/tm_workspace.h \
+ @top_srcdir@/src/tagmanager/tm_tag.h \
+ @top_srcdir@/src/tagmanager/tm_parser.h
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Modified: doc/Makefile.am
11 lines changed, 5 insertions(+), 6 deletions(-)
===================================================================
@@ -41,8 +41,7 @@ EXTRA_DIST = \
geany.html \
geany.css \
geany.txt \
- geany.1 \
- makefile.win32
+ geany.1
# HTML user manual and hacking file
if WITH_RST2HTML
@@ -99,10 +98,10 @@ doxygen_dependencies = \
$(doxygen_sources) \
$(top_srcdir)/src/*.[ch] \
$(top_srcdir)/plugins/geanyplugin.h \
- $(top_srcdir)/tagmanager/src/tm_source_file.[ch] \
- $(top_srcdir)/tagmanager/src/tm_workspace.[ch] \
- $(top_srcdir)/tagmanager/src/tm_tag.h \
- $(top_srcdir)/tagmanager/src/tm_parser.h
+ $(top_srcdir)/src/tagmanager/tm_source_file.[ch] \
+ $(top_srcdir)/src/tagmanager/tm_workspace.[ch] \
+ $(top_srcdir)/src/tagmanager/tm_tag.h \
+ $(top_srcdir)/src/tagmanager/tm_parser.h
Doxyfile.stamp: Doxyfile $(doxygen_dependencies)
$(AM_V_GEN)$(DOXYGEN) Doxyfile && echo "" > $@
Modified: doc/makefile.win32
36 lines changed, 0 insertions(+), 36 deletions(-)
===================================================================
@@ -1,36 +0,0 @@
-# Optional documentation generation.
-# localwin32.mk is an optional file to override make variables.
-# Use localwin32.mk instead of editing variables as it is included in sub
-# makefiles.
-# Use localwin32.mk to override RST2HTML, DOXYGEN
-
-RST2HTML=python rst2html.py
-SED=sed
-DOXYGEN=doxygen
-CP = copy /y
--include ../localwin32.mk
-
-ifdef MSYS
-CP = cp
-endif
-
-# no PDF rule yet
-all: html api-doc
-
-html: geany.html hacking.html
-
-geany.html: geany.txt geany.css
- $(RST2HTML) -stg --stylesheet=geany.css $< $@
-
-hacking.html: ../HACKING geany.css
- $(RST2HTML) -stg --stylesheet=geany.css $< $@
-
-# FIXME: we should also replace @VERSION@
-Doxyfile: Doxyfile.in
- $(CP) $< $@
- $(SED) -i 's/@top_builddir@/../g' $@
- $(SED) -i 's/@top_srcdir@/../g' $@
-
-api-doc: Doxyfile
- $(DOXYGEN)
-
Modified: doc/making-a-release
3 lines changed, 1 insertions(+), 2 deletions(-)
===================================================================
@@ -8,8 +8,7 @@ and summarize the interesting ones. Use `git log --author='name'`
to filter commits by a particular developer name.
Ensure version numbers are all updated in:
- configure.ac geany_private.rc geany.exe.manifest
- win32-config.h doc/geany.txt
+ configure.ac geany_private.rc geany.exe.manifest doc/geany.txt
Ensure release date is updated in:
NEWS doc/geany.txt doc/geany.1.in
Check GEANY_CODENAME is set in src/geany.h.
Modified: makefile.win32
71 lines changed, 0 insertions(+), 71 deletions(-)
===================================================================
@@ -1,71 +0,0 @@
-# See http://www.geany.org/Support/BuildingOnWin32
-# Running make creates config.h then calls the sub makefiles.
-#
-# Other targets are:
-# clean: clean all generated files
-# install: install to DESTDIR
-#
-# localwin32.mk is an optional file to override make variables.
-# Use localwin32.mk instead of editing variables as it is included in sub
-# makefiles.
-# For MSYS set MSYS=1.
-# By default this should work in a Windows command prompt (cmd.exe).
-
-WINDRES = windres.exe
-CC = gcc
-CXX = g++
-CP = copy /y
-RM = del
-MKDIR = mkdir
-# $/ is used as a portable directory separator
-# strip is used to prevent line wrap
-/ := $(strip \)
-DESTDIR = C:/Program Files/Geany
--include localwin32.mk
-
-ifdef MSYS
-CP = cp
-RM = rm -f
-/ = /
-endif
-
-all: config.h
- $(MAKE) -C tagmanager/ctags -f makefile.win32
- $(MAKE) -C tagmanager/mio -f makefile.win32
- $(MAKE) -C tagmanager/src -f makefile.win32
- $(MAKE) -C scintilla/gtk -f makefile.win32
- $(MAKE) -C plugins -f makefile.win32
- $(MAKE) -C src -f makefile.win32
-
-config.h: win32-config.h
- $(CP) $< $@
-
-# used by src/makefile.win32 to avoid del ../file which is an error
-clean-local:
- -$(RM) geany_private.res geany.exe
-
-clean:
- $(MAKE) -C tagmanager/ctags -f makefile.win32 clean
- $(MAKE) -C tagmanager/mio -f makefile.win32 clean
- $(MAKE) -C tagmanager/src -f makefile.win32 clean
- $(MAKE) -C scintilla/gtk -f makefile.win32 clean
- $(MAKE) -C plugins -f makefile.win32 clean
- $(MAKE) -C src -f makefile.win32 clean
-
-.PHONY: all clean clean-local install
-
-# likely requires admin privileges
-# mkdir output is ignored in case dir exists
-# 'copy' seems to only accept / in the destination
-install:
- -$(MKDIR) "$(DESTDIR)"
- -$(MKDIR) "$(DESTDIR)/bin"
- $(CP) geany.exe "$(DESTDIR)/bin"
- -$(MKDIR) "$(DESTDIR)/lib"
- $(CP) plugins$/*.dll "$(DESTDIR)/lib"
- -$(MKDIR) "$(DESTDIR)/data"
-ifdef MSYS
- cp -r data "$(DESTDIR)"
-else
- xcopy /s /y data "$(DESTDIR)/data"
-endif
Modified: plugins/Makefile.am
3 lines changed, 1 insertions(+), 2 deletions(-)
===================================================================
@@ -1,7 +1,6 @@
# Adapted from Pidgin's plugins/Makefile.am, thanks
EXTRA_DIST = \
- makefile.win32 \
demoproxytest.px
plugindir = $(libdir)/geany
@@ -74,7 +73,7 @@ endif
AM_CPPFLAGS += \
-DGTK \
-I$(top_srcdir)/src \
- -I$(top_srcdir)/tagmanager/src \
+ -I$(top_srcdir)/src/tagmanager \
-I$(top_srcdir)/scintilla/include \
$(GTK_CFLAGS) \
$(PLUGIN_CFLAGS)
Modified: plugins/makefile.win32
80 lines changed, 0 insertions(+), 80 deletions(-)
===================================================================
@@ -1,80 +0,0 @@
-# Adapted from Pidgin's plugins/Makefile.am, thanks
-
-CC = gcc
-CXX = g++
-PREFIX = C:/libs
-RM = del
--include ../localwin32.mk
-
-ifdef MSYS
-RM = rm -f
-endif
-
-.SUFFIXES: .c .o .dll
-
-GTK_INCLUDES= \
- -I$(PREFIX)/include/gtk-2.0 \
- -I$(PREFIX)/lib/gtk-2.0/include \
- -I$(PREFIX)/include/atk-1.0 \
- -I$(PREFIX)/include/cairo \
- -I$(PREFIX)/include/gdk-pixbuf-2.0 \
- -I$(PREFIX)/include/pango-1.0 \
- -I$(PREFIX)/include/glib-2.0 \
- -I$(PREFIX)/lib/glib-2.0/include \
- -I$(PREFIX)/include \
- -I$(PREFIX)/include/gettext
-
-INCLUDEDIRS= -I.. \
- -I../src \
- -I../scintilla/include \
- -I../tagmanager/src \
- $(GTK_INCLUDES)
-
-ALL_GTK_LIBS= \
- -L"$(PREFIX)/lib" \
- -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 \
- -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
-
-CBASEFLAGS=-Wall -pipe -mms-bitfields -DHAVE_CONFIG_H
-ifdef DEBUG
-CFLAGS=-O0 -g $(CBASEFLAGS)
-else
-CFLAGS=-O2 $(CBASEFLAGS)
-endif
-CFLAGS += -DGTK
-
-ifndef GTK210
-ALL_GTK_LIBS += -liconv
-endif
-
-.PHONY: all clean plugins
-
-all: plugins
-
-.c.o:
- $(CC) $(CFLAGS) $(DEFINES) $(INCLUDEDIRS) -o $@ -c $<
-
-.o.dll:
- $(CC) -shared $< $(ALL_GTK_LIBS) $(DLL_LD_FLAGS) -o $@
-
-plugins: \
- htmlchars.dll \
- demoplugin.dll \
- classbuilder.dll \
- export.dll \
- saveactions.dll \
- splitwindow.dll \
- filebrowser.dll
-
-
-clean:
- -$(RM) deps.mak *.o *.dll
-
-deps.mak:
- $(CC) -MM $(CFLAGS) $(DEFINES) $(INCLUDEDIRS) *.c >deps.mak
-
-# Generate header dependencies with "make deps.mak"
-include deps.mak
-
-..\localwin32.mk:
- echo # Set local variables here >$@
Modified: scintilla/Makefile.am
3 lines changed, 1 insertions(+), 2 deletions(-)
===================================================================
@@ -153,5 +153,4 @@ marshallers: gtk/scintilla-marshal.list
glib-genmarshal --prefix scintilla_marshal gtk/scintilla-marshal.list --header > gtk/scintilla-marshal.h
glib-genmarshal --prefix scintilla_marshal gtk/scintilla-marshal.list --body > gtk/scintilla-marshal.c
-EXTRA_DIST=gtk/scintilla-marshal.list License.txt README version.txt \
- gtk/makefile.win32
+EXTRA_DIST=gtk/scintilla-marshal.list License.txt README version.txt
Modified: scintilla/gtk/makefile.win32
80 lines changed, 0 insertions(+), 80 deletions(-)
===================================================================
@@ -1,80 +0,0 @@
-# Make file for Scintilla on Linux or compatible OS
-# Copyright 1998-2010 by Neil Hodgson <neilh at scintilla.org>
-# The License.txt file describes the conditions under which this software may be distributed.
-# This makefile assumes GCC 4.3 is used and changes will be needed to use other compilers.
-# GNU make does not like \r\n line endings so should be saved to CVS in binary form.
-# Builds for GTK+ 2 and no longer supports GTK+ 1.
-# Also works with ming32-make on Windows.
-
-.SUFFIXES: .cxx .c .o .h .a
-CXX = g++
-CC = gcc
-AR = ar
-
-ifdef GTK3
-GTKVERSION=gtk+-3.0
-else
-GTKVERSION=gtk+-2.0
-endif
-
-RANLIB = ranlib
-PREFIX = C:/libs
-RM = del
--include ../../localwin32.mk
-
-ifdef MSYS
-RM = rm -f
-endif
-
-COMPLIB=../scintilla.a
-
-vpath %.h ../src ../include ../lexlib
-vpath %.cxx ../src ../lexlib ../lexers
-
-INCLUDEDIRS=-I ../include -I ../src -I ../lexlib
-CXXBASEFLAGS=-Wall -Wno-missing-braces -Wno-char-subscripts \
- -DGTK -DSCI_LEXER -DNO_CXX11_REGEX \
- $(INCLUDEDIRS) \
- -DGEANY_EXPORT_SYMBOL="__declspec(dllexport)" \
- -DGEANY_API_SYMBOL=GEANY_EXPORT_SYMBOL
-
-
-ifdef DEBUG
-CTFLAGS=-DDEBUG -g -O0 $(CXXBASEFLAGS)
-else
-CTFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS)
-endif
-
-CFLAGS:=$(CTFLAGS)
-CXXTFLAGS:=--std=c++0x $(CTFLAGS) $(REFLAGS)
-
-CONFIGFLAGS:=$(shell pkg-config --cflags $(GTKVERSION))
-MARSHALLER=scintilla-marshal.o
-
-.cxx.o:
- $(CXX) $(CONFIGFLAGS) $(CXXTFLAGS) $(CXXFLAGS) -c $<
-.c.o:
- $(CC) $(CONFIGFLAGS) $(CFLAGS) -w -c $<
-
-LEXOBJS:=$(addsuffix .o,$(basename $(notdir $(wildcard ../lexers/Lex*.cxx))))
-
-all: $(COMPLIB)
-
-clean:
- -$(RM) deps.mak *.o $(COMPLIB) *.plist
-
-deps.mak:
- $(CXX) -MM $(CONFIGFLAGS) $(CXXTFLAGS) *.cxx ../src/*.cxx ../lexlib/*.cxx ../lexers/*.cxx >deps.mak
-
-$(COMPLIB): Accessor.o CharacterSet.o LexerBase.o LexerModule.o LexerSimple.o StyleContext.o WordList.o \
- CharClassify.o Decoration.o Document.o PerLine.o Catalogue.o CallTip.o CaseConvert.o CaseFolder.o \
- ScintillaBase.o ContractionState.o EditModel.o Editor.o EditView.o ExternalLexer.o MarginView.o \
- PropSetSimple.o PlatGTK.o \
- KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o CellBuffer.o CharacterCategory.o ViewStyle.o \
- RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \
- $(MARSHALLER) $(LEXOBJS)
- $(AR) rc $@ $^
- $(RANLIB) $@
-
-# Generate header dependencies with "make deps.mak"
-include deps.mak
Modified: scripts/create_php_tags.py
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -18,13 +18,13 @@
UPSTREAM_TAG_DEFINITION = 'http://doc.php.net/downloads/json/php_manual_en.json'
PROTOTYPE_RE = r'^(?P<return_type>.*) {tag_name}(?P<arg_list>\(.*\))$'
-# (from tagmanager/src/tm_tag.c:90)
+# (from src/tagmanager/tm_tag.c:90)
TA_NAME = 200
TA_TYPE = 204
TA_ARGLIST = 205
TA_SCOPE = 206
TA_VARTYPE = 207
-# TMTagType (tagmanager/src/tm_tag.h:49)
+# TMTagType (src/tagmanager/tm_tag.h:49)
TYPE_CLASS = 1
TYPE_FUNCTION = 16
TYPE_MEMBER = 64
Modified: src/Makefile.am
8 lines changed, 4 insertions(+), 4 deletions(-)
===================================================================
@@ -1,5 +1,6 @@
## Process this file with automake to produce Makefile.in
+SUBDIRS = tagmanager
EXTRA_DIST = \
gb.c \
@@ -9,13 +10,12 @@ EXTRA_DIST = \
filetypesprivate.h \
keybindingsprivate.h \
pluginprivate.h \
- projectprivate.h \
- makefile.win32
+ projectprivate.h
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/scintilla/include \
- -I$(top_srcdir)/tagmanager/src \
+ -I$(srcdir)/tagmanager \
-DGTK \
-DGEANY_PRIVATE \
-DG_LOG_DOMAIN=\""Geany"\" \
@@ -120,7 +120,7 @@ libgeany_la_LDFLAGS = @LIBGEANY_LDFLAGS@
libgeany_la_LIBADD = \
$(top_builddir)/scintilla/libscintilla.la \
- $(top_builddir)/tagmanager/src/libtagmanager.la \
+ $(builddir)/tagmanager/libtagmanager.la \
@GTK_LIBS@ \
@GTHREAD_LIBS@ \
$(MAC_INTEGRATION_LIBS) \
Modified: src/filetypes.h
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -142,7 +142,7 @@ typedef struct GeanyFiletype
{
GeanyFiletypeID id; /**< Index in @ref filetypes. */
/* Represents the TMParserType of tagmanager (see the table
- * in tagmanager/src/tm_parser.h). */
+ * in src/tagmanager/tm_parser.h). */
TMParserType lang;
/** Untranslated short name, such as "C", "None".
* Must not be translated as it's used for hash table lookups - use
Modified: src/makefile.win32
99 lines changed, 0 insertions(+), 99 deletions(-)
===================================================================
@@ -1,99 +0,0 @@
-# Note: PACKAGE_DATA_DIR and PACKAGE_LOCALE_DIR are no longer used on Windows.
-
-DEFINES = -DHAVE_CONFIG_H \
- -DGEANY_PRIVATE \
- -DGEANY_DATADIR=\"data\" \
- -DGEANY_LOCALEDIR=\"\" \
- -DGEANY_LIBDIR=\"\" \
- -DGEANY_PREFIX=\"\" \
- -DGTK \
- -DGEANY_EXPORT_SYMBOL="__declspec(dllexport)" \
- -DGEANY_API_SYMBOL=GEANY_EXPORT_SYMBOL
-
-.SUFFIXES: .c .o .h .a
-WINDRES = windres.exe
-CC = gcc
-CXX = g++
-RES = ../geany_private.res
-TARGET = ../geany.exe
-PREFIX = C:/libs
-RM = del
--include ../localwin32.mk
-
-ifdef MSYS
-RM = rm -f
-endif
-
-GTK_INCLUDES= \
- -I$(PREFIX)/include/gtk-2.0 \
- -I$(PREFIX)/lib/gtk-2.0/include \
- -I$(PREFIX)/include/atk-1.0 \
- -I$(PREFIX)/include/cairo \
- -I$(PREFIX)/include/gdk-pixbuf-2.0 \
- -I$(PREFIX)/include/pango-1.0 \
- -I$(PREFIX)/include/glib-2.0 \
- -I$(PREFIX)/lib/glib-2.0/include \
- -I$(PREFIX)/include \
- -I$(PREFIX)/include/gettext
-
-INCLUDEDIRS= -I.. \
- -I../scintilla/include \
- -I../tagmanager/mio \
- -I../tagmanager/src \
- $(GTK_INCLUDES)
-
-ALL_GTK_LIBS= \
- -L"$(PREFIX)/lib" \
- -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 \
- -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lgthread-2.0 -lintl \
- -lcairo -lpangocairo-1.0 -lgio-2.0
- # these things are for GTK >= 2.8
- # (should be same as with MSYS: pkg-config --libs gtk+-2.0 gthread-2.0)
- #"$(PREFIX)/lib/libcairo.dll.a" \
- #"$(PREFIX)/lib/asprintf.lib" \
- #"$(PREFIX)/lib/charset.lib" \
-
-WIN_LIBS=-mwindows -lole32 -luuid -lwsock32
-
-CBASEFLAGS=-Wall -pipe -mms-bitfields $(DEFINES) $(INCLUDEDIRS)
-ifdef DEBUG
-CFLAGS=-O0 -g $(CBASEFLAGS)
-DEFINES += -DGEANY_DEBUG
-else
-CFLAGS=-O2 $(CBASEFLAGS)
-endif
-
-OBJS = about.o build.o callbacks.o dialogs.o document.o editor.o encodings.o filetypes.o \
- geanyentryaction.o geanymenubuttonaction.o geanyobject.o geanywraplabel.o highlighting.o \
- keybindings.o keyfile.o log.o main.o msgwindow.o navqueue.o notebook.o \
- plugins.o pluginutils.o prefs.o printing.o project.o sciwrappers.o search.o \
- socket.o spawn.o stash.o symbols.o templates.o toolbar.o tools.o sidebar.o \
- ui_utils.o utils.o win32.o
-
-.c.o:
- $(CC) $(CFLAGS) -c $<
-
-all: $(TARGET)
-
-$(RES): ../geany_private.rc ../icons/geany.ico
- $(WINDRES) -i $< --input-format=rc -o $@ -O coff
-
-# this calls parent clean-local target because del ../file won't work
-clean:
- -$(RM) deps.mak *.o
- $(MAKE) -C .. -f makefile.win32 clean-local
-
-STLIBS = ../scintilla/scintilla.a ../tagmanager/ctags/ctags.a \
- ../tagmanager/mio/mio.a ../tagmanager/src/tagmanager.a
-
-$(TARGET): $(OBJS) $(RES) $(STLIBS)
- $(CXX) $(OBJS) $(RES) -o $(TARGET) $(STLIBS) $(ALL_GTK_LIBS) $(WIN_LIBS)
-
-deps.mak:
- $(CC) -MM $(CFLAGS) *.c >deps.mak
-
-# Generate header dependencies with "make deps.mak"
-include deps.mak
-
-..\localwin32.mk:
- echo # Set local variables here >$@
Modified: src/tagmanager/Makefile.am
8 lines changed, 2 insertions(+), 6 deletions(-)
===================================================================
@@ -1,16 +1,12 @@
AM_CPPFLAGS = \
-I$(srcdir) \
- -I$(srcdir)/.. \
- -I$(srcdir)/../ctags \
+ -I$(top_srcdir)/ctags/main \
-DGEANY_PRIVATE \
-DG_LOG_DOMAIN=\"Tagmanager\"
AM_CFLAGS = \
$(GTK_CFLAGS) \
@LIBGEANY_CFLAGS@
-EXTRA_DIST = \
- makefile.win32
-
noinst_LTLIBRARIES = libtagmanager.la
tagmanager_includedir = $(includedir)/geany/tagmanager
@@ -33,4 +29,4 @@ libtagmanager_la_SOURCES =\
tm_ctags_wrappers.h \
tm_ctags_wrappers.c
-libtagmanager_la_LIBADD = ../ctags/libctags.la $(GTK_LIBS)
+libtagmanager_la_LIBADD = $(top_builddir)/ctags/libctags.la $(GTK_LIBS)
Modified: src/tagmanager/tm_ctags_wrappers.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_ctags_wrappers.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_parser.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_parser.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_source_file.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_source_file.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_tag.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_tag.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_workspace.c
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: src/tagmanager/tm_workspace.h
0 lines changed, 0 insertions(+), 0 deletions(-)
===================================================================
No diff available, check online
Modified: tagmanager/Makefile.am
3 lines changed, 0 insertions(+), 3 deletions(-)
===================================================================
@@ -1,3 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-SUBDIRS = mio ctags src
Modified: tagmanager/ctags/Makefile.am
89 lines changed, 0 insertions(+), 89 deletions(-)
===================================================================
@@ -1,89 +0,0 @@
-AM_CPPFLAGS = \
- -I$(srcdir) \
- -I$(srcdir)/.. \
- -DG_LOG_DOMAIN=\"CTags\"
-AM_CFLAGS = \
- $(GTK_CFLAGS) \
- @LIBGEANY_CFLAGS@
-
-EXTRA_DIST = \
- makefile.win32
-
-noinst_LTLIBRARIES = libctags.la
-
-libctags_la_LIBADD = ../mio/libmio.la
-
-parsers = \
- abaqus.c \
- abc.c \
- actionscript.c \
- asciidoc.c \
- asm.c \
- basic.c \
- c.c \
- cobol.c \
- conf.c \
- css.c \
- diff.c \
- docbook.c \
- erlang.c \
- fortran.c \
- go.c \
- haskell.c \
- haxe.c \
- html.c \
- js.c \
- json.c \
- latex.c \
- lregex.c \
- lua.c \
- make.c \
- markdown.c \
- matlab.c \
- nsis.c \
- objc.c \
- pascal.c \
- perl.c \
- php.c \
- powershell.c \
- python.c \
- r.c \
- rest.c \
- ruby.c \
- rust.c \
- sh.c \
- sql.c \
- tcl.c \
- txt2tags.c \
- verilog.c \
- vhdl.c
-
-libctags_la_SOURCES = \
- args.c \
- args.h \
- ctags.c \
- ctags.h \
- entry.c \
- entry.h \
- general.h \
- get.c \
- get.h \
- keyword.c \
- keyword.h \
- main.h \
- nestlevel.c \
- nestlevel.h \
- options.c \
- options.h \
- parse.c \
- parse.h \
- parsers.h \
- read.c \
- read.h \
- sort.c \
- sort.h \
- strlist.c \
- strlist.h \
- vstring.c \
- vstring.h \
- $(parsers)
Modified: tagmanager/ctags/makefile.win32
60 lines changed, 0 insertions(+), 60 deletions(-)
===================================================================
@@ -1,60 +0,0 @@
-
-.SUFFIXES: .cxx .c .o .h .a
-CC = gcc
-AR = ar
-RANLIB = ranlib
-PREFIX = C:/libs
-RM = del
--include ../../localwin32.mk
-
-ifdef MSYS
-RM = rm -f
-endif
-
-COMPLIB=ctags.a
-
-REGEX_DEFINES = -DHAVE_REGCOMP -DSTDC_HEADERS=1
-
-GTK_INCLUDES= \
- -I$(PREFIX)/include/gtk-2.0 \
- -I$(PREFIX)/lib/gtk-2.0/include \
- -I$(PREFIX)/include/atk-1.0 \
- -I$(PREFIX)/include/cairo \
- -I$(PREFIX)/include/gdk-pixbuf-2.0 \
- -I$(PREFIX)/include/pango-1.0 \
- -I$(PREFIX)/include/glib-2.0 \
- -I$(PREFIX)/lib/glib-2.0/include \
- -I$(PREFIX)/include \
- -I$(PREFIX)/include/gettext
-
-INCLUDEDIRS=-I ../ -I . $(GTK_INCLUDES)
-
-CBASEFLAGS=-Wall -pipe -mms-bitfields -DPACKAGE=\"geany\" -Wno-missing-braces -Wno-char-subscripts $(INCLUDEDIRS)
-ifdef DEBUG
-CFLAGS= -O0 -g $(CBASEFLAGS)
-else
-CFLAGS=-O2 $(CBASEFLAGS)
-endif
-
-.c.o:
- $(CC) $(REGEX_DEFINES) $(CFLAGS) -c $<
-
-all: $(COMPLIB)
-
-clean:
- -$(RM) deps.mak *.o $(COMPLIB)
-
-$(COMPLIB): abaqus.o abc.o args.o c.o cobol.o erlang.o fortran.o make.o conf.o pascal.o perl.o php.o diff.o vhdl.o verilog.o lua.o js.o json.o \
-actionscript.o nsis.o objc.o powershell.c \
-haskell.o haxe.o html.o python.o lregex.o asciidoc.o rest.o sh.o ctags.o entry.o get.o keyword.o nestlevel.o \
-options.o \
-parse.o basic.o read.o sort.o strlist.o latex.o markdown.o matlab.o docbook.o tcl.o ruby.o rust.o asm.o sql.o txt2tags.o css.o \
-vstring.o r.o go.o
- $(AR) rc $@ $^
- $(RANLIB) $@
-
-deps.mak:
- $(CC) -MM $(CFLAGS) *.c >deps.mak
-
-# Generate header dependencies with "make deps.mak"
-include deps.mak
Modified: tagmanager/mio/COPYING
339 lines changed, 0 insertions(+), 339 deletions(-)
===================================================================
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser General
-Public License instead of this License.
Modified: tagmanager/mio/Makefile.am
13 lines changed, 0 insertions(+), 13 deletions(-)
===================================================================
@@ -1,13 +0,0 @@
-noinst_LTLIBRARIES = libmio.la
-
-AM_CPPFLAGS = -DG_LOG_DOMAIN=\"MIO\" #-DMIO_DEBUG
-AM_CFLAGS = $(GTK_CFLAGS) @LIBGEANY_CFLAGS@
-
-libmio_la_LIBADD = $(GTK_LIBS)
-libmio_la_SOURCES = mio.c
-
-EXTRA_DIST = \
- mio.h \
- mio-file.c \
- mio-memory.c \
- makefile.win32
Modified: tagmanager/mio/README
3 lines changed, 0 insertions(+), 3 deletions(-)
===================================================================
@@ -1,3 +0,0 @@
-These files are from the MIO library, http://gitorious.org/mio
-
-See COPYING for the MIO license.
Modified: tagmanager/mio/makefile.win32
53 lines changed, 0 insertions(+), 53 deletions(-)
===================================================================
@@ -1,53 +0,0 @@
-
-.SUFFIXES: .cxx .c .o .h .a
-CC = gcc
-AR = ar
-RANLIB = ranlib
-PREFIX = C:/libs
-RM = del
--include ../../localwin32.mk
-
-ifdef MSYS
-RM = rm -f
-endif
-
-COMPLIB=mio.a
-
-GTK_INCLUDES= \
- -I$(PREFIX)/include/gtk-2.0 \
- -I$(PREFIX)/lib/gtk-2.0/include \
- -I$(PREFIX)/include/atk-1.0 \
- -I$(PREFIX)/include/cairo \
- -I$(PREFIX)/include/gdk-pixbuf-2.0 \
- -I$(PREFIX)/include/pango-1.0 \
- -I$(PREFIX)/include/glib-2.0 \
- -I$(PREFIX)/lib/glib-2.0/include \
- -I$(PREFIX)/include \
- -I$(PREFIX)/include/gettext
-
-INCLUDEDIRS=-I include $(GTK_INCLUDES)
-
-CBASEFLAGS=-Wall -pipe -mms-bitfields -DPACKAGE=\"geany\" -Wno-missing-braces -Wno-char-subscripts $(INCLUDEDIRS)
-ifdef DEBUG
-CFLAGS= -O0 -g $(CBASEFLAGS)
-else
-CFLAGS=-O2 $(CBASEFLAGS)
-endif
-
-.c.o:
- $(CC) $(CFLAGS) -c $<
-
-all: $(COMPLIB)
-
-clean:
- -$(RM) deps.mak *.o $(COMPLIB)
-
-$(COMPLIB): mio.o
- $(AR) rc $@ $^
- $(RANLIB) $@
-
-deps.mak:
- $(CC) -MM $(CFLAGS) *.c >deps.mak
-
-# Generate header dependencies with "make deps.mak"
-include deps.mak
Modified: tagmanager/mio/mio-file.c
175 lines changed, 0 insertions(+), 175 deletions(-)
===================================================================
@@ -1,175 +0,0 @@
-/*
- * MIO, an I/O abstraction layer replicating C file I/O API.
- * Copyright (C) 2010 Colomban Wendling <ban at herbesfolles.org>
- *
- * 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.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
-
-/* file IO implementation */
-
-#include <glib.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <errno.h>
-
-#include "mio.h"
-
-
-#define FILE_SET_VTABLE(mio) \
- G_STMT_START { \
- mio->v_free = file_free; \
- mio->v_read = file_read; \
- mio->v_write = file_write; \
- mio->v_getc = file_getc; \
- mio->v_gets = file_gets; \
- mio->v_ungetc = file_ungetc; \
- mio->v_putc = file_putc; \
- mio->v_puts = file_puts; \
- mio->v_vprintf = file_vprintf; \
- mio->v_clearerr = file_clearerr; \
- mio->v_eof = file_eof; \
- mio->v_error = file_error; \
- mio->v_seek = file_seek; \
- mio->v_tell = file_tell; \
- mio->v_rewind = file_rewind; \
- mio->v_getpos = file_getpos; \
- mio->v_setpos = file_setpos; \
- } G_STMT_END
-
-
-static void
-file_free (MIO *mio)
-{
- if (mio->impl.file.close_func) {
- mio->impl.file.close_func (mio->impl.file.fp);
- }
- mio->impl.file.close_func = NULL;
- mio->impl.file.fp = NULL;
-}
-
-static gsize
-file_read (MIO *mio,
- void *ptr,
- gsize size,
- gsize nmemb)
-{
- return fread (ptr, size, nmemb, mio->impl.file.fp);
-}
-
-static gsize
-file_write (MIO *mio,
- const void *ptr,
- gsize size,
- gsize nmemb)
-{
- return fwrite (ptr, size, nmemb, mio->impl.file.fp);
-}
-
-static gint
-file_putc (MIO *mio,
- gint c)
-{
- return fputc (c, mio->impl.file.fp);
-}
-
-static gint
-file_puts (MIO *mio,
- const gchar *s)
-{
- return fputs (s, mio->impl.file.fp);
-}
-
-G_GNUC_PRINTF (2, 0)
-static gint
-file_vprintf (MIO *mio,
- const gchar *format,
- va_list ap)
-{
- return vfprintf (mio->impl.file.fp, format, ap);
-}
-
-static gint
-file_getc (MIO *mio)
-{
- return fgetc (mio->impl.file.fp);
-}
-
-static gint
-file_ungetc (MIO *mio,
- gint ch)
-{
- return ungetc (ch, mio->impl.file.fp);
-}
-
-static gchar *
-file_gets (MIO *mio,
- gchar *s,
- gsize size)
-{
- return fgets (s, (int)size, mio->impl.file.fp);
-}
-
-static void
-file_clearerr (MIO *mio)
-{
- clearerr (mio->impl.file.fp);
-}
-
-static gint
-file_eof (MIO *mio)
-{
- return feof (mio->impl.file.fp);
-}
-
-static gint
-file_error (MIO *mio)
-{
- return ferror (mio->impl.file.fp);
-}
-
-static gint
-file_seek (MIO *mio,
- glong offset,
- gint whence)
-{
- return fseek (mio->impl.file.fp, offset, whence);
-}
-
-static glong
-file_tell (MIO *mio)
-{
- return ftell (mio->impl.file.fp);
-}
-
-static void
-file_rewind (MIO *mio)
-{
- rewind (mio->impl.file.fp);
-}
-
-static gint
-file_getpos (MIO *mio,
- MIOPos *pos)
-{
- return fgetpos (mio->impl.file.fp, &pos->impl.file);
-}
-
-static gint
-file_setpos (MIO *mio,
- MIOPos *pos)
-{
- return fsetpos (mio->impl.file.fp, &pos->impl.file);
-}
Modified: tagmanager/mio/mio-memory.c
480 lines changed, 0 insertions(+), 480 deletions(-)
===================================================================
@@ -1,480 +0,0 @@
-/*
- * MIO, an I/O abstraction layer replicating C file I/O API.
- * Copyright (C) 2010 Colomban Wendling <ban at herbesfolles.org>
- *
- * 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.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
-
-/* memory IO implementation */
-
-#include <glib.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#include "mio.h"
-
-
-#define MEM_SET_VTABLE(mio) \
- G_STMT_START { \
- mio->v_free = mem_free; \
- mio->v_read = mem_read; \
- mio->v_write = mem_write; \
- mio->v_getc = mem_getc; \
- mio->v_gets = mem_gets; \
- mio->v_ungetc = mem_ungetc; \
- mio->v_putc = mem_putc; \
- mio->v_puts = mem_puts; \
- mio->v_vprintf = mem_vprintf; \
- mio->v_clearerr = mem_clearerr; \
- mio->v_eof = mem_eof; \
- mio->v_error = mem_error; \
- mio->v_seek = mem_seek; \
- mio->v_tell = mem_tell; \
- mio->v_rewind = mem_rewind; \
- mio->v_getpos = mem_getpos; \
- mio->v_setpos = mem_setpos; \
- } G_STMT_END
-
-
-/* minimal reallocation chunk size */
-#define MIO_CHUNK_SIZE 4096
-
-
-static void
-mem_free (MIO *mio)
-{
- if (mio->impl.mem.free_func) {
- mio->impl.mem.free_func (mio->impl.mem.buf);
- }
- mio->impl.mem.buf = NULL;
- mio->impl.mem.pos = 0;
- mio->impl.mem.size = 0;
- mio->impl.mem.allocated_size = 0;
- mio->impl.mem.realloc_func = NULL;
- mio->impl.mem.free_func = NULL;
- mio->impl.mem.eof = FALSE;
- mio->impl.mem.error = FALSE;
-}
-
-static gsize
-mem_read (MIO *mio,
- void *ptr_,
- gsize size,
- gsize nmemb)
-{
- gsize n_read = 0;
-
- if (size != 0 && nmemb != 0) {
- gsize size_avail = mio->impl.mem.size - mio->impl.mem.pos;
- gsize copy_bytes = size * nmemb;
- guchar *ptr = ptr_;
- @@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list