Makefile.in (tradcpp0): Depend on mkdeps.h.
* Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o * cppinit.c (cpp_start_read): Update comment, remove unneeded if statement. * tradcpp.c: Include mkdeps.h. (deps, print_deps_phony_targets, deps_append, output_deps, init_dependency_output, output_deps): New. (deps_buffer, deps_allocated_size, deps_size, deps_column, deps_output): Delete. (print_deps_missing_files): Rename deps_missing_files. (inhibit_output): Make global. (main): Delete inhibit_output, deps_stream, deps_target. Use mkdeps functionality in the same way as cpplib. Remove -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of -M and -MM. Remove old handling of deps via deps_out, and old reading of environment variables. (get_filename): Update to use deps_add_dep. From-SVN: r38885
This commit is contained in:
parent
6c41818449
commit
2f638f9664
|
@ -1,3 +1,22 @@
|
|||
2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
|
||||
|
||||
* Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
|
||||
* cppinit.c (cpp_start_read): Update comment, remove unneeded
|
||||
if statement.
|
||||
* tradcpp.c: Include mkdeps.h.
|
||||
(deps, print_deps_phony_targets, deps_append, output_deps,
|
||||
init_dependency_output, output_deps): New.
|
||||
(deps_buffer, deps_allocated_size, deps_size, deps_column,
|
||||
deps_output): Delete.
|
||||
(print_deps_missing_files): Rename deps_missing_files.
|
||||
(inhibit_output): Make global.
|
||||
(main): Delete inhibit_output, deps_stream, deps_target.
|
||||
Use mkdeps functionality in the same way as cpplib. Remove
|
||||
-g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
|
||||
-M and -MM. Remove old handling of deps via deps_out, and
|
||||
old reading of environment variables.
|
||||
(get_filename): Update to use deps_add_dep.
|
||||
|
||||
2001-01-10 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* output.h (make_function_rtl): Remove prototype.
|
||||
|
|
|
@ -1926,9 +1926,10 @@ mkdeps.o: mkdeps.c $(CONFIG_H) system.h mkdeps.h
|
|||
|
||||
# The traditional mode preprocessor, a separate program for ease of
|
||||
# maintenance. Some code is shared with the ISO-C cpp.
|
||||
tradcpp0$(exeext): tradcpp.o tradcif.o cppdefault.o version.o intl.o $(LIBDEPS)
|
||||
tradcpp0$(exeext): tradcpp.o tradcif.o cppdefault.o version.o intl.o \
|
||||
mkdeps.h $(LIBDEPS)
|
||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o tradcpp0$(exeext) \
|
||||
tradcpp.o tradcif.o cppdefault.o version.o intl.o $(LIBS)
|
||||
tradcpp.o tradcif.o mkdeps.o cppdefault.o version.o intl.o $(LIBS)
|
||||
|
||||
tradcpp.o: tradcpp.c $(CONFIG_H) system.h version.h cppdefault.h tradcpp.h
|
||||
tradcif.o: $(srcdir)/tradcif.c $(CONFIG_H) system.h defaults.h tradcpp.h
|
||||
|
|
|
@ -903,11 +903,11 @@ cpp_start_read (pfile, fname)
|
|||
|
||||
if (CPP_OPTION (pfile, print_deps))
|
||||
{
|
||||
/* Set the default target (if there is none already). */
|
||||
/* Set the default target (if there is none already), and
|
||||
the dependency on the main file. */
|
||||
deps_add_default_target (pfile->deps, CPP_OPTION (pfile, in_fname));
|
||||
|
||||
if (CPP_OPTION (pfile, in_fname))
|
||||
deps_add_dep (pfile->deps, CPP_OPTION (pfile, in_fname));
|
||||
deps_add_dep (pfile->deps, CPP_OPTION (pfile, in_fname));
|
||||
}
|
||||
|
||||
/* Open the main input file. This must be done early, so we have a
|
||||
|
@ -943,6 +943,7 @@ cpp_start_read (pfile, fname)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* Use mkdeps.c to output dependency information. */
|
||||
static void
|
||||
output_deps (pfile)
|
||||
cpp_reader *pfile;
|
||||
|
|
336
gcc/tradcpp.c
336
gcc/tradcpp.c
|
@ -24,6 +24,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
#include "version.h"
|
||||
#include "cppdefault.h"
|
||||
#include "tradcpp.h"
|
||||
#include "mkdeps.h"
|
||||
|
||||
typedef unsigned char U_CHAR;
|
||||
|
||||
|
@ -40,12 +41,23 @@ size_t max_include_len;
|
|||
|
||||
int put_out_comments = 0;
|
||||
|
||||
/* mkdeps.h opaque structure that encapsulates dependency information. */
|
||||
struct deps *deps;
|
||||
|
||||
/* Nonzero means print the names of included files rather than
|
||||
the preprocessed output. 1 means just the #include "...",
|
||||
2 means #include <...> as well. */
|
||||
|
||||
int print_deps = 0;
|
||||
|
||||
/* Nonzero means print dummy targets for each header file. */
|
||||
|
||||
int print_deps_phony_targets = 0;
|
||||
|
||||
/* If true, fopen (deps_file, "a") else fopen (deps_file, "w"). */
|
||||
|
||||
int deps_append = 0;
|
||||
|
||||
/* File name which deps are being written to. This is 0 if deps are
|
||||
being written to stdout. */
|
||||
|
||||
|
@ -54,7 +66,7 @@ const char *deps_file = 0;
|
|||
/* Nonzero if missing .h files in -M output are assumed to be
|
||||
generated files and not errors. */
|
||||
|
||||
int print_deps_missing_files = 0;
|
||||
int deps_missing_files = 0;
|
||||
|
||||
/* Nonzero means don't output line number information. */
|
||||
|
||||
|
@ -70,6 +82,9 @@ int dump_macros;
|
|||
|
||||
int inhibit_warnings = 0;
|
||||
|
||||
/* Non-0 means don't output the preprocessed program. */
|
||||
int inhibit_output = 0;
|
||||
|
||||
/* Nonzero means warn if slash-star appears in a comment. */
|
||||
|
||||
int warn_comments;
|
||||
|
@ -390,6 +405,7 @@ static void output_line_command PARAMS ((FILE_BUF *, FILE_BUF *,
|
|||
|
||||
static int eval_if_expression PARAMS ((const U_CHAR *, int));
|
||||
|
||||
static void output_deps PARAMS ((void));
|
||||
static void initialize_builtins PARAMS ((void));
|
||||
static void run_directive PARAMS ((const char *, size_t,
|
||||
enum node_type));
|
||||
|
@ -400,7 +416,7 @@ static void make_assertion PARAMS ((const char *));
|
|||
static void grow_outbuf PARAMS ((FILE_BUF *, int));
|
||||
static int handle_directive PARAMS ((FILE_BUF *, FILE_BUF *));
|
||||
static void finclude PARAMS ((int, const char *, FILE_BUF *));
|
||||
static void deps_output PARAMS ((const char *, int));
|
||||
static void init_dependency_output PARAMS ((void));
|
||||
static void rescan PARAMS ((FILE_BUF *, int));
|
||||
static void newline_fix PARAMS ((U_CHAR *));
|
||||
static void name_newline_fix PARAMS ((U_CHAR *));
|
||||
|
@ -462,19 +478,6 @@ struct if_stack {
|
|||
typedef struct if_stack IF_STACK_FRAME;
|
||||
IF_STACK_FRAME *if_stack = NULL;
|
||||
|
||||
/* Buffer of -M output. */
|
||||
|
||||
char *deps_buffer;
|
||||
|
||||
/* Number of bytes allocated in above. */
|
||||
int deps_allocated_size;
|
||||
|
||||
/* Number of bytes used. */
|
||||
int deps_size;
|
||||
|
||||
/* Number of bytes since the last newline. */
|
||||
int deps_column;
|
||||
|
||||
/* Nonzero means -I- has been seen,
|
||||
so don't look for #include "foo" the source-file directory. */
|
||||
int ignore_srcdir;
|
||||
|
@ -502,14 +505,6 @@ main (argc, argv)
|
|||
pending_dir *pend = (pending_dir *) xcalloc (argc, sizeof (pending_dir));
|
||||
int no_standard_includes = 0;
|
||||
|
||||
/* Non-0 means don't output the preprocessed program. */
|
||||
int inhibit_output = 0;
|
||||
|
||||
/* Stream on which to print the dependency information. */
|
||||
FILE *deps_stream = 0;
|
||||
/* Target-name to write with the dependency information. */
|
||||
char *deps_target = 0;
|
||||
|
||||
#ifdef RLIMIT_STACK
|
||||
/* Get rid of any avoidable limit on stack size. */
|
||||
{
|
||||
|
@ -534,6 +529,10 @@ main (argc, argv)
|
|||
|
||||
max_include_len = cpp_GCC_INCLUDE_DIR_len + 7; /* ??? */
|
||||
|
||||
/* It's simplest to just create this struct whether or not it will
|
||||
be needed. */
|
||||
deps = deps_init ();
|
||||
|
||||
/* Process switches and find input file name. */
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
|
@ -550,7 +549,6 @@ main (argc, argv)
|
|||
switch (c) {
|
||||
case 'E':
|
||||
case '$':
|
||||
case 'g':
|
||||
break; /* Ignore for compatibility with ISO/extended cpp. */
|
||||
|
||||
case 'l':
|
||||
|
@ -621,6 +619,12 @@ main (argc, argv)
|
|||
{
|
||||
char *p = NULL;
|
||||
|
||||
/* -MD and -MMD for tradcpp are deprecated and undocumented
|
||||
(use -M or -MM with -MF instead), and probably should be
|
||||
removed with the next major GCC version. For the moment
|
||||
we allow these for the benefit of Automake 1.4, which
|
||||
uses these when dependency tracking is enabled. Automake
|
||||
1.5 will fix this. */
|
||||
if (!strncmp (argv[i], "-MD", 3)) {
|
||||
p = argv[i] + 3;
|
||||
print_deps = 2;
|
||||
|
@ -629,12 +633,30 @@ main (argc, argv)
|
|||
print_deps = 1;
|
||||
} else if (!strcmp (argv[i], "-M")) {
|
||||
print_deps = 2;
|
||||
inhibit_output = 1;
|
||||
} else if (!strcmp (argv[i], "-MM")) {
|
||||
print_deps = 1;
|
||||
inhibit_output = 1;
|
||||
} else if (!strcmp (argv[i], "-MG"))
|
||||
print_deps_missing_files = 1;
|
||||
} else if (!strcmp (argv[i], "-MG")) {
|
||||
deps_missing_files = 1;
|
||||
} else if (!strcmp (argv[i], "-MF")) {
|
||||
p = argv[i] + 3;
|
||||
} else if (!strcmp (argv[i], "-MP")) {
|
||||
print_deps_phony_targets = 1;
|
||||
} else if (!strcmp (argv[i], "-MQ") || !strcmp (argv[i], "-MT")) {
|
||||
/* Add a target. -MQ quotes for Make. */
|
||||
const char *tgt = argv[i] + 3;
|
||||
int quoted = argv[i][2] == 'Q';
|
||||
|
||||
if (*tgt == '\0' && i + 1 == argc)
|
||||
fatal ("Filename missing after %s option", argv[i]);
|
||||
else
|
||||
{
|
||||
if (*tgt == '\0')
|
||||
tgt = argv[++i];
|
||||
|
||||
deps_add_target (deps, tgt, quoted);
|
||||
}
|
||||
}
|
||||
|
||||
if (p) {
|
||||
if (*p)
|
||||
deps_file = p;
|
||||
|
@ -747,12 +769,26 @@ main (argc, argv)
|
|||
}
|
||||
}
|
||||
|
||||
if (print_deps_missing_files && (!print_deps || !inhibit_output))
|
||||
fatal ("-MG must be specified with one of -M or -MM");
|
||||
init_dependency_output ();
|
||||
|
||||
/* After checking the environment variables, check if -M or -MM has
|
||||
not been specified, but other -M options have. */
|
||||
if (print_deps == 0
|
||||
&& (deps_missing_files || deps_file || print_deps_phony_targets))
|
||||
fatal ("you must additionally specify either -M or -MM");
|
||||
|
||||
if (user_label_prefix == 0)
|
||||
user_label_prefix = USER_LABEL_PREFIX;
|
||||
|
||||
if (print_deps)
|
||||
{
|
||||
/* Set the default target (if there is none already), and
|
||||
the dependency on the main file. */
|
||||
deps_add_default_target (deps, in_fname);
|
||||
|
||||
deps_add_dep (deps, in_fname);
|
||||
}
|
||||
|
||||
/* Install __LINE__, etc. Must follow option processing. */
|
||||
initialize_builtins ();
|
||||
|
||||
|
@ -832,96 +868,6 @@ main (argc, argv)
|
|||
} else if ((f = open (in_fname, O_RDONLY, 0666)) < 0)
|
||||
goto sys_error;
|
||||
|
||||
/* Either of two environment variables can specify output of deps.
|
||||
Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET",
|
||||
where OUTPUT_FILE is the file to write deps info to
|
||||
and DEPS_TARGET is the target to mention in the deps. */
|
||||
|
||||
if (print_deps == 0
|
||||
&& (getenv ("SUNPRO_DEPENDENCIES") != 0
|
||||
|| getenv ("DEPENDENCIES_OUTPUT") != 0))
|
||||
{
|
||||
char *spec = getenv ("DEPENDENCIES_OUTPUT");
|
||||
char *s;
|
||||
|
||||
if (spec == 0)
|
||||
{
|
||||
spec = getenv ("SUNPRO_DEPENDENCIES");
|
||||
print_deps = 2;
|
||||
}
|
||||
else
|
||||
print_deps = 1;
|
||||
|
||||
/* Find the space before the DEPS_TARGET, if there is one. */
|
||||
s = strchr (spec, ' ');
|
||||
if (s)
|
||||
{
|
||||
char *out_file;
|
||||
|
||||
deps_target = s + 1;
|
||||
out_file = (char *) xmalloc (s - spec + 1);
|
||||
memcpy (out_file, spec, s - spec);
|
||||
out_file[s - spec] = 0;
|
||||
deps_file = out_file;
|
||||
}
|
||||
else
|
||||
{
|
||||
deps_target = 0;
|
||||
deps_file = spec;
|
||||
}
|
||||
}
|
||||
|
||||
/* For -M, print the expected object file name
|
||||
as the target of this Make-rule. */
|
||||
if (print_deps) {
|
||||
|
||||
if (deps_file) {
|
||||
deps_stream = fopen (deps_file, "a");
|
||||
if (deps_stream == 0)
|
||||
pfatal_with_name (deps_file);
|
||||
} else
|
||||
/* If the -M option was used, output the deps to standard output. */
|
||||
deps_stream = stdout;
|
||||
|
||||
deps_allocated_size = 200;
|
||||
deps_buffer = (char *) xmalloc (deps_allocated_size);
|
||||
deps_buffer[0] = 0;
|
||||
deps_size = 0;
|
||||
deps_column = 0;
|
||||
|
||||
if (deps_target) {
|
||||
deps_output (deps_target, 0);
|
||||
deps_output (":", 0);
|
||||
} else if (*in_fname == 0)
|
||||
deps_output ("-: ", 0);
|
||||
else {
|
||||
int len;
|
||||
const char *p = in_fname;
|
||||
const char *p1 = p;
|
||||
/* Discard all directory prefixes from P. */
|
||||
while (*p1) {
|
||||
if (*p1 == '/')
|
||||
p = p1 + 1;
|
||||
p1++;
|
||||
}
|
||||
/* Output P, but remove known suffixes. */
|
||||
len = strlen (p);
|
||||
if (p[len - 2] == '.'
|
||||
&& (p[len - 1] == 'c' || p[len - 1] == 'C' || p[len - 1] == 'S'))
|
||||
deps_output (p, len - 2);
|
||||
else if (p[len - 3] == '.'
|
||||
&& p[len - 2] == 'c'
|
||||
&& p[len - 1] == 'c')
|
||||
deps_output (p, len - 3);
|
||||
else
|
||||
deps_output (p, 0);
|
||||
/* Supply our own suffix. */
|
||||
deps_output (".o : ", 0);
|
||||
deps_output (in_fname, 0);
|
||||
deps_output (" ", 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (file_size_and_mode (f, &st_mode, &st_size))
|
||||
goto sys_error;
|
||||
fp->fname = in_fname;
|
||||
|
@ -998,20 +944,16 @@ main (argc, argv)
|
|||
|
||||
if (dump_macros)
|
||||
dump_all_macros ();
|
||||
else if (! inhibit_output && deps_stream != stdout) {
|
||||
else if (! inhibit_output)
|
||||
if (write (fileno (stdout), outbuf.buf, outbuf.bufp - outbuf.buf) < 0)
|
||||
fatal ("I/O error on output");
|
||||
}
|
||||
|
||||
if (print_deps) {
|
||||
fputs (deps_buffer, deps_stream);
|
||||
putc ('\n', deps_stream);
|
||||
if (deps_stream != stdout) {
|
||||
fclose (deps_stream);
|
||||
if (ferror (deps_stream))
|
||||
fatal ("I/O error on output");
|
||||
}
|
||||
}
|
||||
/* Don't write the deps file if preprocessing has failed. */
|
||||
if (print_deps && errors == 0)
|
||||
output_deps ();
|
||||
|
||||
/* Destruct the deps object. */
|
||||
deps_free (deps);
|
||||
|
||||
if (ferror (stdout))
|
||||
fatal ("I/O error on output");
|
||||
|
@ -1024,6 +966,91 @@ main (argc, argv)
|
|||
pfatal_with_name (in_fname);
|
||||
}
|
||||
|
||||
/* Set up dependency-file output. */
|
||||
static void
|
||||
init_dependency_output ()
|
||||
{
|
||||
char *spec, *s, *output_file;
|
||||
|
||||
/* Either of two environment variables can specify output of deps.
|
||||
Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET",
|
||||
where OUTPUT_FILE is the file to write deps info to
|
||||
and DEPS_TARGET is the target to mention in the deps. */
|
||||
|
||||
if (print_deps == 0)
|
||||
{
|
||||
spec = getenv ("DEPENDENCIES_OUTPUT");
|
||||
if (spec)
|
||||
print_deps = 1;
|
||||
else
|
||||
{
|
||||
spec = getenv ("SUNPRO_DEPENDENCIES");
|
||||
if (spec)
|
||||
print_deps = 2;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
/* Find the space before the DEPS_TARGET, if there is one. */
|
||||
s = strchr (spec, ' ');
|
||||
if (s)
|
||||
{
|
||||
/* Let the caller perform MAKE quoting. */
|
||||
deps_add_target (deps, s + 1, 0);
|
||||
output_file = (char *) xmalloc (s - spec + 1);
|
||||
memcpy (output_file, spec, s - spec);
|
||||
output_file[s - spec] = 0;
|
||||
}
|
||||
else
|
||||
output_file = spec;
|
||||
|
||||
/* Command line overrides environment variables. */
|
||||
if (deps_file == 0)
|
||||
deps_file = output_file;
|
||||
deps_append = 1;
|
||||
}
|
||||
|
||||
/* If dependencies go to standard output, or -MG is used, we should
|
||||
suppress output. The user may be requesting other stuff to
|
||||
stdout, with -dM, -v etc. We let them shoot themselves in the
|
||||
foot. */
|
||||
if (deps_file == 0 || deps_missing_files)
|
||||
inhibit_output = 1;
|
||||
}
|
||||
|
||||
/* Use mkdeps.c to output dependency information. */
|
||||
static void
|
||||
output_deps ()
|
||||
{
|
||||
/* Stream on which to print the dependency information. */
|
||||
FILE *deps_stream = 0;
|
||||
const char *deps_mode = deps_append ? "a" : "w";
|
||||
|
||||
if (deps_file == 0)
|
||||
deps_stream = stdout;
|
||||
else
|
||||
{
|
||||
deps_stream = fopen (deps_file, deps_mode);
|
||||
if (deps_stream == 0)
|
||||
{
|
||||
error_from_errno (deps_file);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
deps_write (deps, deps_stream, 72);
|
||||
|
||||
if (print_deps_phony_targets)
|
||||
deps_phony_targets (deps, deps_stream);
|
||||
|
||||
/* Don't close stdout. */
|
||||
if (deps_file)
|
||||
{
|
||||
if (ferror (deps_stream) || fclose (deps_stream) != 0)
|
||||
fatal ("I/O error on output");
|
||||
}
|
||||
}
|
||||
|
||||
/* Move all backslash-newline pairs out of embarrassing places.
|
||||
Exchange all such pairs following BP
|
||||
with any potentially-embarrasing characters that follow them.
|
||||
|
@ -2372,7 +2399,7 @@ get_filename:
|
|||
if (f < 0) {
|
||||
strncpy (fname, (const char *)fbeg, flen);
|
||||
fname[flen] = 0;
|
||||
if (print_deps_missing_files
|
||||
if (deps_missing_files
|
||||
&& print_deps > (system_header_p || (system_include_depth > 0))) {
|
||||
|
||||
/* If requested as a system header, assume it belongs in
|
||||
|
@ -2383,7 +2410,7 @@ get_filename:
|
|||
stackp = include;
|
||||
|
||||
if (!system_header_p || *fbeg == '/' || !stackp->fname)
|
||||
deps_output ((const char *)fbeg, flen);
|
||||
deps_add_dep (deps, fname);
|
||||
else {
|
||||
char *p;
|
||||
int len = strlen(stackp->fname);
|
||||
|
@ -2393,10 +2420,9 @@ get_filename:
|
|||
p[len++] = '/';
|
||||
memcpy (p + len, fbeg, flen);
|
||||
len += flen;
|
||||
deps_output (p, len);
|
||||
p[len] = '\0';
|
||||
deps_add_dep (deps, p);
|
||||
}
|
||||
deps_output (" ", 0);
|
||||
|
||||
} else if (print_deps
|
||||
&& print_deps <= (system_header_p
|
||||
|| (system_include_depth > 0)))
|
||||
|
@ -2433,10 +2459,8 @@ get_filename:
|
|||
ptr->fname = xstrdup (fname);
|
||||
|
||||
/* For -M, add this file to the dependencies. */
|
||||
if (print_deps > (system_header_p || (system_include_depth > 0))) {
|
||||
deps_output (fname, strlen (fname));
|
||||
deps_output (" ", 0);
|
||||
}
|
||||
if (print_deps > (system_header_p || (system_include_depth > 0)))
|
||||
deps_add_dep (deps, fname);
|
||||
}
|
||||
|
||||
if (system_header_p)
|
||||
|
@ -5106,38 +5130,6 @@ make_assertion (str)
|
|||
run_directive (str, count, type);
|
||||
}
|
||||
|
||||
/* Add output to `deps_buffer' for the -M switch.
|
||||
STRING points to the text to be output.
|
||||
SIZE is the number of bytes, or 0 meaning output until a null.
|
||||
If SIZE is nonzero, we break the line first, if it is long enough. */
|
||||
static void
|
||||
deps_output (string, size)
|
||||
const char *string;
|
||||
int size;
|
||||
{
|
||||
#ifndef MAX_OUTPUT_COLUMNS
|
||||
#define MAX_OUTPUT_COLUMNS 75
|
||||
#endif
|
||||
if (size != 0 && deps_column != 0
|
||||
&& size + deps_column > MAX_OUTPUT_COLUMNS) {
|
||||
deps_output ("\\\n ", 0);
|
||||
deps_column = 0;
|
||||
}
|
||||
|
||||
if (size == 0)
|
||||
size = strlen (string);
|
||||
|
||||
if (deps_size + size + 1 > deps_allocated_size) {
|
||||
deps_allocated_size = deps_size + size + 50;
|
||||
deps_allocated_size *= 2;
|
||||
deps_buffer = (char *) xrealloc (deps_buffer, deps_allocated_size);
|
||||
}
|
||||
memcpy (&deps_buffer[deps_size], string, size);
|
||||
deps_size += size;
|
||||
deps_column += size;
|
||||
deps_buffer[deps_size] = 0;
|
||||
}
|
||||
|
||||
/* Get the file-mode and data size of the file open on FD
|
||||
and store them in *MODE_POINTER and *SIZE_POINTER. */
|
||||
|
||||
|
|
Loading…
Reference in New Issue