#define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP)
#endif
+/* Use this to suppress gcc's `...may be used before initialized' warnings. */
+#ifdef lint
+# define IF_LINT(Code) Code
+#else
+# define IF_LINT(Code) /* empty */
+#endif
+
static int scan_file (char *filename);
static int scan_lisp_file (const char *filename, const char *mode);
static int scan_c_file (char *filename, const char *mode);
fprintf (outfile, "struct emacs_globals {\n");
}
\f
-static char buf[128];
+static char input_buffer[128];
/* Some state during the execution of `read_c_string_or_comment'. */
struct rcsoc_state
/* Output CH to the file or buffer in STATE. Any pending newlines or
spaces are output first. */
-static INLINE void
+static inline void
put_char (int ch, struct rcsoc_state *state)
{
int out_ch;
struct rcsoc_state state;
state.in_file = infile;
- state.buf_ptr = (printflag < 0 ? buf : 0);
+ state.buf_ptr = (printflag < 0 ? input_buffer : 0);
state.out_file = (printflag > 0 ? outfile : 0);
state.pending_spaces = 0;
state.pending_newlines = 0;
{
register char *p;
int in_ident = 0;
- char *ident_start;
+ char *ident_start IF_LINT (= NULL);
size_t ident_length = 0;
fprintf (out, "(fn");
qsort (globals, num_globals, sizeof (struct global), compare_globals);
for (i = 0; i < num_globals; ++i)
{
- char *type;
+ char const *type;
switch (globals[i].type)
{
FILE *infile;
register int c;
register int commas;
- register int defunflag;
- register int defvarperbufferflag;
- register int defvarflag;
int minargs, maxargs;
int extension = filename[strlen (filename) - 1];
- enum global_type type;
if (extension == 'o')
filename[strlen (filename) - 1] = 'c';
while (!feof (infile))
{
int doc_keyword = 0;
+ int defunflag = 0;
+ int defvarperbufferflag = 0;
+ int defvarflag = 0;
+ enum global_type type = INVALID;
if (c != '\n' && c != '\r')
{
continue;
defvarflag = 1;
- defunflag = 0;
c = getc (infile);
defvarperbufferflag = (c == 'P');
type = LISP_OBJECT;
else if (c == 'B')
type = BOOLEAN;
- else
- type = INVALID;
}
c = getc (infile);
continue;
c = getc (infile);
defunflag = c == 'U';
- defvarflag = 0;
- defvarperbufferflag = 0;
}
else continue;
/* Read in the identifier. */
do
{
- buf[i++] = c;
+ input_buffer[i++] = c;
c = getc (infile);
}
while (! (c == ',' || c == ' ' || c == '\t' ||
c == '\n' || c == '\r'));
- buf[i] = '\0';
+ input_buffer[i] = '\0';
name = xmalloc (i + 1);
- memcpy (name, buf, i + 1);
+ memcpy (name, input_buffer, i + 1);
add_global (type, name);
continue;
}
putc (037, outfile);
putc (defvarflag ? 'V' : 'F', outfile);
- fprintf (outfile, "%s\n", buf);
+ fprintf (outfile, "%s\n", input_buffer);
if (comment)
getc (infile); /* Skip past `*' */
*p = '\0';
/* Output them. */
fprintf (outfile, "\n\n");
- write_c_args (outfile, buf, argbuf, minargs, maxargs);
+ write_c_args (outfile, input_buffer, argbuf, minargs, maxargs);
}
else if (defunflag && maxargs == -1 && !saw_usage)
/* The DOC should provide the usage form. */
- fprintf (stderr, "Missing `usage' for function `%s'.\n", buf);
+ fprintf (stderr, "Missing `usage' for function `%s'.\n",
+ input_buffer);
}
}
eof: