# define DEBUG FALSE
#endif
-#ifdef MSDOS
-# include <fcntl.h>
-# include <sys/param.h>
-# include <io.h>
-# ifndef HAVE_CONFIG_H
-# define DOS_NT
-# include <sys/config.h>
-# endif
-#endif /* MSDOS */
-
-#ifdef WINDOWSNT
+#ifdef WIN32_NATIVE
# include <stdlib.h>
# include <fcntl.h>
# include <string.h>
# include <io.h>
# define MAXPATHLEN _MAX_PATH
-# ifdef HAVE_CONFIG_H
-# undef HAVE_NTGUI
-# else
-# define DOS_NT
+# ifndef HAVE_CONFIG_H
# define HAVE_GETCWD
# endif /* not HAVE_CONFIG_H */
-#endif /* WINDOWSNT */
+#endif /* WIN32_NATIVE */
-#if !defined (WINDOWSNT) && defined (STDC_HEADERS)
+#if !defined (WIN32_NATIVE) && defined (STDC_HEADERS)
#include <stdlib.h>
#include <string.h>
#endif
#include <stdio.h>
#include <ctype.h>
#include <errno.h>
-#ifndef errno
- extern int errno;
-#endif
#include <sys/types.h>
#include <sys/stat.h>
#ifdef OO_BROWSER
#define set_construct(construct) \
if (!oo_browser_construct) oo_browser_construct = construct
-void oo_browser_clear_all_globals();
-void oo_browser_clear_some_globals();
-void oo_browser_check_and_clear_structtype();
+void oo_browser_clear_all_globals(void);
+void oo_browser_clear_some_globals(void);
+void oo_browser_check_and_clear_structtype(void);
#endif
/*
typedef int bool;
-typedef void Lang_function ();
+typedef void Lang_function (FILE *);
typedef struct
{
\f
int
-main (argc, argv)
- int argc;
- char *argv[];
+main (int argc, char *argv[])
{
int i;
unsigned int nincluded_files;
bool got_err;
#endif
-#ifdef DOS_NT
+#ifdef WIN32_NATIVE
_fmode = O_BINARY; /* all of files are treated as binary files */
-#endif /* DOS_NT */
+#endif /* WIN32_NATIVE */
progname = argv[0];
nincluded_files = 0;
if (streq (tagfile, "-"))
{
tagf = stdout;
-#ifdef DOS_NT
+#ifdef WIN32_NATIVE
/* Switch redirected `stdout' to binary mode (setting `_fmode'
doesn't take effect until after `stdout' is already open). */
if (!isatty (fileno (stdout)))
setmode (fileno (stdout), O_BINARY);
-#endif /* DOS_NT */
+#endif /* WIN32_NATIVE */
}
else
tagf = fopen (tagfile, append_to_tagfile ? "a" : "w");
#endif
void
-put_entries (np)
- register node *np;
+put_entries (node *np)
{
register char *sp;
/* maximum key range = 117, duplicates = 0 */
static unsigned int
-hash (str, len)
- register char *str;
- register int unsigned len;
+hash (char *str, unsigned int len)
{
static unsigned char asso_values[] =
{
10, 62, 59, 130, 28, 27, 50, 19, 3, 130,
130, 130, 130, 130, 130, 130, 130, 130,
};
- return len + asso_values[str[2]] + asso_values[str[0]];
+ return len +
+ asso_values[(unsigned char) str[2]] +
+ asso_values[(unsigned char) str[0]];
}
-struct C_stab_entry *
-in_word_set (str, len)
- register char *str;
- register unsigned int len;
+static struct C_stab_entry *
+in_word_set (char *str, unsigned int len)
{
static struct C_stab_entry wordlist[] =
{
#ifdef OO_BROWSER
void
-oo_browser_check_and_clear_structtype()
+oo_browser_check_and_clear_structtype(void)
{
/* Allow for multiple enum_label tags. */
if (structtype != st_C_enum)
#ifdef OO_BROWSER
void
-oo_browser_clear_all_globals()
+oo_browser_clear_all_globals(void)
{
/* Initialize globals so there is no carry over between files. */
oo_browser_construct = C_NULL;
}
void
-oo_browser_clear_some_globals()
+oo_browser_clear_some_globals(void)
{
oo_browser_construct = C_NULL;
structtype = st_none;
* look for '^[a-zA-Z_.$][a-zA_Z0-9_.$]*[: ^I^J]'
*/
void
-Asm_labels (inf)
- FILE *inf;
+Asm_labels (FILE *inf)
{
register char *cp;
/* Save only the first clause. */
if (last == NULL
- || len != strlen (last)
+ || len != (int) strlen (last)
|| !strneq (s, last, len))
{
pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE,
/* Save only the first clause. */
if (s[pos++] == '('
&& (last == NULL
- || len != strlen (last)
+ || len != (int) strlen (last)
|| !strneq (s, last, len)))
{
pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE,
if (p > buffer && p[-1] == '\r')
{
p -= 1;
-#ifdef DOS_NT
+#ifdef WIN32_NATIVE
/* Assume CRLF->LF translation will be performed by Emacs
when loading this file, so CRs won't appear in the buffer.
It would be cleaner to compensate within Emacs;
return path;
#else /* not HAVE_GETCWD */
-#ifdef MSDOS
- char *p, path[MAXPATHLEN + 1]; /* Fixed size is safe on MSDOS. */
-
- getwd (path);
-
- for (p = path; *p != '\0'; p++)
- if (*p == '\\')
- *p = '/';
- else
- *p = lowcase (*p);
-
- return strdup (path);
-#else /* not MSDOS */
linebuffer path;
FILE *pipe;
pclose (pipe);
return path.buffer;
-#endif /* not MSDOS */
#endif /* not HAVE_GETCWD */
}
if (filename_is_absolute (file))
res = savestr (file);
-#ifdef DOS_NT
+#ifdef WIN32_NATIVE
/* We don't support non-absolute file names with a drive
letter, like `d:NAME' (it's too much hassle). */
else if (file[1] == ':')
while (cp >= res && !filename_is_absolute (cp));
if (cp < res)
cp = slashp; /* the absolute name begins with "/.." */
-#ifdef DOS_NT
- /* Under MSDOS and NT we get `d:/NAME' as absolute
+#ifdef WIN32_NATIVE
+ /* Under Windows 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] != '/')
char *fn;
{
return (fn[0] == '/'
-#ifdef DOS_NT
+#ifdef WIN32_NATIVE
|| (isalpha(fn[0]) && fn[1] == ':' && fn[2] == '/')
#endif
);
canonicalize_filename (fn)
register char *fn;
{
-#ifdef DOS_NT
+#ifdef WIN32_NATIVE
for (; *fn != '\0'; fn++)
if (*fn == '\\')
*fn = '/';