Branch: refs/heads/master Author: Jiří Techet techet@gmail.com Committer: Jiří Techet techet@gmail.com Date: Fri, 29 Jul 2016 20:03:56 UTC Commit: 6bc579798716dbe94a171a016f9989c92c4b67e2 https://github.com/geany/geany/commit/6bc579798716dbe94a171a016f9989c92c4b67...
Log Message: ----------- Don't use combination of tabs and spaces for indentation
This was done using Geany's "replace tabs with spaces" followed by "replace spaces with tabs" plus a lot of manual work because the indentation was inconsistent in many cases.
Modified Paths: -------------- 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/main.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/vstring.c ctags/main/vstring.h ctags/parsers/asciidoc.c ctags/parsers/c.c ctags/parsers/conf.c ctags/parsers/css.c ctags/parsers/diff.c ctags/parsers/fortran.c ctags/parsers/haskell.c ctags/parsers/haxe.c ctags/parsers/latex.c ctags/parsers/matlab.c ctags/parsers/nsis.c ctags/parsers/pascal.c ctags/parsers/python.c ctags/parsers/r.c ctags/parsers/rest.c ctags/parsers/sh.c ctags/parsers/vhdl.c
Modified: ctags/main/args.c 320 lines changed, 160 insertions(+), 160 deletions(-) =================================================================== @@ -11,7 +11,7 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */
#include <stdio.h> #include <string.h> @@ -26,231 +26,231 @@
static char *nextStringArg (const char** const next) { - char* result = NULL; - const char* start; + char* result = NULL; + const char* start;
- Assert (*next != NULL); - for (start = *next ; isspace ((int) *start) ; ++start) - ; - if (*start == '\0') - *next = start; - else - { - size_t length; - const char* end; + Assert (*next != NULL); + for (start = *next ; isspace ((int) *start) ; ++start) + ; + if (*start == '\0') + *next = start; + else + { + size_t length; + const char* end;
- for (end = start ; *end != '\0' && ! isspace ((int) *end) ; ++end) - ; - length = end - start; - Assert (length > 0); - result = xMalloc (length + 1, char); - strncpy (result, start, length); - result [length] = '\0'; - *next = end; - } - return result; + for (end = start ; *end != '\0' && ! isspace ((int) *end) ; ++end) + ; + length = end - start; + Assert (length > 0); + result = xMalloc (length + 1, char); + strncpy (result, start, length); + result [length] = '\0'; + *next = end; + } + return result; }
static char* nextStringLine (const char** const next) { - char* result = NULL; - size_t length; - const char* end; + char* result = NULL; + size_t length; + const char* end;
- Assert (*next != NULL); - for (end = *next ; *end != '\n' && *end != '\0' ; ++end) - ; - length = end - *next; - if (length > 0) - { - result = xMalloc (length + 1, char); - strncpy (result, *next, length); - result [length] = '\0'; - } - if (*end == '\n') - ++end; - *next = end; - return result; + Assert (*next != NULL); + for (end = *next ; *end != '\n' && *end != '\0' ; ++end) + ; + length = end - *next; + if (length > 0) + { + result = xMalloc (length + 1, char); + strncpy (result, *next, length); + result [length] = '\0'; + } + if (*end == '\n') + ++end; + *next = end; + return result; }
static char* nextString (const Arguments* const current, const char** const next) { - char* result; - if (current->lineMode) - result = nextStringLine (next); - else - result = nextStringArg (next); - return result; + char* result; + if (current->lineMode) + result = nextStringLine (next); + else + result = nextStringArg (next); + return result; }
static char* nextFileArg (FILE* const fp) { - char* result = NULL; - Assert (fp != NULL); - if (! feof (fp)) - { - vString* vs = vStringNew (); - int c; - do - c = fgetc (fp); - while (isspace (c)); - - if (c != EOF) + char* result = NULL; + Assert (fp != NULL); + if (! feof (fp)) { - do - { - vStringPut (vs, c); - c = fgetc (fp); - } while (c != EOF && ! isspace (c)); - vStringTerminate (vs); - Assert (vStringLength (vs) > 0); - result = xMalloc (vStringLength (vs) + 1, char); - strcpy (result, vStringValue (vs)); + vString* vs = vStringNew (); + int c; + do + c = fgetc (fp); + while (isspace (c)); + + if (c != EOF) + { + do + { + vStringPut (vs, c); + c = fgetc (fp); + } while (c != EOF && ! isspace (c)); + vStringTerminate (vs); + Assert (vStringLength (vs) > 0); + result = xMalloc (vStringLength (vs) + 1, char); + strcpy (result, vStringValue (vs)); + } + vStringDelete (vs); } - vStringDelete (vs); - } - return result; + return result; }
static char* nextFileLine (FILE* const fp) { - char* result = NULL; - Assert (fp != NULL); - if (! feof (fp)) - { - vString* vs = vStringNew (); - int c; - - c = fgetc (fp); - while (c != EOF && c != '\n') - { - vStringPut (vs, c); - c = fgetc (fp); - } - vStringTerminate (vs); - if (vStringLength (vs) > 0) + char* result = NULL; + Assert (fp != NULL); + if (! feof (fp)) { - result = xMalloc (vStringLength (vs) + 1, char); - strcpy (result, vStringValue (vs)); + vString* vs = vStringNew (); + int c; + + c = fgetc (fp); + while (c != EOF && c != '\n') + { + vStringPut (vs, c); + c = fgetc (fp); + } + vStringTerminate (vs); + if (vStringLength (vs) > 0) + { + result = xMalloc (vStringLength (vs) + 1, char); + strcpy (result, vStringValue (vs)); + } + vStringDelete (vs); } - vStringDelete (vs); - } - return result; + return result; }
static char* nextFileString (const Arguments* const current, FILE* const fp) { - char* result; - if (current->lineMode) - result = nextFileLine (fp); - else - result = nextFileArg (fp); - return result; + char* result; + if (current->lineMode) + result = nextFileLine (fp); + else + result = nextFileArg (fp); + return result; }
extern Arguments* argNewFromString (const char* const string) { - Arguments* result = xMalloc (1, Arguments); - memset (result, 0, sizeof (Arguments)); - result->type = ARG_STRING; - result->u.stringArgs.string = string; - result->u.stringArgs.item = string; - result->u.stringArgs.next = string; - result->item = nextString (result, &result->u.stringArgs.next); - return result; + Arguments* result = xMalloc (1, Arguments); + memset (result, 0, sizeof (Arguments)); + result->type = ARG_STRING; + result->u.stringArgs.string = string; + result->u.stringArgs.item = string; + result->u.stringArgs.next = string; + result->item = nextString (result, &result->u.stringArgs.next); + return result; }
extern Arguments* argNewFromArgv (char* const* const argv) { - Arguments* result = xMalloc (1, Arguments); - memset (result, 0, sizeof (Arguments)); - result->type = ARG_ARGV; - result->u.argvArgs.argv = argv; - result->u.argvArgs.item = result->u.argvArgs.argv; - result->item = *result->u.argvArgs.item; - return result; + Arguments* result = xMalloc (1, Arguments); + memset (result, 0, sizeof (Arguments)); + result->type = ARG_ARGV; + result->u.argvArgs.argv = argv; + result->u.argvArgs.item = result->u.argvArgs.argv; + result->item = *result->u.argvArgs.item; + return result; }
extern Arguments* argNewFromFile (FILE* const fp) { - Arguments* result = xMalloc (1, Arguments); - memset (result, 0, sizeof (Arguments)); - result->type = ARG_FILE; - result->u.fileArgs.fp = fp; - result->item = nextFileString (result, result->u.fileArgs.fp); - return result; + Arguments* result = xMalloc (1, Arguments); + memset (result, 0, sizeof (Arguments)); + result->type = ARG_FILE; + result->u.fileArgs.fp = fp; + result->item = nextFileString (result, result->u.fileArgs.fp); + return result; }
extern Arguments* argNewFromLineFile (FILE* const fp) { - Arguments* result = xMalloc (1, Arguments); - memset (result, 0, sizeof (Arguments)); - result->type = ARG_FILE; - result->lineMode = TRUE; - result->u.fileArgs.fp = fp; - result->item = nextFileString (result, result->u.fileArgs.fp); - return result; + Arguments* result = xMalloc (1, Arguments); + memset (result, 0, sizeof (Arguments)); + result->type = ARG_FILE; + result->lineMode = TRUE; + result->u.fileArgs.fp = fp; + result->item = nextFileString (result, result->u.fileArgs.fp); + return result; }
extern char *argItem (const Arguments* const current) { - Assert (current != NULL); - Assert (! argOff (current)); - return current->item; + Assert (current != NULL); + Assert (! argOff (current)); + return current->item; }
extern boolean argOff (const Arguments* const current) { - Assert (current != NULL); - return (boolean) (current->item == NULL); + Assert (current != NULL); + return (boolean) (current->item == NULL); }
extern void argSetWordMode (Arguments* const current) { - Assert (current != NULL); - current->lineMode = FALSE; + Assert (current != NULL); + current->lineMode = FALSE; }
extern void argSetLineMode (Arguments* const current) { - Assert (current != NULL); - current->lineMode = TRUE; + Assert (current != NULL); + current->lineMode = TRUE; }
extern void argForth (Arguments* const current) { - Assert (current != NULL); - Assert (! argOff (current)); - switch (current->type) - { - case ARG_STRING: - if (current->item != NULL) - eFree (current->item); - current->u.stringArgs.item = current->u.stringArgs.next; - current->item = nextString (current, ¤t->u.stringArgs.next); - break; - case ARG_ARGV: - ++current->u.argvArgs.item; - current->item = *current->u.argvArgs.item; - break; - case ARG_FILE: - if (current->item != NULL) - eFree (current->item); - current->item = nextFileString (current, current->u.fileArgs.fp); - break; - default: - Assert ("Invalid argument type" == NULL); - break; - } + Assert (current != NULL); + Assert (! argOff (current)); + switch (current->type) + { + case ARG_STRING: + if (current->item != NULL) + eFree (current->item); + current->u.stringArgs.item = current->u.stringArgs.next; + current->item = nextString (current, ¤t->u.stringArgs.next); + break; + case ARG_ARGV: + ++current->u.argvArgs.item; + current->item = *current->u.argvArgs.item; + break; + case ARG_FILE: + if (current->item != NULL) + eFree (current->item); + current->item = nextFileString (current, current->u.fileArgs.fp); + break; + default: + Assert ("Invalid argument type" == NULL); + break; + } }
extern void argDelete (Arguments* const current) { - Assert (current != NULL); - if (current->type == ARG_STRING && current->item != NULL) - eFree (current->item); - memset (current, 0, sizeof (Arguments)); - eFree (current); + Assert (current != NULL); + if (current->type == ARG_STRING && current->item != NULL) + eFree (current->item); + memset (current, 0, sizeof (Arguments)); + eFree (current); }
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/args.h 40 lines changed, 20 insertions(+), 20 deletions(-) =================================================================== @@ -13,30 +13,30 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */
/* * DATA DECLARATIONS */
typedef struct sArgs { - enum { ARG_NONE, ARG_STRING, ARG_ARGV, ARG_FILE } type; - union { - struct sStringArgs { - const char* string; - const char* next; - const char* item; - } stringArgs; - struct sArgvArgs { - char* const* argv; - char* const* item; - } argvArgs; - struct sFileArgs { - FILE* fp; - } fileArgs; - } u; - char* item; - boolean lineMode; + enum { ARG_NONE, ARG_STRING, ARG_ARGV, ARG_FILE } type; + union { + struct sStringArgs { + const char* string; + const char* next; + const char* item; + } stringArgs; + struct sArgvArgs { + char* const* argv; + char* const* item; + } argvArgs; + struct sFileArgs { + FILE* fp; + } fileArgs; + } u; + char* item; + boolean lineMode; } Arguments;
/* @@ -53,6 +53,6 @@ extern void argSetLineMode (Arguments* const current); extern void argForth (Arguments* const current); extern void argDelete (Arguments* const current);
-#endif /* _ARGS_H */ +#endif /* _ARGS_H */
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/ctags.c 1496 lines changed, 748 insertions(+), 748 deletions(-) =================================================================== @@ -19,24 +19,24 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */ #include <glib.h> #include <glib/gstdio.h>
#ifdef HAVE_STDLIB_H -# include <stdlib.h> /* to declare malloc (), realloc () */ +# include <stdlib.h> /* to declare malloc (), realloc () */ #endif #include <string.h> #include <errno.h> #include <ctype.h>
-#include <stdio.h> /* to declare SEEK_SET (hopefully) */ -# include <fcntl.h> /* to declar O_RDWR, O_CREAT, O_EXCL */ -# include <unistd.h> /* to declare mkstemp () */ +#include <stdio.h> /* to declare SEEK_SET (hopefully) */ +# include <fcntl.h> /* to declar O_RDWR, O_CREAT, O_EXCL */ +# include <unistd.h> /* to declare mkstemp () */
#ifdef AMIGA -# include <dos/dosasl.h> /* for struct AnchorPath */ -# include <clib/dos_protos.h> /* function prototypes */ +# include <dos/dosasl.h> /* for struct AnchorPath */ +# include <clib/dos_protos.h> /* function prototypes */ # define ANCHOR_BUF_SIZE 512 # define ANCHOR_SIZE (sizeof (struct AnchorPath) + ANCHOR_BUF_SIZE) # ifdef __SASC @@ -76,16 +76,16 @@ # undef boolean #endif #ifdef HAVE_DIRECT_H -# include <direct.h> /* to _getcwd */ +# include <direct.h> /* to _getcwd */ #endif #ifdef HAVE_DOS_H -# include <dos.h> /* to declare FA_DIREC */ +# include <dos.h> /* to declare FA_DIREC */ #endif #ifdef HAVE_DIR_H -# include <dir.h> /* to declare findfirst () and findnext () */ +# include <dir.h> /* to declare findfirst () and findnext () */ #endif #ifdef HAVE_IO_H -# include <io.h> /* to declare _finddata_t in MSVC++ 4.x */ +# include <io.h> /* to declare _finddata_t in MSVC++ 4.x */ #endif
/* To provide timings features if available. @@ -121,8 +121,8 @@ /* * Miscellaneous macros */ -#define selected(var,feature) (((int)(var) & (int)(feature)) == (int)feature) -#define plural(value) (((unsigned long)(value) == 1L) ? "" : "s") +#define selected(var,feature) (((int)(var) & (int)(feature)) == (int)feature) +#define plural(value) (((unsigned long)(value) == 1L) ? "" : "s")
/* * Portability macros @@ -138,34 +138,34 @@ #endif
#if defined (MSDOS_STYLE_PATH) && defined (UNIX_PATH_SEPARATOR) -# define OUTPUT_PATH_SEPARATOR '/' +# define OUTPUT_PATH_SEPARATOR '/' #else -# define OUTPUT_PATH_SEPARATOR PATH_SEPARATOR +# define OUTPUT_PATH_SEPARATOR PATH_SEPARATOR #endif
/* File type tests. */ #ifndef S_ISREG # if defined (S_IFREG) && ! defined (AMIGA) -# define S_ISREG(mode) ((mode) & S_IFREG) +# define S_ISREG(mode) ((mode) & S_IFREG) # else -# define S_ISREG(mode) TRUE /* assume regular file */ +# define S_ISREG(mode) TRUE /* assume regular file */ # endif #endif
#ifndef S_ISLNK # ifdef S_IFLNK -# define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) +# define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) # else -# define S_ISLNK(mode) FALSE /* assume no soft links */ +# define S_ISLNK(mode) FALSE /* assume no soft links */ # endif #endif
#ifndef S_ISDIR # ifdef S_IFDIR -# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) # else -# define S_ISDIR(mode) FALSE /* assume no soft links */ +# define S_ISDIR(mode) FALSE /* assume no soft links */ # endif #endif
@@ -255,246 +255,246 @@ static boolean createTagsForEntry (const char *const entryName);
extern const char *getExecutableName (void) { - return ExecutableName; + return ExecutableName; }
#if 0 static void setCurrentDirectory (void) { #ifdef AMIGA - char* const cwd = eStrdup ("."); + char* const cwd = eStrdup ("."); #else - char* const cwd = getcwd (NULL, PATH_MAX); -#endif - CurrentDirectory = xMalloc (strlen (cwd) + 2, char); - if (cwd [strlen (cwd) - (size_t) 1] == PATH_SEPARATOR) - strcpy (CurrentDirectory, cwd); - else - sprintf (CurrentDirectory, "%s%c", cwd, OUTPUT_PATH_SEPARATOR); - free (cwd); + char* const cwd = getcwd (NULL, PATH_MAX); +#endif + CurrentDirectory = xMalloc (strlen (cwd) + 2, char); + if (cwd [strlen (cwd) - (size_t) 1] == PATH_SEPARATOR) + strcpy (CurrentDirectory, cwd); + else + sprintf (CurrentDirectory, "%s%c", cwd, OUTPUT_PATH_SEPARATOR); + free (cwd); } #endif
extern void error (const errorSelection selection, - const char *const format, ...) + const char *const format, ...) { - va_list ap; - - va_start (ap, format); - fprintf (errout, "%s: %s", getExecutableName (), - selected (selection, WARNING) ? "Warning: " : ""); - vfprintf (errout, format, ap); - if (selected (selection, PERROR)) - fprintf (errout, " : %s", g_strerror (errno)); - fputs ("\n", errout); - va_end (ap); - if (selected (selection, FATAL)) - exit (1); + va_list ap; + + va_start (ap, format); + fprintf (errout, "%s: %s", getExecutableName (), + selected (selection, WARNING) ? "Warning: " : ""); + vfprintf (errout, format, ap); + if (selected (selection, PERROR)) + fprintf (errout, " : %s", g_strerror (errno)); + fputs ("\n", errout); + va_end (ap); + if (selected (selection, FATAL)) + exit (1); }
#ifndef HAVE_STRICMP extern int stricmp (const char *s1, const char *s2) { - int result; - do - { - result = toupper ((int) *s1) - toupper ((int) *s2); - } while (result == 0 && *s1++ != '\0' && *s2++ != '\0'); - return result; + int result; + do + { + result = toupper ((int) *s1) - toupper ((int) *s2); + } while (result == 0 && *s1++ != '\0' && *s2++ != '\0'); + return result; } #endif
#ifndef HAVE_STRNICMP extern int strnicmp (const char *s1, const char *s2, size_t n) { - int result; - do - { - result = toupper ((int) *s1) - toupper ((int) *s2); - } while (result == 0 && --n > 0 && *s1++ != '\0' && *s2++ != '\0'); - return result; + int result; + do + { + result = toupper ((int) *s1) - toupper ((int) *s2); + } while (result == 0 && --n > 0 && *s1++ != '\0' && *s2++ != '\0'); + return result; } #endif
#ifndef HAVE_STRSTR extern char* strstr (const char *str, const char *substr) { - const size_t length = strlen (substr); - const char *match = NULL; - const char *p; - - for (p = str ; *p != '\0' && match == NULL ; ++p) - if (strncmp (p, substr, length) == 0) - match = p; - return (char*) match; + const size_t length = strlen (substr); + const char *match = NULL; + const char *p; + + for (p = str ; *p != '\0' && match == NULL ; ++p) + if (strncmp (p, substr, length) == 0) + match = p; + return (char*) match; } #endif
extern char* eStrdup (const char* str) { - char* result = xMalloc (strlen (str) + 1, char); - strcpy (result, str); - return result; + char* result = xMalloc (strlen (str) + 1, char); + strcpy (result, str); + return result; }
extern void *eMalloc (const size_t size) { - void *buffer = g_malloc (size); + void *buffer = g_malloc (size);
- if (buffer == NULL) - error (FATAL, "out of memory"); + if (buffer == NULL) + error (FATAL, "out of memory");
- return buffer; + return buffer; }
extern void *eCalloc (const size_t count, const size_t size) { - void *buffer = calloc (count, size); + void *buffer = calloc (count, size);
- if (buffer == NULL) - error (FATAL, "out of memory"); + if (buffer == NULL) + error (FATAL, "out of memory");
- return buffer; + return buffer; }
extern void *eRealloc (void *const ptr, const size_t size) { - void *buffer; - if (ptr == NULL) - buffer = eMalloc (size); - else - { - buffer = g_realloc (ptr, size); - if (buffer == NULL) - error (FATAL, "out of memory"); - } - return buffer; + void *buffer; + if (ptr == NULL) + buffer = eMalloc (size); + else + { + buffer = g_realloc (ptr, size); + if (buffer == NULL) + error (FATAL, "out of memory"); + } + return buffer; }
extern void eFree (void *const ptr) { - if (ptr != NULL) - free (ptr); + if (ptr != NULL) + free (ptr); }
extern void toLowerString (char* str) { - while (*str != '\0') - { - *str = tolower ((int) *str); - ++str; - } + while (*str != '\0') + { + *str = tolower ((int) *str); + ++str; + } }
extern void toUpperString (char* str) { - while (*str != '\0') - { - *str = toupper ((int) *str); - ++str; - } + while (*str != '\0') + { + *str = toupper ((int) *str); + ++str; + } }
/* Newly allocated string containing lower case conversion of a string. */ extern char* newLowerString (const char* str) { - char* const result = xMalloc (strlen (str) + 1, char); - int i = 0; - do - result [i] = tolower ((int) str [i]); - while (str [i++] != '\0'); - return result; + char* const result = xMalloc (strlen (str) + 1, char); + int i = 0; + do + result [i] = tolower ((int) str [i]); + while (str [i++] != '\0'); + return result; }
/* Newly allocated string containing upper case conversion of a string. */ extern char* newUpperString (const char* str) { - char* const result = xMalloc (strlen (str) + 1, char); - int i = 0; - do - result [i] = toupper ((int) str [i]); - while (str [i++] != '\0'); - return result; + char* const result = xMalloc (strlen (str) + 1, char); + int i = 0; + do + result [i] = toupper ((int) str [i]); + while (str [i++] != '\0'); + return result; }
extern long unsigned int getFileSize (const char *const name) { - GStatBuf fileStatus; - unsigned long size = 0; + GStatBuf fileStatus; + unsigned long size = 0;
- if (g_stat (name, &fileStatus) == 0) - size = fileStatus.st_size; + if (g_stat (name, &fileStatus) == 0) + size = fileStatus.st_size;
- return size; + return size; }
#if 0 static boolean isSymbolicLink (const char *const name) { #if defined (MSDOS) || defined (WIN32) || defined (VMS) || defined (__EMX__) || defined (AMIGA) - return FALSE; + return FALSE; #else - GStatBuf fileStatus; - boolean result = FALSE; + GStatBuf fileStatus; + boolean result = FALSE;
- if (g_lstat (name, &fileStatus) == 0) - result = (boolean) (S_ISLNK (fileStatus.st_mode)); + if (g_lstat (name, &fileStatus) == 0) + result = (boolean) (S_ISLNK (fileStatus.st_mode));
- return result; + return result; #endif }
static boolean isNormalFile (const char *const name) { - GStatBuf fileStatus; - boolean result = FALSE; + GStatBuf fileStatus; + boolean result = FALSE;
- if (g_stat (name, &fileStatus) == 0) - result = (boolean) (S_ISREG (fileStatus.st_mode)); + if (g_stat (name, &fileStatus) == 0) + result = (boolean) (S_ISREG (fileStatus.st_mode));
- return result; + return result; } #endif
extern boolean isExecutable (const char *const name) { - GStatBuf fileStatus; - boolean result = FALSE; + GStatBuf fileStatus; + boolean result = FALSE;
- if (g_stat (name, &fileStatus) == 0) - result = (boolean) ((fileStatus.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) != 0); + if (g_stat (name, &fileStatus) == 0) + result = (boolean) ((fileStatus.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) != 0);
- return result; + return result; }
extern boolean isSameFile (const char *const name1, const char *const name2) { - boolean result = FALSE; + boolean result = FALSE; #ifdef HAVE_STAT_ST_INO - GStatBuf stat1, stat2; + GStatBuf stat1, stat2;
- if (g_stat (name1, &stat1) == 0 && g_stat (name2, &stat2) == 0) - result = (boolean) (stat1.st_ino == stat2.st_ino); + if (g_stat (name1, &stat1) == 0 && g_stat (name2, &stat2) == 0) + result = (boolean) (stat1.st_ino == stat2.st_ino); #endif - return result; + return result; }
#ifdef HAVE_MKSTEMP
static boolean isSetUID (const char *const name) { #if defined (VMS) || defined (MSDOS) || defined (WIN32) || defined (__EMX__) || defined (AMIGA) - return FALSE; + return FALSE; #else - GStatBuf fileStatus; - boolean result = FALSE; + GStatBuf fileStatus; + boolean result = FALSE;
- if (g_stat (name, &fileStatus) == 0) - result = (boolean) ((fileStatus.st_mode & S_ISUID) != 0); + if (g_stat (name, &fileStatus) == 0) + result = (boolean) ((fileStatus.st_mode & S_ISUID) != 0);
- return result; + return result; #endif }
@@ -503,119 +503,119 @@ static boolean isSetUID (const char *const name) #if 0 static boolean isDirectory (const char *const name) { - boolean result = FALSE; + boolean result = FALSE; #ifdef AMIGA - struct FileInfoBlock *const fib = xMalloc (1, struct FileInfoBlock); - - if (fib != NULL) - { - const BPTR flock = Lock ((UBYTE *) name, (long) ACCESS_READ); + struct FileInfoBlock *const fib = xMalloc (1, struct FileInfoBlock);
- if (flock != (BPTR) NULL) + if (fib != NULL) { - if (Examine (flock, fib)) - result = ((fib->fib_DirEntryType >= 0) ? TRUE : FALSE); - UnLock (flock); + const BPTR flock = Lock ((UBYTE *) name, (long) ACCESS_READ); + + if (flock != (BPTR) NULL) + { + if (Examine (flock, fib)) + result = ((fib->fib_DirEntryType >= 0) ? TRUE : FALSE); + UnLock (flock); + } + eFree (fib); } - eFree (fib); - } #else - GStatBuf fileStatus; + GStatBuf fileStatus;
- if (g_stat (name, &fileStatus) == 0) - result = (boolean) S_ISDIR (fileStatus.st_mode); + if (g_stat (name, &fileStatus) == 0) + result = (boolean) S_ISDIR (fileStatus.st_mode); #endif - return result; + return result; } #endif
extern boolean doesFileExist (const char *const fileName) { - GStatBuf fileStatus; + GStatBuf fileStatus;
- return (boolean) (g_stat (fileName, &fileStatus) == 0); + return (boolean) (g_stat (fileName, &fileStatus) == 0); }
/*#ifndef HAVE_FGETPOS*/ /* extern int fgetpos ( stream, pos ) - FILE *const stream; - fpos_t *const pos; + FILE *const stream; + fpos_t *const pos; { - int result = 0; + int result = 0;
- *pos = ftell (stream); - if (*pos == -1L) - result = -1; + *pos = ftell (stream); + if (*pos == -1L) + result = -1;
- return result; + return result; }
extern int fsetpos ( stream, pos ) - FILE *const stream; - fpos_t *const pos; + FILE *const stream; + fpos_t *const pos; { - return fseek (stream, *pos, SEEK_SET); + return fseek (stream, *pos, SEEK_SET); } */ /*#endif*/
extern void addTotals (const unsigned int files, - const long unsigned int lines, - const long unsigned int bytes) + const long unsigned int lines, + const long unsigned int bytes) { - Totals.files += files; - Totals.lines += lines; - Totals.bytes += bytes; + Totals.files += files; + Totals.lines += lines; + Totals.bytes += bytes; }
extern boolean isDestinationStdout (void) { - boolean toStdout = FALSE; + boolean toStdout = FALSE;
- if (Option.xref || Option.filter || - (Option.tagFileName != NULL && (strcmp (Option.tagFileName, "-") == 0 + if (Option.xref || Option.filter || + (Option.tagFileName != NULL && (strcmp (Option.tagFileName, "-") == 0 #if defined (VMS) - || strcmp (Option.tagFileName, "sys$output") == 0 + || strcmp (Option.tagFileName, "sys$output") == 0 #else - || strcmp (Option.tagFileName, "/dev/stdout") == 0 + || strcmp (Option.tagFileName, "/dev/stdout") == 0 #endif - ))) - toStdout = TRUE; - return toStdout; + ))) + toStdout = TRUE; + return toStdout; }
extern FILE *tempFile (const char *const mode, char **const pName) { - char *name; - FILE *fp; - int fd; + char *name; + FILE *fp; + int fd; #ifdef HAVE_MKSTEMP - const char *const template = "tags.XXXXXX"; - const char *tmpdir = NULL; - if (! isSetUID (ExecutableProgram)) - tmpdir = getenv ("TMPDIR"); - if (tmpdir == NULL) - tmpdir = TMPDIR; - name = xMalloc (strlen (tmpdir) + 1 + strlen (template) + 1, char); - sprintf (name, "%s%c%s", tmpdir, OUTPUT_PATH_SEPARATOR, template); - fd = mkstemp(name); + const char *const template = "tags.XXXXXX"; + const char *tmpdir = NULL; + if (! isSetUID (ExecutableProgram)) + tmpdir = getenv ("TMPDIR"); + if (tmpdir == NULL) + tmpdir = TMPDIR; + name = xMalloc (strlen (tmpdir) + 1 + strlen (template) + 1, char); + sprintf (name, "%s%c%s", tmpdir, OUTPUT_PATH_SEPARATOR, template); + fd = mkstemp(name); #else - name = xMalloc (L_tmpnam, char); - if (tmpnam (name) != name) - error (FATAL | PERROR, "cannot assign temporary file name"); - fd = open (name, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); -#endif - if (fd == -1) - error (FATAL | PERROR, "cannot open temporary file"); - fp = fdopen (fd, mode); - if (fp == NULL) - error (FATAL | PERROR, "cannot open temporary file"); - DebugStatement ( - debugPrintf (DEBUG_STATUS, "opened temporary file %s\n", name); ) - Assert (*pName == NULL); - *pName = name; - return fp; + name = xMalloc (L_tmpnam, char); + if (tmpnam (name) != name) + error (FATAL | PERROR, "cannot assign temporary file name"); + fd = open (name, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); +#endif + if (fd == -1) + error (FATAL | PERROR, "cannot open temporary file"); + fp = fdopen (fd, mode); + if (fp == NULL) + error (FATAL | PERROR, "cannot open temporary file"); + DebugStatement ( + debugPrintf (DEBUG_STATUS, "opened temporary file %s\n", name); ) + Assert (*pName == NULL); + *pName = name; + return fp; }
/* @@ -625,61 +625,61 @@ extern FILE *tempFile (const char *const mode, char **const pName) extern const char *baseFilename (const char *const filePath) { #if defined (MSDOS_STYLE_PATH) || defined (VMS) - const char *tail = NULL; - unsigned int i; - - /* Find whichever of the path delimiters is last. - */ - for (i = 0 ; i < strlen (PathDelimiters) ; ++i) - { - const char *sep = strrchr (filePath, PathDelimiters [i]); - - if (sep > tail) - tail = sep; - } + const char *tail = NULL; + unsigned int i; + + /* Find whichever of the path delimiters is last. + */ + for (i = 0 ; i < strlen (PathDelimiters) ; ++i) + { + const char *sep = strrchr (filePath, PathDelimiters [i]); + + if (sep > tail) + tail = sep; + } #else - const char *tail = strrchr (filePath, PATH_SEPARATOR); + const char *tail = strrchr (filePath, PATH_SEPARATOR); #endif - if (tail == NULL) - tail = filePath; - else - ++tail; /* step past last delimiter */ + if (tail == NULL) + tail = filePath; + else + ++tail; /* step past last delimiter */ #ifdef VAXC - { - /* remove version number from filename */ - char *p = strrchr ((char *) tail, ';'); - if (p != NULL) - *p = '\0'; - } + { + /* remove version number from filename */ + char *p = strrchr ((char *) tail, ';'); + if (p != NULL) + *p = '\0'; + } #endif
- return tail; + return tail; }
extern boolean isAbsolutePath (const char *const path) { - boolean result = FALSE; + boolean result = FALSE; #if defined (MSDOS_STYLE_PATH) - if (strchr (PathDelimiters, path [0]) != NULL) - result = TRUE; - else if (isalpha (path [0]) && path [1] == ':') - { - if (strchr (PathDelimiters, path [2]) != NULL) - result = TRUE; - else - /* We don't support non-absolute file names with a drive - * letter, like `d:NAME' (it's too much hassle). - */ - error (FATAL, - "%s: relative file names with drive letters not supported", - path); - } + if (strchr (PathDelimiters, path [0]) != NULL) + result = TRUE; + else if (isalpha (path [0]) && path [1] == ':') + { + if (strchr (PathDelimiters, path [2]) != NULL) + result = TRUE; + else + /* We don't support non-absolute file names with a drive + * letter, like `d:NAME' (it's too much hassle). + */ + error (FATAL, + "%s: relative file names with drive letters not supported", + path); + } #elif defined (VMS) - result = (boolean) (strchr (path, ':') != NULL); + result = (boolean) (strchr (path, ':') != NULL); #else - result = (boolean) (path [0] == PATH_SEPARATOR); + result = (boolean) (path [0] == PATH_SEPARATOR); #endif - return result; + return result; }
/* Return a newly-allocated string whose contents concatenate those of @@ -688,15 +688,15 @@ extern boolean isAbsolutePath (const char *const path) */ static char* concat (const char *s1, const char *s2, const char *s3) { - int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); - char *result = xMalloc (len1 + len2 + len3 + 1, char); + int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); + char *result = xMalloc (len1 + len2 + len3 + 1, char);
- strcpy (result, s1); - strcpy (result + len1, s2); - strcpy (result + len1 + len2, s3); - result [len1 + len2 + len3] = '\0'; + strcpy (result, s1); + strcpy (result + len1, s2); + strcpy (result + len1 + len2, s3); + result [len1 + len2 + len3] = '\0';
- return result; + return result; }
/* Return a newly allocated string containing the absolute file name of FILE @@ -705,61 +705,61 @@ static char* concat (const char *s1, const char *s2, const char *s3) */ static char* absoluteFilename (const char *file) { - char *slashp, *cp; - char *res = NULL; - - if (isAbsolutePath (file)) - res = eStrdup (file); - else - res = concat (CurrentDirectory, file, ""); - - /* Delete the "/dirname/.." and "/." substrings. */ - slashp = strchr (res, '/'); - while (slashp != NULL && slashp [0] != '\0') - { - if (slashp[1] == '.') + char *slashp, *cp; + char *res = NULL; + + if (isAbsolutePath (file)) + res = eStrdup (file); + else + res = concat (CurrentDirectory, file, ""); + + /* Delete the "/dirname/.." and "/." substrings. */ + slashp = strchr (res, '/'); + while (slashp != NULL && slashp [0] != '\0') { - if (slashp [2] == '.' && (slashp [3] == '/' || slashp [3] == '\0')) - { - cp = slashp; - do - cp--; - while (cp >= res && ! isAbsolutePath (cp)); - if (cp < res) - cp = slashp;/* the absolute name begins with "/.." */ + if (slashp[1] == '.') + { + if (slashp [2] == '.' && (slashp [3] == '/' || slashp [3] == '\0')) + { + cp = slashp; + do + cp--; + while (cp >= res && ! isAbsolutePath (cp)); + if (cp < res) + cp = slashp;/* the absolute name begins with "/.." */ #ifdef MSDOS_STYLE_PATH - /* Under MSDOS and NT we get `d:/NAME' as absolute file name, - * so the luser could say `d:/../NAME'. We silently treat this - * as `d:/NAME'. - */ - else if (cp [0] != '/') - cp = slashp; -#endif - memmove (cp, slashp + 3, strlen (slashp + 3) + 1); - slashp = cp; - continue; - } - else if (slashp [2] == '/' || slashp [2] == '\0') - { - memmove (slashp, slashp + 2, strlen (slashp + 2) + 1); - continue; - } + /* Under MSDOS and NT we get `d:/NAME' as absolute file name, + * so the luser could say `d:/../NAME'. We silently treat this + * as `d:/NAME'. + */ + else if (cp [0] != '/') + cp = slashp; +#endif + memmove (cp, slashp + 3, strlen (slashp + 3) + 1); + slashp = cp; + continue; + } + else if (slashp [2] == '/' || slashp [2] == '\0') + { + memmove (slashp, slashp + 2, strlen (slashp + 2) + 1); + continue; + } + } + slashp = strchr (slashp + 1, '/'); } - slashp = strchr (slashp + 1, '/'); - }
- if (res [0] == '\0') - return eStrdup ("/"); - else - { + if (res [0] == '\0') + return eStrdup ("/"); + else + { #ifdef MSDOS_STYLE_PATH - /* Canonicalize drive letter case. */ - if (res [1] == ':' && islower (res [0])) - res [0] = toupper (res [0]); + /* Canonicalize drive letter case. */ + if (res [1] == ':' && islower (res [0])) + res [0] = toupper (res [0]); #endif
- return res; - } + return res; + } }
/* Return a newly allocated string containing the absolute file name of dir @@ -768,25 +768,25 @@ static char* absoluteFilename (const char *file) */ extern char* absoluteDirname (char *file) { - char *slashp, *res; - char save; + char *slashp, *res; + char save; #ifdef MSDOS_STYLE_PATH - char *p; - for (p = file ; *p != '\0' ; p++) - if (*p == '\') - *p = '/'; -#endif - slashp = strrchr (file, '/'); - if (slashp == NULL) - res = eStrdup (CurrentDirectory); - else - { - save = slashp [1]; - slashp [1] = '\0'; - res = absoluteFilename (file); - slashp [1] = save; - } - return res; + char *p; + for (p = file ; *p != '\0' ; p++) + if (*p == '\') + *p = '/'; +#endif + slashp = strrchr (file, '/'); + if (slashp == NULL) + res = eStrdup (CurrentDirectory); + else + { + save = slashp [1]; + slashp [1] = '\0'; + res = absoluteFilename (file); + slashp [1] = save; + } + return res; }
/* Return a newly allocated string containing the file name of FILE relative @@ -795,603 +795,603 @@ extern char* absoluteDirname (char *file) */ extern char* relativeFilename (const char *file, const char *dir) { - const char *fp, *dp; - char *absdir, *res; - int i; - - /* Find the common root of file and dir (with a trailing slash). */ - absdir = absoluteFilename (file); - fp = absdir; - dp = dir; - while (*fp++ == *dp++) - continue; - fp--; - dp--; /* back to the first differing char */ - do - { /* look at the equal chars until '/' */ - if (fp == absdir) - return absdir; /* first char differs, give up */ + const char *fp, *dp; + char *absdir, *res; + int i; + + /* Find the common root of file and dir (with a trailing slash). */ + absdir = absoluteFilename (file); + fp = absdir; + dp = dir; + while (*fp++ == *dp++) + continue; fp--; - dp--; - } while (*fp != '/'); - - /* Build a sequence of "../" strings for the resulting relative file name. - */ - i = 0; - while ((dp = strchr (dp + 1, '/')) != NULL) - i += 1; - res = xMalloc (3 * i + strlen (fp + 1) + 1, char); - res [0] = '\0'; - while (i-- > 0) - strcat (res, "../"); - - /* Add the file name relative to the common root of file and dir. */ - strcat (res, fp + 1); - free (absdir); - - return res; + dp--; /* back to the first differing char */ + do + { /* look at the equal chars until '/' */ + if (fp == absdir) + return absdir; /* first char differs, give up */ + fp--; + dp--; + } while (*fp != '/'); + + /* Build a sequence of "../" strings for the resulting relative file name. + */ + i = 0; + while ((dp = strchr (dp + 1, '/')) != NULL) + i += 1; + res = xMalloc (3 * i + strlen (fp + 1) + 1, char); + res [0] = '\0'; + while (i-- > 0) + strcat (res, "../"); + + /* Add the file name relative to the common root of file and dir. */ + strcat (res, fp + 1); + free (absdir); + + return res; }
extern vString *combinePathAndFile (const char *const path, - const char *const file) + const char *const file) { - vString *const filePath = vStringNew (); + vString *const filePath = vStringNew (); #ifdef VMS - const char *const directoryId = strstr (file, ".DIR;1"); - - if (directoryId == NULL) - { - const char *const versionId = strchr (file, ';'); + const char *const directoryId = strstr (file, ".DIR;1");
- vStringCopyS (filePath, path); - if (versionId == NULL) - vStringCatS (filePath, file); - else - vStringNCatS (filePath, file, versionId - file); - vStringCopyToLower (filePath, filePath); - } - else - { - /* File really is a directory; append it to the path. - * Gotcha: doesn't work with logical names. - */ - vStringNCopyS (filePath, path, strlen (path) - 1); - vStringPut (filePath, '.'); - vStringNCatS (filePath, file, directoryId - file); - if (strchr (path, '[') != NULL) - vStringPut (filePath, ']'); + if (directoryId == NULL) + { + const char *const versionId = strchr (file, ';'); + + vStringCopyS (filePath, path); + if (versionId == NULL) + vStringCatS (filePath, file); + else + vStringNCatS (filePath, file, versionId - file); + vStringCopyToLower (filePath, filePath); + } else - vStringPut (filePath, '>'); - vStringTerminate (filePath); - } + { + /* File really is a directory; append it to the path. + * Gotcha: doesn't work with logical names. + */ + vStringNCopyS (filePath, path, strlen (path) - 1); + vStringPut (filePath, '.'); + vStringNCatS (filePath, file, directoryId - file); + if (strchr (path, '[') != NULL) + vStringPut (filePath, ']'); + else + vStringPut (filePath, '>'); + vStringTerminate (filePath); + } #else - const int lastChar = path [strlen (path) - 1]; + const int lastChar = path [strlen (path) - 1]; # ifdef MSDOS_STYLE_PATH - boolean terminated = (boolean) (strchr (PathDelimiters, lastChar) != NULL); + boolean terminated = (boolean) (strchr (PathDelimiters, lastChar) != NULL); # else - boolean terminated = (boolean) (lastChar == PATH_SEPARATOR); + boolean terminated = (boolean) (lastChar == PATH_SEPARATOR); # endif
- vStringCopyS (filePath, path); - if (! terminated) - { - vStringPut (filePath, OUTPUT_PATH_SEPARATOR); - vStringTerminate (filePath); - } - vStringCatS (filePath, file); + vStringCopyS (filePath, path); + if (! terminated) + { + vStringPut (filePath, OUTPUT_PATH_SEPARATOR); + vStringTerminate (filePath); + } + vStringCatS (filePath, file); #endif
- return filePath; + return filePath; }
/* - * Create tags + * Create tags */
extern void processExcludeOption (const char *const UNUSED option, - const char *const parameter) + const char *const parameter) { - if (parameter [0] == '\0') - freeList (&Excluded); - else if (parameter [0] == '@') - { - stringList* const new = stringListNewFromFile (parameter + 1); - if (Excluded == NULL) - Excluded = new; + if (parameter [0] == '\0') + freeList (&Excluded); + else if (parameter [0] == '@') + { + stringList* const new = stringListNewFromFile (parameter + 1); + if (Excluded == NULL) + Excluded = new; + else + stringListCombine (Excluded, new); + } else - stringListCombine (Excluded, new); - } - else - { - vString *const item = vStringNewInit (parameter); - if (Excluded == NULL) - Excluded = stringListNew (); - stringListAdd (Excluded, item); - } + { + vString *const item = vStringNewInit (parameter); + if (Excluded == NULL) + Excluded = stringListNew (); + stringListAdd (Excluded, item); + } }
#if 0 static boolean excludedFile (const char* const name) { - const char* base = baseFilename (name); - boolean result = FALSE; - if (Excluded != NULL) - { - result = stringListFileMatched (Excluded, base); - if (! result && name != base) - result = stringListFileMatched (Excluded, name); - } + const char* base = baseFilename (name); + boolean result = FALSE; + if (Excluded != NULL) + { + result = stringListFileMatched (Excluded, base); + if (! result && name != base) + result = stringListFileMatched (Excluded, name); + } #ifdef AMIGA - /* not a good solution, but the only one which works often */ - if (! result) - result = (boolean) (strcmp (name, TagFile.name) == 0); + /* not a good solution, but the only one which works often */ + if (! result) + result = (boolean) (strcmp (name, TagFile.name) == 0); #endif - return result; + return result; }
# if defined (MSDOS) || defined (WIN32)
static boolean createTagsForMatchingEntries (char *const pattern) { - boolean resize = FALSE; - const size_t dirLength = baseFilename (pattern) - (char *) pattern; - vString *const filePath = vStringNew (); + boolean resize = FALSE; + const size_t dirLength = baseFilename (pattern) - (char *) pattern; + vString *const filePath = vStringNew (); #if defined (HAVE_FINDFIRST) - struct ffblk fileInfo; - int result = findfirst (pattern, &fileInfo, FA_DIREC); - - while (result == 0) - { - const char *const entryName = fileInfo.ff_name; + struct ffblk fileInfo; + int result = findfirst (pattern, &fileInfo, FA_DIREC);
- /* We must not recurse into the directories "." or "..". - */ - if (strcmp (entryName, ".") != 0 && strcmp (entryName, "..") != 0) + while (result == 0) { - vStringNCopyS (filePath, pattern, dirLength); - vStringCatS (filePath, entryName); - resize |= createTagsForEntry (vStringValue (filePath)); + const char *const entryName = fileInfo.ff_name; + + /* We must not recurse into the directories "." or "..". + */ + if (strcmp (entryName, ".") != 0 && strcmp (entryName, "..") != 0) + { + vStringNCopyS (filePath, pattern, dirLength); + vStringCatS (filePath, entryName); + resize |= createTagsForEntry (vStringValue (filePath)); + } + result = findnext (&fileInfo); } - result = findnext (&fileInfo); - } #elif defined (HAVE__FINDFIRST) - struct _finddata_t fileInfo; - long hFile = _findfirst (pattern, &fileInfo); + struct _finddata_t fileInfo; + long hFile = _findfirst (pattern, &fileInfo);
- if (hFile != -1L) - { - do + if (hFile != -1L) { - const char *const entryName = fileInfo.name; - - /* We must not recurse into the directories "." or "..". - */ - if (strcmp (entryName, ".") != 0 && strcmp (entryName, "..") != 0) - { - vStringNCopyS (filePath, pattern, dirLength); - vStringCatS (filePath, entryName); - resize |= createTagsForEntry (vStringValue (filePath)); - } - } while (_findnext (hFile, &fileInfo) == 0); - _findclose (hFile); - } -#endif - - vStringDelete (filePath); - return resize; + do + { + const char *const entryName = fileInfo.name; + + /* We must not recurse into the directories "." or "..". + */ + if (strcmp (entryName, ".") != 0 && strcmp (entryName, "..") != 0) + { + vStringNCopyS (filePath, pattern, dirLength); + vStringCatS (filePath, entryName); + resize |= createTagsForEntry (vStringValue (filePath)); + } + } while (_findnext (hFile, &fileInfo) == 0); + _findclose (hFile); + } +#endif + + vStringDelete (filePath); + return resize; }
#elif defined (AMIGA)
static boolean createTagsForMatchingEntries (char *const pattern) { - boolean resize = FALSE; - struct AnchorPath *const anchor = - (struct AnchorPath *) eMalloc ((size_t) ANCHOR_SIZE); + boolean resize = FALSE; + struct AnchorPath *const anchor = + (struct AnchorPath *) eMalloc ((size_t) ANCHOR_SIZE);
- if (anchor != NULL) - { - LONG result; + if (anchor != NULL) + { + LONG result;
- memset (anchor, 0, (size_t) ANCHOR_SIZE); - anchor->ap_Strlen = ANCHOR_BUF_SIZE; /* ap_Length no longer supported */ + memset (anchor, 0, (size_t) ANCHOR_SIZE); + anchor->ap_Strlen = ANCHOR_BUF_SIZE; /* ap_Length no longer supported */
- /* Allow '.' for current directory. - */ + /* Allow '.' for current directory. + */ #ifdef APF_DODOT - anchor->ap_Flags = APF_DODOT | APF_DOWILD; + anchor->ap_Flags = APF_DODOT | APF_DOWILD; #else - anchor->ap_Flags = APF_DoDot | APF_DoWild; + anchor->ap_Flags = APF_DoDot | APF_DoWild; #endif
- result = MatchFirst ((UBYTE *) pattern, anchor); - while (result == 0) - { - resize |= createTagsForEntry ((char *) anchor->ap_Buf); - result = MatchNext (anchor); + result = MatchFirst ((UBYTE *) pattern, anchor); + while (result == 0) + { + resize |= createTagsForEntry ((char *) anchor->ap_Buf); + result = MatchNext (anchor); + } + MatchEnd (anchor); + eFree (anchor); } - MatchEnd (anchor); - eFree (anchor); - } - return resize; + return resize; }
#endif
static boolean isRecursiveLink (const char* const dirName) { - boolean result = FALSE; - char* const path = absoluteFilename (dirName); - while (path [strlen (path) - 1] == PATH_SEPARATOR) - path [strlen (path) - 1] = '\0'; - while (! result && strlen (path) > (size_t) 1) - { - char *const separator = strrchr (path, PATH_SEPARATOR); - if (separator == NULL) - break; - else if (separator == path) /* backed up to root directory */ - *(separator + 1) = '\0'; - else - *separator = '\0'; - result = isSameFile (path, dirName); - } - eFree (path); - return result; + boolean result = FALSE; + char* const path = absoluteFilename (dirName); + while (path [strlen (path) - 1] == PATH_SEPARATOR) + path [strlen (path) - 1] = '\0'; + while (! result && strlen (path) > (size_t) 1) + { + char *const separator = strrchr (path, PATH_SEPARATOR); + if (separator == NULL) + break; + else if (separator == path) /* backed up to root directory */ + *(separator + 1) = '\0'; + else + *separator = '\0'; + result = isSameFile (path, dirName); + } + eFree (path); + return result; }
static boolean recurseIntoDirectory (const char *const dirName) { - boolean resize = FALSE; - if (isRecursiveLink (dirName)) - verbose ("ignoring "%s" (recursive link)\n", dirName); - else if (! Option.recurse) - verbose ("ignoring "%s" (directory)\n", dirName); - else - { -#if defined (HAVE_OPENDIR) - DIR *const dir = opendir (dirName); - if (dir == NULL) - error (WARNING | PERROR, "cannot recurse into directory "%s"", - dirName); + boolean resize = FALSE; + if (isRecursiveLink (dirName)) + verbose ("ignoring "%s" (recursive link)\n", dirName); + else if (! Option.recurse) + verbose ("ignoring "%s" (directory)\n", dirName); else { - struct dirent *entry; - verbose ("RECURSING into directory "%s"\n", dirName); - while ((entry = readdir (dir)) != NULL) - { - if (strcmp (entry->d_name, ".") != 0 && - strcmp (entry->d_name, "..") != 0) +#if defined (HAVE_OPENDIR) + DIR *const dir = opendir (dirName); + if (dir == NULL) + error (WARNING | PERROR, "cannot recurse into directory "%s"", + dirName); + else { - vString *filePath; - if (strcmp (dirName, ".") == 0) - filePath = vStringNewInit (entry->d_name); - else - filePath = combinePathAndFile (dirName, entry->d_name); - resize |= createTagsForEntry (vStringValue (filePath)); - vStringDelete (filePath); + struct dirent *entry; + verbose ("RECURSING into directory "%s"\n", dirName); + while ((entry = readdir (dir)) != NULL) + { + if (strcmp (entry->d_name, ".") != 0 && + strcmp (entry->d_name, "..") != 0) + { + vString *filePath; + if (strcmp (dirName, ".") == 0) + filePath = vStringNewInit (entry->d_name); + else + filePath = combinePathAndFile (dirName, entry->d_name); + resize |= createTagsForEntry (vStringValue (filePath)); + vStringDelete (filePath); + } + } + closedir (dir); } - } - closedir (dir); - } #elif defined (AMIGA) || defined (MSDOS) || defined (WIN32) - vString *const pattern = vStringNew (); - verbose ("RECURSING into directory "%s"\n", dirName); + vString *const pattern = vStringNew (); + verbose ("RECURSING into directory "%s"\n", dirName); # ifdef AMIGA - if (*dirName != '\0' && strcmp (dirName, ".") != 0) - { - vStringCopyS (pattern, dirName); - if (dirName [strlen (dirName) - 1] != '/') - vStringPut (pattern, '/'); - } - vStringCatS (pattern, "#?"); + if (*dirName != '\0' && strcmp (dirName, ".") != 0) + { + vStringCopyS (pattern, dirName); + if (dirName [strlen (dirName) - 1] != '/') + vStringPut (pattern, '/'); + } + vStringCatS (pattern, "#?"); # else - vStringCopyS (pattern, dirName); - vStringPut (pattern, OUTPUT_PATH_SEPARATOR); - vStringCatS (pattern, "*.*"); + vStringCopyS (pattern, dirName); + vStringPut (pattern, OUTPUT_PATH_SEPARATOR); + vStringCatS (pattern, "*.*"); # endif - resize = createTagsForMatchingEntries (vStringValue (pattern)); - vStringDelete (pattern); -#endif /* HAVE_OPENDIR */ - } - return resize; + resize = createTagsForMatchingEntries (vStringValue (pattern)); + vStringDelete (pattern); +#endif /* HAVE_OPENDIR */ + } + return resize; }
static boolean createTagsForEntry (const char *const entryName) { - boolean resize = FALSE; - - Assert (entryName != NULL); - if (excludedFile (entryName)) - verbose ("excluding "%s"\n", entryName); - else if (isSymbolicLink (entryName) && ! Option.followLinks) - verbose ("ignoring "%s" (symbolic link)\n", entryName); - else if (! doesFileExist (entryName)) - error (WARNING | PERROR, "cannot open source file "%s"", entryName); - else if (isDirectory (entryName)) - resize = recurseIntoDirectory (entryName); - else if (! isNormalFile (entryName)) - verbose ("ignoring "%s" (special file)\n", entryName); - else - resize = parseFile (entryName); - - return resize; + boolean resize = FALSE; + + Assert (entryName != NULL); + if (excludedFile (entryName)) + verbose ("excluding "%s"\n", entryName); + else if (isSymbolicLink (entryName) && ! Option.followLinks) + verbose ("ignoring "%s" (symbolic link)\n", entryName); + else if (! doesFileExist (entryName)) + error (WARNING | PERROR, "cannot open source file "%s"", entryName); + else if (isDirectory (entryName)) + resize = recurseIntoDirectory (entryName); + else if (! isNormalFile (entryName)) + verbose ("ignoring "%s" (special file)\n", entryName); + else + resize = parseFile (entryName); + + return resize; }
static boolean createTagsForArgs (cookedArgs* const args) { - boolean resize = FALSE; + boolean resize = FALSE;
- /* Generate tags for each argument on the command line. - */ - while (! cArgOff (args)) - { - const char *arg = cArgItem (args); + /* Generate tags for each argument on the command line. + */ + while (! cArgOff (args)) + { + const char *arg = cArgItem (args);
#if defined (MSDOS) || defined (WIN32) - vString *const pattern = vStringNewInit (arg); - char *patternS = vStringValue (pattern); + vString *const pattern = vStringNewInit (arg); + char *patternS = vStringValue (pattern);
- /* We must transform the "." and ".." forms into something that can - * be expanded by the MSDOS/Windows functions. - */ - if (Option.recurse && - (strcmp (patternS, ".") == 0 || strcmp (patternS, "..") == 0)) - { - vStringPut (pattern, OUTPUT_PATH_SEPARATOR); - vStringCatS (pattern, "*.*"); - } - resize |= createTagsForMatchingEntries (patternS); - vStringDelete (pattern); + /* We must transform the "." and ".." forms into something that can + * be expanded by the MSDOS/Windows functions. + */ + if (Option.recurse && + (strcmp (patternS, ".") == 0 || strcmp (patternS, "..") == 0)) + { + vStringPut (pattern, OUTPUT_PATH_SEPARATOR); + vStringCatS (pattern, "*.*"); + } + resize |= createTagsForMatchingEntries (patternS); + vStringDelete (pattern); #else - resize |= createTagsForEntry (arg); + resize |= createTagsForEntry (arg); #endif - cArgForth (args); - parseOptions (args); - } - return resize; + cArgForth (args); + parseOptions (args); + } + return resize; }
/* Read from an opened file a list of file names for which to generate tags. */ static boolean createTagsFromFileInput (FILE* const fp, const boolean filter) { - boolean resize = FALSE; - if (fp != NULL) - { - cookedArgs* args = cArgNewFromLineFile (fp); - parseOptions (args); - while (! cArgOff (args)) + boolean resize = FALSE; + if (fp != NULL) { - resize |= createTagsForEntry (cArgItem (args)); - if (filter) - { - if (Option.filterTerminator != NULL) - fputs (Option.filterTerminator, stdout); - fflush (stdout); - } - cArgForth (args); - parseOptions (args); + cookedArgs* args = cArgNewFromLineFile (fp); + parseOptions (args); + while (! cArgOff (args)) + { + resize |= createTagsForEntry (cArgItem (args)); + if (filter) + { + if (Option.filterTerminator != NULL) + fputs (Option.filterTerminator, stdout); + fflush (stdout); + } + cArgForth (args); + parseOptions (args); + } + cArgDelete (args); } - cArgDelete (args); - } - return resize; + return resize; }
/* Read from a named file a list of file names for which to generate tags. */ static boolean createTagsFromListFile (const char* const fileName) { - boolean resize; - Assert (fileName != NULL); - if (strcmp (fileName, "-") == 0) - resize = createTagsFromFileInput (stdin, FALSE); - else - { - FILE* const fp = g_fopen (fileName, "r"); - if (fp == NULL) - error (FATAL | PERROR, "cannot open list file "%s"", fileName); - resize = createTagsFromFileInput (fp, FALSE); - fclose (fp); - } - return resize; + boolean resize; + Assert (fileName != NULL); + if (strcmp (fileName, "-") == 0) + resize = createTagsFromFileInput (stdin, FALSE); + else + { + FILE* const fp = g_fopen (fileName, "r"); + if (fp == NULL) + error (FATAL | PERROR, "cannot open list file "%s"", fileName); + resize = createTagsFromFileInput (fp, FALSE); + fclose (fp); + } + return resize; }
#if defined (HAVE_CLOCK) # define CLOCK_AVAILABLE # ifndef CLOCKS_PER_SEC -# define CLOCKS_PER_SEC 1000000 +# define CLOCKS_PER_SEC 1000000 # endif #elif defined (HAVE_TIMES) # define CLOCK_AVAILABLE -# define CLOCKS_PER_SEC 60 +# define CLOCKS_PER_SEC 60 static clock_t clock (void) { - struct tms buf; + struct tms buf;
- times (&buf); - return (buf.tms_utime + buf.tms_stime); + times (&buf); + return (buf.tms_utime + buf.tms_stime); } #else # define clock() (clock_t)0 #endif
static void printTotals (const clock_t *const timeStamps) { - const unsigned long totalTags = TagFile.numTags.added + - TagFile.numTags.prev; + const unsigned long totalTags = TagFile.numTags.added + + TagFile.numTags.prev;
- fprintf (errout, "%ld file%s, %ld line%s (%ld kB) scanned", - Totals.files, plural (Totals.files), - Totals.lines, plural (Totals.lines), - Totals.bytes/1024L); + fprintf (errout, "%ld file%s, %ld line%s (%ld kB) scanned", + Totals.files, plural (Totals.files), + Totals.lines, plural (Totals.lines), + Totals.bytes/1024L); #ifdef CLOCK_AVAILABLE - { - const double interval = ((double) (timeStamps [1] - timeStamps [0])) / - CLOCKS_PER_SEC; - - fprintf (errout, " in %.01f seconds", interval); - if (interval != (double) 0.0) - fprintf (errout, " (%lu kB/s)", - (unsigned long) (Totals.bytes / interval) / 1024L); - } -#endif - fputc ('\n', errout); - - fprintf (errout, "%lu tag%s added to tag file", - TagFile.numTags.added, plural (TagFile.numTags.added)); - if (Option.append) - fprintf (errout, " (now %lu tags)", totalTags); - fputc ('\n', errout); - - if (totalTags > 0 && Option.sorted) - { - fprintf (errout, "%lu tag%s sorted", totalTags, plural (totalTags)); -#ifdef CLOCK_AVAILABLE - fprintf (errout, " in %.02f seconds", - ((double) (timeStamps [2] - timeStamps [1])) / CLOCKS_PER_SEC); + { + const double interval = ((double) (timeStamps [1] - timeStamps [0])) / + CLOCKS_PER_SEC; + + fprintf (errout, " in %.01f seconds", interval); + if (interval != (double) 0.0) + fprintf (errout, " (%lu kB/s)", + (unsigned long) (Totals.bytes / interval) / 1024L); + } #endif fputc ('\n', errout); - } + + fprintf (errout, "%lu tag%s added to tag file", + TagFile.numTags.added, plural (TagFile.numTags.added)); + if (Option.append) + fprintf (errout, " (now %lu tags)", totalTags); + fputc ('\n', errout); + + if (totalTags > 0 && Option.sorted) + { + fprintf (errout, "%lu tag%s sorted", totalTags, plural (totalTags)); +#ifdef CLOCK_AVAILABLE + fprintf (errout, " in %.02f seconds", + ((double) (timeStamps [2] - timeStamps [1])) / CLOCKS_PER_SEC); +#endif + fputc ('\n', errout); + }
#ifdef TM_DEBUG - fprintf (errout, "longest tag line = %lu\n", - (unsigned long) TagFile.max.line); + fprintf (errout, "longest tag line = %lu\n", + (unsigned long) TagFile.max.line); #endif }
static void makeTags (cookedArgs* args) { - clock_t timeStamps [3]; - boolean resize = FALSE; - boolean files = (boolean)(! cArgOff (args) || Option.fileList != NULL - || Option.filter); + clock_t timeStamps [3]; + boolean resize = FALSE; + boolean files = (boolean)(! cArgOff (args) || Option.fileList != NULL + || Option.filter);
- if (! files && ! Option.recurse) - error (FATAL, "No files specified. Try "%s --help".", - getExecutableName ()); + if (! files && ! Option.recurse) + error (FATAL, "No files specified. Try "%s --help".", + getExecutableName ());
#define timeStamp(n) timeStamps[(n)]=(Option.printTotals ? clock():(clock_t)0) - if (! Option.filter) - openTagFile (); - - timeStamp (0); - - if (! cArgOff (args)) - { - verbose ("Reading command line arguments\n"); - resize = createTagsForArgs (args); - } - if (Option.fileList != NULL) - { - verbose ("Reading list file\n"); - resize = (boolean) (createTagsFromListFile (Option.fileList) || resize); - } - if (Option.filter) - { - verbose ("Reading filter input\n"); - resize = (boolean) (createTagsFromFileInput (stdin, TRUE) || resize); - } - if (! files && Option.recurse) - resize = recurseIntoDirectory ("."); - - timeStamp (1); - - if (! Option.filter) - closeTagFile (resize); - - timeStamp (2); - - if (Option.printTotals) - printTotals (timeStamps); + if (! Option.filter) + openTagFile (); + + timeStamp (0); + + if (! cArgOff (args)) + { + verbose ("Reading command line arguments\n"); + resize = createTagsForArgs (args); + } + if (Option.fileList != NULL) + { + verbose ("Reading list file\n"); + resize = (boolean) (createTagsFromListFile (Option.fileList) || resize); + } + if (Option.filter) + { + verbose ("Reading filter input\n"); + resize = (boolean) (createTagsFromFileInput (stdin, TRUE) || resize); + } + if (! files && Option.recurse) + resize = recurseIntoDirectory ("."); + + timeStamp (1); + + if (! Option.filter) + closeTagFile (resize); + + timeStamp (2); + + if (Option.printTotals) + printTotals (timeStamps); #undef timeStamp }
/* - * Start up code + * Start up code */
static void setExecutableName (const char *const path) { - ExecutableProgram = path; - ExecutableName = baseFilename (path); + ExecutableProgram = path; + ExecutableName = baseFilename (path); #ifdef VAXC { - /* remove filetype from executable name */ - char *p = strrchr (ExecutableName, '.'); - if (p != NULL) - *p = '\0'; + /* remove filetype from executable name */ + char *p = strrchr (ExecutableName, '.'); + if (p != NULL) + *p = '\0'; } #endif }
extern int ctags_main (int UNUSED argc, char **argv) { - cookedArgs *args; + cookedArgs *args; #ifdef VMS - extern int getredirection (int *ac, char ***av); + extern int getredirection (int *ac, char ***av);
- /* do wildcard expansion and I/O redirection */ - getredirection (&argc, &argv); + /* do wildcard expansion and I/O redirection */ + getredirection (&argc, &argv); #endif
#ifdef AMIGA - /* This program doesn't work when started from the Workbench */ - if (argc == 0) - exit (1); + /* This program doesn't work when started from the Workbench */ + if (argc == 0) + exit (1); #endif
#ifdef __EMX__ - _wildcard (&argc, &argv); /* expand wildcards in argument list */ + _wildcard (&argc, &argv); /* expand wildcards in argument list */ #endif
#if defined (macintosh) && BUILD_MPW_TOOL == 0 - argc = ccommand (&argv); + argc = ccommand (&argv); #endif
- setCurrentDirectory (); - setExecutableName (*argv++); + setCurrentDirectory (); + setExecutableName (*argv++); #ifdef HAVE_REGEX - checkRegex (); -#endif - - /* always excluded by default */ - processExcludeOption (NULL, "EIFGEN"); - processExcludeOption (NULL, "SCCS"); - - args = cArgNewFromArgv (argv); - previewFirstOption (args); - testEtagsInvocation (); - initializeParsing (); - initOptions (); - readOptionConfiguration (); - verbose ("Reading initial options from command line\n"); - parseOptions (args); - checkOptions (); - makeTags (args); - - /* Clean up. - */ - eFree (CurrentDirectory); - freeList (&Excluded); - cArgDelete (args); - freeKeywordTable (); - freeSourceFileResources (); - freeTagFileResources (); - freeOptionResources (); - freeParserResources (); + checkRegex (); +#endif + + /* always excluded by default */ + processExcludeOption (NULL, "EIFGEN"); + processExcludeOption (NULL, "SCCS"); + + args = cArgNewFromArgv (argv); + previewFirstOption (args); + testEtagsInvocation (); + initializeParsing (); + initOptions (); + readOptionConfiguration (); + verbose ("Reading initial options from command line\n"); + parseOptions (args); + checkOptions (); + makeTags (args); + + /* Clean up. + */ + eFree (CurrentDirectory); + freeList (&Excluded); + cArgDelete (args); + freeKeywordTable (); + freeSourceFileResources (); + freeTagFileResources (); + freeOptionResources (); + freeParserResources (); #ifdef HAVE_REGEX - freeRegexResources (); + freeRegexResources (); #endif
- exit (0); - return 0; + exit (0); + return 0; } #endif
/* wrap g_warning so we don't include glib.h for all parsers, to keep compat with CTags */ void utils_warn(const char *msg) { - g_warning("%s", msg); + g_warning("%s", msg); }
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/ctags.h 12 lines changed, 6 insertions(+), 6 deletions(-) =================================================================== @@ -15,11 +15,11 @@ #ifndef PROGRAM_VERSION # define PROGRAM_VERSION "5.0.1" #endif -#define PROGRAM_NAME "Exuberant Ctags" -#define PROGRAM_URL "http://ctags.sourceforge.net" -#define AUTHOR_NAME "Darren Hiebert" -#define AUTHOR_EMAIL "darren@hiebert.com" +#define PROGRAM_NAME "Exuberant Ctags" +#define PROGRAM_URL "http://ctags.sourceforge.net" +#define AUTHOR_NAME "Darren Hiebert" +#define AUTHOR_EMAIL "darren@hiebert.com"
-#endif /* _CTAGS_H */ +#endif /* _CTAGS_H */
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/entry.c 458 lines changed, 229 insertions(+), 229 deletions(-) =================================================================== @@ -11,19 +11,19 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */
#include <string.h> -#include <ctype.h> /* to define isspace () */ +#include <ctype.h> /* to define isspace () */ #include <errno.h> #include <glib.h> #include <glib/gstdio.h>
#if defined (HAVE_SYS_TYPES_H) -# include <sys/types.h> /* to declare off_t on some hosts */ +# include <sys/types.h> /* to declare off_t on some hosts */ #endif #if defined (HAVE_TYPES_H) -# include <types.h> /* to declare off_t on some hosts */ +# include <types.h> /* to declare off_t on some hosts */ #endif
@@ -48,9 +48,9 @@ /* * MACROS */ -#define PSEUDO_TAG_PREFIX "!_" +#define PSEUDO_TAG_PREFIX "!_"
-#define includeExtensionFlags() (Option.tagFileFormat > 1) +#define includeExtensionFlags() (Option.tagFileFormat > 1)
/* * Portability defines @@ -62,24 +62,24 @@ /* Hack for ridiculous practice of Microsoft Visual C++. */ #if defined (WIN32) && defined (_MSC_VER) -# define chsize _chsize -# define open _open -# define close _close -# define O_RDWR _O_RDWR +# define chsize _chsize +# define open _open +# define close _close +# define O_RDWR _O_RDWR #endif
/* * DATA DEFINITIONS */
tagFile TagFile = { - NULL, /* tag file name */ - NULL, /* tag file directory (absolute) */ - NULL, /* file pointer */ - { 0, 0 }, /* numTags */ - { 0, 0, 0 }, /* max */ - { NULL, NULL, 0 }, /* etags */ - NULL /* vLine */ + NULL, /* tag file name */ + NULL, /* tag file directory (absolute) */ + NULL, /* file pointer */ + { 0, 0 }, /* numTags */ + { 0, 0, 0 }, /* max */ + { NULL, NULL, 0 }, /* etags */ + NULL /* vLine */ };
static boolean TagsToStdout = FALSE; @@ -101,13 +101,13 @@ extern int ftruncate (int fd, off_t length);
extern void freeTagFileResources (void) { - eFree (TagFile.directory); - vStringDelete (TagFile.vLine); + eFree (TagFile.directory); + vStringDelete (TagFile.vLine); }
extern const char *tagFileName (void) { - return TagFile.name; + return TagFile.name; }
/* @@ -116,126 +116,126 @@ extern const char *tagFileName (void)
static void rememberMaxLengths (const size_t nameLength, const size_t lineLength) { - if (nameLength > TagFile.max.tag) - TagFile.max.tag = nameLength; + if (nameLength > TagFile.max.tag) + TagFile.max.tag = nameLength;
- if (lineLength > TagFile.max.line) - TagFile.max.line = lineLength; + if (lineLength > TagFile.max.line) + TagFile.max.line = lineLength; }
static void writePseudoTag (const char *const tagName, - const char *const fileName, - const char *const pattern) + const char *const fileName, + const char *const pattern) { - const int length = mio_printf (TagFile.mio, "%s%s\t%s\t/%s/\n", - PSEUDO_TAG_PREFIX, tagName, fileName, pattern); - ++TagFile.numTags.added; - rememberMaxLengths (strlen (tagName), (size_t) length); + const int length = mio_printf (TagFile.mio, "%s%s\t%s\t/%s/\n", + PSEUDO_TAG_PREFIX, tagName, fileName, pattern); + ++TagFile.numTags.added; + rememberMaxLengths (strlen (tagName), (size_t) length); }
static void addPseudoTags (void) { - if (! Option.xref) - { - char format [11]; - const char *formatComment = "unknown format"; - - sprintf (format, "%u", Option.tagFileFormat); - - if (Option.tagFileFormat == 1) - formatComment = "original ctags format"; - else if (Option.tagFileFormat == 2) - formatComment = - "extended format; --format=1 will not append ;" to lines"; - - writePseudoTag ("TAG_FILE_FORMAT", format, formatComment); - writePseudoTag ("TAG_FILE_SORTED", Option.sorted ? "1":"0", - "0=unsorted, 1=sorted"); - writePseudoTag ("TAG_PROGRAM_AUTHOR", AUTHOR_NAME, AUTHOR_EMAIL); - writePseudoTag ("TAG_PROGRAM_NAME", PROGRAM_NAME, ""); - writePseudoTag ("TAG_PROGRAM_URL", PROGRAM_URL, "official site"); - writePseudoTag ("TAG_PROGRAM_VERSION", PROGRAM_VERSION, ""); - } + if (! Option.xref) + { + char format [11]; + const char *formatComment = "unknown format"; + + sprintf (format, "%u", Option.tagFileFormat); + + if (Option.tagFileFormat == 1) + formatComment = "original ctags format"; + else if (Option.tagFileFormat == 2) + formatComment = + "extended format; --format=1 will not append ;" to lines"; + + writePseudoTag ("TAG_FILE_FORMAT", format, formatComment); + writePseudoTag ("TAG_FILE_SORTED", Option.sorted ? "1":"0", + "0=unsorted, 1=sorted"); + writePseudoTag ("TAG_PROGRAM_AUTHOR", AUTHOR_NAME, AUTHOR_EMAIL); + writePseudoTag ("TAG_PROGRAM_NAME", PROGRAM_NAME, ""); + writePseudoTag ("TAG_PROGRAM_URL", PROGRAM_URL, "official site"); + writePseudoTag ("TAG_PROGRAM_VERSION", PROGRAM_VERSION, ""); + } }
static void updateSortedFlag (const char *const line, - MIO *const mio, MIOPos startOfLine) + MIO *const mio, MIOPos startOfLine) { - const char *const tab = strchr (line, '\t'); + const char *const tab = strchr (line, '\t');
- if (tab != NULL) - { - const long boolOffset = tab - line + 1; /* where it should be */ - - if (line [boolOffset] == '0' || line [boolOffset] == '1') + if (tab != NULL) { - MIOPos nextLine; - - if (mio_getpos (mio, &nextLine) == -1 || mio_setpos (mio, &startOfLine) == -1) - error (WARNING, "Failed to update 'sorted' pseudo-tag"); - else - { - MIOPos flagLocation; - int c, d; - - do - c = mio_getc (mio); - while (c != '\t' && c != '\n'); - mio_getpos (mio, &flagLocation); - d = mio_getc (mio); - if (c == '\t' && (d == '0' || d == '1') && - d != (int) Option.sorted) + const long boolOffset = tab - line + 1; /* where it should be */ + + if (line [boolOffset] == '0' || line [boolOffset] == '1') { - mio_setpos (mio, &flagLocation); - mio_putc (mio, Option.sorted ? '1' : '0'); + MIOPos nextLine; + + if (mio_getpos (mio, &nextLine) == -1 || mio_setpos (mio, &startOfLine) == -1) + error (WARNING, "Failed to update 'sorted' pseudo-tag"); + else + { + MIOPos flagLocation; + int c, d; + + do + c = mio_getc (mio); + while (c != '\t' && c != '\n'); + mio_getpos (mio, &flagLocation); + d = mio_getc (mio); + if (c == '\t' && (d == '0' || d == '1') && + d != (int) Option.sorted) + { + mio_setpos (mio, &flagLocation); + mio_putc (mio, Option.sorted ? '1' : '0'); + } + mio_setpos (mio, &nextLine); + } } - mio_setpos (mio, &nextLine); - } } - } }
/* Look through all line beginning with "!_TAG_FILE", and update those which * require it. */ static long unsigned int updatePseudoTags (MIO *const mio) { - enum { maxClassLength = 20 }; - char class [maxClassLength + 1]; - unsigned long linesRead = 0; - MIOPos startOfLine; - size_t classLength; - const char *line; - - sprintf (class, "%sTAG_FILE", PSEUDO_TAG_PREFIX); - classLength = strlen (class); - Assert (classLength < maxClassLength); - - mio_getpos (mio, &startOfLine); - line = readLine (TagFile.vLine, mio); - while (line != NULL && line [0] == class [0]) - { - ++linesRead; - if (strncmp (line, class, classLength) == 0) + enum { maxClassLength = 20 }; + char class [maxClassLength + 1]; + unsigned long linesRead = 0; + MIOPos startOfLine; + size_t classLength; + const char *line; + + sprintf (class, "%sTAG_FILE", PSEUDO_TAG_PREFIX); + classLength = strlen (class); + Assert (classLength < maxClassLength); + + mio_getpos (mio, &startOfLine); + line = readLine (TagFile.vLine, mio); + while (line != NULL && line [0] == class [0]) { - char tab, classType [16]; - - if (sscanf (line + classLength, "%15s%c", classType, &tab) == 2 && - tab == '\t') - { - if (strcmp (classType, "_SORTED") == 0) - updateSortedFlag (line, mio, startOfLine); - } - mio_getpos (mio, &startOfLine); + ++linesRead; + if (strncmp (line, class, classLength) == 0) + { + char tab, classType [16]; + + if (sscanf (line + classLength, "%15s%c", classType, &tab) == 2 && + tab == '\t') + { + if (strcmp (classType, "_SORTED") == 0) + updateSortedFlag (line, mio, startOfLine); + } + mio_getpos (mio, &startOfLine); + } + line = readLine (TagFile.vLine, mio); } - line = readLine (TagFile.vLine, mio); - } - while (line != NULL) /* skip to end of file */ - { - ++linesRead; - line = readLine (TagFile.vLine, mio); - } - return linesRead; + while (line != NULL) /* skip to end of file */ + { + ++linesRead; + line = readLine (TagFile.vLine, mio); + } + return linesRead; }
/* @@ -246,116 +246,116 @@ static long unsigned int updatePseudoTags (MIO *const mio)
static boolean isTagFile (const char *const filename) { - boolean ok = FALSE; /* we assume not unless confirmed */ - MIO *const mio = mio_new_file_full (filename, "rb", g_fopen, fclose); - - if (mio == NULL && errno == ENOENT) - ok = TRUE; - else if (mio != NULL) - { - const char *line = readLine (TagFile.vLine, mio); - - if (line == NULL) - ok = TRUE; - mio_free (mio); - } - return ok; + boolean ok = FALSE; /* we assume not unless confirmed */ + MIO *const mio = mio_new_file_full (filename, "rb", g_fopen, fclose); + + if (mio == NULL && errno == ENOENT) + ok = TRUE; + else if (mio != NULL) + { + const char *line = readLine (TagFile.vLine, mio); + + if (line == NULL) + ok = TRUE; + mio_free (mio); + } + return ok; }
extern void copyBytes (MIO* const fromMio, MIO* const toMio, const long size) { - enum { BufferSize = 1000 }; - long toRead, numRead; - char* buffer = xMalloc (BufferSize, char); - long remaining = size; - do - { - toRead = (0 < remaining && remaining < BufferSize) ? - remaining : BufferSize; - numRead = mio_read (fromMio, buffer, (size_t) 1, (size_t) toRead); - if (mio_write (toMio, buffer, (size_t)1, (size_t)numRead) < (size_t)numRead) - error (FATAL | PERROR, "cannot complete write"); - if (remaining > 0) - remaining -= numRead; - } while (numRead == toRead && remaining != 0); - eFree (buffer); + enum { BufferSize = 1000 }; + long toRead, numRead; + char* buffer = xMalloc (BufferSize, char); + long remaining = size; + do + { + toRead = (0 < remaining && remaining < BufferSize) ? + remaining : BufferSize; + numRead = mio_read (fromMio, buffer, (size_t) 1, (size_t) toRead); + if (mio_write (toMio, buffer, (size_t)1, (size_t)numRead) < (size_t)numRead) + error (FATAL | PERROR, "cannot complete write"); + if (remaining > 0) + remaining -= numRead; + } while (numRead == toRead && remaining != 0); + eFree (buffer); }
extern void copyFile (const char *const from, const char *const to, const long size) { - MIO* const fromMio = mio_new_file_full (from, "rb", g_fopen, fclose); - if (fromMio == NULL) - error (FATAL | PERROR, "cannot open file to copy"); - else - { - MIO* const toMio = mio_new_file_full (to, "wb", g_fopen, fclose); - if (toMio == NULL) - error (FATAL | PERROR, "cannot open copy destination"); + MIO* const fromMio = mio_new_file_full (from, "rb", g_fopen, fclose); + if (fromMio == NULL) + error (FATAL | PERROR, "cannot open file to copy"); else { - copyBytes (fromMio, toMio, size); - mio_free (toMio); + MIO* const toMio = mio_new_file_full (to, "wb", g_fopen, fclose); + if (toMio == NULL) + error (FATAL | PERROR, "cannot open copy destination"); + else + { + copyBytes (fromMio, toMio, size); + mio_free (toMio); + } + mio_free (fromMio); } - mio_free (fromMio); - } }
extern void openTagFile (void) { - setDefaultTagFileName (); - TagsToStdout = isDestinationStdout (); - - if (TagFile.vLine == NULL) - TagFile.vLine = vStringNew (); - - /* Open the tags file. - */ - if (TagsToStdout) - { - FILE *fp; + setDefaultTagFileName (); + TagsToStdout = isDestinationStdout ();
- fp = tempFile ("w", &TagFile.name); - TagFile.mio = mio_new_fp (fp, fclose); - } - else - { - boolean fileExists; + if (TagFile.vLine == NULL) + TagFile.vLine = vStringNew ();
- setDefaultTagFileName (); - TagFile.name = eStrdup (Option.tagFileName); - fileExists = doesFileExist (TagFile.name); - if (fileExists && ! isTagFile (TagFile.name)) - error (FATAL, - ""%s" doesn't look like a tag file; I refuse to overwrite it.", - TagFile.name); - - if (Option.append && fileExists) + /* Open the tags file. + */ + if (TagsToStdout) { - TagFile.mio = mio_new_file_full (TagFile.name, "r+", g_fopen, fclose); - if (TagFile.mio != NULL) - { - TagFile.numTags.prev = updatePseudoTags (TagFile.mio); - mio_free (TagFile.mio); - TagFile.mio = mio_new_file_full (TagFile.name, "a+", g_fopen, fclose); - } + FILE *fp; + + fp = tempFile ("w", &TagFile.name); + TagFile.mio = mio_new_fp (fp, fclose); } else { - TagFile.mio = mio_new_file_full (TagFile.name, "w", g_fopen, fclose); - if (TagFile.mio != NULL) - addPseudoTags (); - } + boolean fileExists;
- if (TagFile.mio == NULL) - { - error (FATAL | PERROR, "cannot open tag file"); - exit (1); + setDefaultTagFileName (); + TagFile.name = eStrdup (Option.tagFileName); + fileExists = doesFileExist (TagFile.name); + if (fileExists && ! isTagFile (TagFile.name)) + error (FATAL, + ""%s" doesn't look like a tag file; I refuse to overwrite it.", + TagFile.name); + + if (Option.append && fileExists) + { + TagFile.mio = mio_new_file_full (TagFile.name, "r+", g_fopen, fclose); + if (TagFile.mio != NULL) + { + TagFile.numTags.prev = updatePseudoTags (TagFile.mio); + mio_free (TagFile.mio); + TagFile.mio = mio_new_file_full (TagFile.name, "a+", g_fopen, fclose); + } + } + else + { + TagFile.mio = mio_new_file_full (TagFile.name, "w", g_fopen, fclose); + if (TagFile.mio != NULL) + addPseudoTags (); + } + + if (TagFile.mio == NULL) + { + error (FATAL | PERROR, "cannot open tag file"); + exit (1); + } } - } - if (TagsToStdout) - TagFile.directory = eStrdup (CurrentDirectory); - else - TagFile.directory = absoluteDirname (TagFile.name); + if (TagsToStdout) + TagFile.directory = eStrdup (CurrentDirectory); + else + TagFile.directory = absoluteDirname (TagFile.name); }
#ifdef USE_REPLACEMENT_TRUNCATE @@ -364,15 +364,15 @@ extern void openTagFile (void) */ static int replacementTruncate (const char *const name, const long size) { - char *tempName = NULL; - FILE *fp = tempFile ("w", &tempName); - fclose (fp); - copyFile (name, tempName, size); - copyFile (tempName, name, WHOLE_FILE); - remove (tempName); - eFree (tempName); - - return 0; + char *tempName = NULL; + FILE *fp = tempFile ("w", &tempName); + fclose (fp); + copyFile (name, tempName, size); + copyFile (tempName, name, WHOLE_FILE); + remove (tempName); + eFree (tempName); + + return 0; }
#endif @@ -385,31 +385,31 @@ static int replacementTruncate (const char *const name, const long size)
extern void makeTagEntry (const tagEntryInfo *const tag) { - Assert (tag->name != NULL); - if (tag->name [0] == '\0') - error (WARNING, "ignoring null tag in %s", vStringValue (File.name)); - else - { - int length = 0; + Assert (tag->name != NULL); + if (tag->name [0] == '\0') + error (WARNING, "ignoring null tag in %s", vStringValue (File.name)); + else + { + int length = 0;
- if (NULL != TagEntryFunction) - length = TagEntryFunction(tag, TagEntryUserData); + if (NULL != TagEntryFunction) + length = TagEntryFunction(tag, TagEntryUserData);
- ++TagFile.numTags.added; - rememberMaxLengths (strlen (tag->name), (size_t) length); - } + ++TagFile.numTags.added; + rememberMaxLengths (strlen (tag->name), (size_t) length); + } }
extern void initTagEntry (tagEntryInfo *const e, const char *const name) { - Assert (File.source.name != NULL); - memset (e, 0, sizeof (tagEntryInfo)); - e->lineNumberEntry = (boolean) (Option.locate == EX_LINENUM); - e->lineNumber = getSourceLineNumber (); - e->language = getSourceLanguageName (); - e->filePosition = getInputFilePosition (); - e->sourceFileName = getSourceFileTagPath (); - e->name = name; + Assert (File.source.name != NULL); + memset (e, 0, sizeof (tagEntryInfo)); + e->lineNumberEntry = (boolean) (Option.locate == EX_LINENUM); + e->lineNumber = getSourceLineNumber (); + e->language = getSourceLanguageName (); + e->filePosition = getInputFilePosition (); + e->sourceFileName = getSourceFileTagPath (); + e->name = name; }
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/entry.h 70 lines changed, 35 insertions(+), 35 deletions(-) =================================================================== @@ -13,7 +13,7 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */
#include "mio.h" #include "vstring.h" @@ -30,48 +30,48 @@ /* Maintains the state of the tag file. */ typedef struct eTagFile { - char *name; - char *directory; - MIO *mio; - struct sNumTags { unsigned long added, prev; } numTags; - struct sMax { size_t line, tag, file; } max; - struct sEtags { char *name; + char *directory; MIO *mio; - size_t byteCount; - } etags; - vString *vLine; + struct sNumTags { unsigned long added, prev; } numTags; + struct sMax { size_t line, tag, file; } max; + struct sEtags { + char *name; + MIO *mio; + size_t byteCount; + } etags; + vString *vLine; } tagFile;
typedef struct sTagFields { - unsigned int count; /* number of additional extension flags */ - const char *const *label; /* list of labels for extension flags */ - const char *const *value; /* list of values for extension flags */ + unsigned int count; /* number of additional extension flags */ + const char *const *label; /* list of labels for extension flags */ + const char *const *value; /* list of values for extension flags */ } tagFields;
/* Information about the current tag candidate. */ typedef struct sTagEntryInfo { - boolean lineNumberEntry;/* pattern or line number entry */ - unsigned long lineNumber; /* line number of tag */ - MIOPos filePosition; /* file position of line containing tag */ - const char* language; /* language of source file */ - boolean isFileScope; /* is tag visible only within source file? */ - boolean isFileEntry; /* is this just an entry for a file name? */ - boolean truncateLine; /* truncate tag line at end of tag name? */ - const char *sourceFileName; /* name of source file */ - const char *name; /* name of the tag */ - const char *kindName; /* kind of tag */ - char kind; /* single character representation of kind */ - struct { - const char* access; - const char* fileScope; - const char* implementation; - const char* inheritance; - const char* scope [2]; /* value and key */ - const char *signature; /* Argument list for functions and macros with arguments */ - const char *varType; - } extensionFields; /* list of extension fields*/ + boolean lineNumberEntry;/* pattern or line number entry */ + unsigned long lineNumber; /* line number of tag */ + MIOPos filePosition; /* file position of line containing tag */ + const char* language; /* language of source file */ + boolean isFileScope; /* is tag visible only within source file? */ + boolean isFileEntry; /* is this just an entry for a file name? */ + boolean truncateLine; /* truncate tag line at end of tag name? */ + const char *sourceFileName; /* name of source file */ + const char *name; /* name of the tag */ + const char *kindName; /* kind of tag */ + char kind; /* single character representation of kind */ + struct { + const char* access; + const char* fileScope; + const char* implementation; + const char* inheritance; + const char* scope [2]; /* value and key */ + const char *signature; /* Argument list for functions and macros with arguments */ + const char *varType; + } extensionFields; /* list of extension fields*/ } tagEntryInfo;
/* @@ -93,6 +93,6 @@ extern void endEtagsFile (const char *const name); extern void makeTagEntry (const tagEntryInfo *const tag); extern void initTagEntry (tagEntryInfo *const e, const char *const name);
-#endif /* _ENTRY_H */ +#endif /* _ENTRY_H */
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/general.h 12 lines changed, 6 insertions(+), 6 deletions(-) =================================================================== @@ -31,7 +31,7 @@ * to prevent warnings about unused variables. */ #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !(defined (__APPLE_CC__) || defined (__GNUG__)) -# define UNUSED __attribute__((unused)) +# define UNUSED __attribute__((unused)) # define PRINTF(s,f) __attribute__((format (printf, s, f))) #else # define UNUSED @@ -43,9 +43,9 @@ * stdout instead. */ #if defined (MSDOS) || defined (WIN32) -# define errout stdout +# define errout stdout #else -# define errout stderr +# define errout stderr #endif
#if defined (__CYGWIN__) @@ -204,7 +204,7 @@ int fnmatch(const char *pattern, const char *string, int flags);
/* fake debug statement macro */ #define DebugStatement(x) ; -#define PrintStatus(x) ; +#define PrintStatus(x) ; /* wrap g_warning so we don't include glib.h for all parsers, to keep compat with CTags */ void utils_warn(const char *msg); #define Assert(x) if (!(x)) utils_warn("Assert(" #x ") failed!") @@ -252,6 +252,6 @@ extern void *unlink (const char *); extern char *getenv (const char *); #endif
-#endif /* _GENERAL_H */ +#endif /* _GENERAL_H */
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/main.h 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -79,4 +79,4 @@ extern char* strstr (const char *str, const char *substr);
#endif /* _MAIN_H */
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/options.c 144 lines changed, 72 insertions(+), 72 deletions(-) =================================================================== @@ -11,12 +11,12 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */
#include <stdlib.h> #include <string.h> #include <stdio.h> -#include <ctype.h> /* to declare isspace () */ +#include <ctype.h> /* to declare isspace () */
#include "ctags.h" #include "main.h" @@ -26,9 +26,9 @@
#include <glib.h>
-#define CTAGS_ENVIRONMENT "CTAGS" +#define CTAGS_ENVIRONMENT "CTAGS"
-#define CTAGS_FILE "tags" +#define CTAGS_FILE "tags"
/* The following separators are permitted for list options. @@ -39,14 +39,14 @@ #define IGNORE_SEPARATORS ", \t\n"
#ifndef DEFAULT_FILE_FORMAT -# define DEFAULT_FILE_FORMAT 2 +# define DEFAULT_FILE_FORMAT 2 #endif
#if defined (MSDOS) || defined (WIN32) || defined (OS2) || defined (AMIGA) || defined (HAVE_OPENDIR) # define RECURSE_SUPPORTED #endif
-#define isCompoundOption(c) (boolean) (strchr ("fohiILpDb", (c)) != NULL) +#define isCompoundOption(c) (boolean) (strchr ("fohiILpDb", (c)) != NULL)
@@ -55,53 +55,53 @@ */
optionValues Option = { - { - FALSE, /* --extra=f */ - FALSE, /* --extra=q */ - TRUE, /* --file-scope */ - }, - { - TRUE, /* -fields=a */ - TRUE, /* -fields=f */ - FALSE, /* -fields=m */ - TRUE, /* -fields=i */ - FALSE, /* -fields=k */ - TRUE, /* -fields=z */ - TRUE, /* -fields=K */ - FALSE, /* -fields=l */ - TRUE, /* -fields=n */ - TRUE, /* -fields=s */ - TRUE, /* -fields=P */ - TRUE /* -fields=A */ - }, - NULL, /* -I */ - FALSE, /* -a */ - FALSE, /* -B */ + { + FALSE, /* --extra=f */ + FALSE, /* --extra=q */ + TRUE, /* --file-scope */ + }, + { + TRUE, /* -fields=a */ + TRUE, /* -fields=f */ + FALSE, /* -fields=m */ + TRUE, /* -fields=i */ + FALSE, /* -fields=k */ + TRUE, /* -fields=z */ + TRUE, /* -fields=K */ + FALSE, /* -fields=l */ + TRUE, /* -fields=n */ + TRUE, /* -fields=s */ + TRUE, /* -fields=P */ + TRUE /* -fields=A */ + }, + NULL, /* -I */ + FALSE, /* -a */ + FALSE, /* -B */ #ifdef MACROS_USE_PATTERNS - EX_PATTERN, /* -n, --excmd */ + EX_PATTERN, /* -n, --excmd */ #else - EX_MIX, /* -n, --excmd */ + EX_MIX, /* -n, --excmd */ #endif - FALSE, /* -R */ - TRUE, /* -u, --sort */ - FALSE, /* -V */ - FALSE, /* -x */ - NULL, /* -L */ - NULL, /* -o */ - NULL, /* -h */ - NULL, /* --etags-include */ - DEFAULT_FILE_FORMAT,/* --format */ - FALSE, /* --if0 */ - FALSE, /* --kind-long */ - LANG_AUTO, /* --lang */ - TRUE, /* --links */ - FALSE, /* --filter */ - NULL, /* --filter-terminator */ - FALSE, /* --qualified-tags */ - FALSE, /* --tag-relative */ - FALSE, /* --totals */ - FALSE, /* --line-directives */ - FALSE, /* --nest */ + FALSE, /* -R */ + TRUE, /* -u, --sort */ + FALSE, /* -V */ + FALSE, /* -x */ + NULL, /* -L */ + NULL, /* -o */ + NULL, /* -h */ + NULL, /* --etags-include */ + DEFAULT_FILE_FORMAT,/* --format */ + FALSE, /* --if0 */ + FALSE, /* --kind-long */ + LANG_AUTO, /* --lang */ + TRUE, /* --links */ + FALSE, /* --filter */ + NULL, /* --filter-terminator */ + FALSE, /* --qualified-tags */ + FALSE, /* --tag-relative */ + FALSE, /* --totals */ + FALSE, /* --line-directives */ + FALSE, /* --nest */ };
@@ -111,11 +111,11 @@ extern void verbose (const char *const format, ...)
extern void freeList (stringList** const pList) { - if (*pList != NULL) - { - stringListDelete (*pList); - *pList = NULL; - } + if (*pList != NULL) + { + stringListDelete (*pList); + *pList = NULL; + } }
extern void setDefaultTagFileName (void) @@ -128,17 +128,17 @@ extern void setDefaultTagFileName (void) */ extern const char *fileExtension (const char *const fileName) { - const char *extension; - const char *pDelimiter = NULL; + const char *extension; + const char *pDelimiter = NULL;
- pDelimiter = strrchr (fileName, '.'); + pDelimiter = strrchr (fileName, '.');
- if (pDelimiter == NULL) - extension = ""; - else - extension = pDelimiter + 1; /* skip to first char of extension */ + if (pDelimiter == NULL) + extension = ""; + else + extension = pDelimiter + 1; /* skip to first char of extension */
- return extension; + return extension; }
/* Determines whether the specified file name is considered to be a header @@ -147,7 +147,7 @@ extern const char *fileExtension (const char *const fileName) */ extern boolean isIncludeFile (const char *const fileName) { - return FALSE; + return FALSE; }
/* tags_ignore is a NULL-terminated array of strings, read from ~/.config/geany/ignore.tags. @@ -158,8 +158,8 @@ gchar **c_tags_ignore = NULL; /* Determines whether or not "name" should be ignored, per the ignore list. */ extern boolean isIgnoreToken (const char *const name, - boolean *const pIgnoreParens, - const char **const replacement) + boolean *const pIgnoreParens, + const char **const replacement) { boolean result = FALSE;
@@ -217,11 +217,11 @@ extern boolean isIgnoreToken (const char *const name,
void addIgnoreListFromFile (const char *const fileName) { - stringList* tokens = stringListNewFromFile (fileName); - if (Option.ignore == NULL) - Option.ignore = tokens; - else - stringListCombine (Option.ignore, tokens); + stringList* tokens = stringListNewFromFile (fileName); + if (Option.ignore == NULL) + Option.ignore = tokens; + else + stringListCombine (Option.ignore, tokens); }
@@ -233,4 +233,4 @@ void addIgnoreListFromFile (const char *const fileName) #define initOptions #define freeOptionResources
-/* vi:set tabstop=8 shiftwidth=4: */ +/* vi:set tabstop=4 shiftwidth=4: */
Modified: ctags/main/options.h 100 lines changed, 50 insertions(+), 50 deletions(-) =================================================================== @@ -19,7 +19,7 @@ /* * INCLUDE FILES */ -#include "general.h" /* must always come first */ +#include "general.h" /* must always come first */
#include <stdarg.h>
@@ -36,59 +36,59 @@ /* This stores the command line options. */ typedef struct sOptionValues { - struct sInclude { - boolean fileNames; /* include tags for source file names */ - boolean qualifiedTags; /* include tags for qualified class members */ - boolean fileScope; /* include tags of file scope only */ - } include; - struct sExtFields { /* extension field content control */ - boolean access; - boolean fileScope; - boolean implementation; - boolean inheritance; - boolean kind; - boolean kindKey; - boolean kindLong; - boolean language; - boolean lineNumber; - boolean scope; - boolean filePosition; /* Write file position */ - boolean argList; /* Write function and macro argumentlist */ - } extensionFields; - stringList* ignore; /* -I name of file containing tokens to ignore */ - boolean append; /* -a append to "tags" file */ - boolean backward; /* -B regexp patterns search backwards */ - enum eLocate { - EX_MIX, /* line numbers for defines, patterns otherwise */ - EX_LINENUM, /* -n only line numbers in tag file */ - EX_PATTERN /* -N only patterns in tag file */ - } locate; /* --excmd EX command used to locate tag */ - boolean recurse; /* -R recurse into directories */ - boolean sorted; /* -u,--sort sort tags */ - boolean verbose; /* -V verbose */ - boolean xref; /* -x generate xref output instead */ - char *fileList; /* -L name of file containing names of files */ - char *tagFileName; /* -o name of tags file */ - stringList* headerExt; /* -h header extensions */ - stringList* etagsInclude;/* --etags-include list of TAGS files to include*/ - unsigned int tagFileFormat;/* --format tag file format (level) */ - boolean if0; /* --if0 examine code within "#if 0" branch */ - boolean kindLong; /* --kind-long */ - langType language; /* --lang specified language override */ - boolean followLinks; /* --link follow symbolic links? */ - boolean filter; /* --filter behave as filter: files in, tags out */ - char* filterTerminator; /* --filter-terminator string to output */ - boolean qualifiedTags; /* --qualified-tags include class-qualified tag */ - boolean tagRelative; /* --tag-relative file paths relative to tag file */ - boolean printTotals; /* --totals print cumulative statistics */ - boolean lineDirectives; /* --linedirectives process #line directives */ + struct sInclude { + boolean fileNames; /* include tags for source file names */ + boolean qualifiedTags; /* include tags for qualified class members */ + boolean fileScope; /* include tags of file scope only */ + } include; + struct sExtFields { /* extension field content control */ + boolean access; + boolean fileScope; + boolean implementation; + boolean inheritance; + boolean kind; + boolean kindKey; + boolean kindLong; + boolean language; + boolean lineNumber; + boolean scope; + boolean filePosition; /* Write file position */ + boolean argList; /* Write function and macro argumentlist */ + } extensionFields; + stringList* ignore; /* -I name of file containing tokens to ignore */ + boolean append; /* -a append to "tags" file */ + boolean backward; /* -B regexp patterns search backwards */ + enum eLocate { + EX_MIX, /* line numbers for defines, patterns otherwise */ + EX_LINENUM, /* -n only line numbers in tag file */ + EX_PATTERN /* -N only patterns in tag file */ + } locate; /* --excmd EX command used to locate tag */ + boolean recurse; /* -R recurse into directories */ + boolean sorted; /* -u,--sort sort tags */ + boolean verbose; /* -V verbose */ + boolean xref; /* -x generate xref output instead */ + char *fileList; /* -L name of file containing names of files */ + char *tagFileName; /* -o name of tags file */ + stringList* headerExt; /* -h header extensions */ + stringList* etagsInclude;/* --etags-include list of TAGS files to include*/ + unsigned int tagFileFormat;/* --format tag file format (level) */ + boolean if0; /* --if0 examine code within "#if 0" branch */ + boolean kindLong; /* --kind-long */ + langType language; /* --lang specified language override */ + boolean followLinks; /* --link follow symbolic links? */ + boolean filter; /* --filter behave as filter: files in, tags out */ + char* filterTerminator; /* --filter-terminator string to output */ + boolean qualifiedTags; /* --qualified-tags include class-qualified tag */ + boolean tagRelative; /* --tag-relative file paths relative to tag file */ + boolean printTotals; /* --totals print cumulative statistics */ + boolean lineDirectives; /* --linedirectives process #line directives */ boolean nestFunction; /* --nest Nest inside function blocks for tags */ } optionValues;
/* * GLOBAL VARIABLES */ -extern CONST_OPTION optionValues Option; +extern CONST_OPTION optionValues Option;
/* * FUNCTION PROTOTYPES @@ -106,6 +106,6 @@ extern void freeOpti@@ Diff output truncated at 100000 characters. @@
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).