Work around the 'bad address' problem by only looking for files that

should be written to in the current directory.

Fix suggested by enami.
This commit is contained in:
wiz 2004-07-14 00:12:28 +00:00
parent d6960b19ca
commit 5555edc8c1
5 changed files with 15 additions and 12 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: cmds.c,v 1.1.1.5 2004/07/12 23:26:51 wiz Exp $ */
/* $NetBSD: cmds.c,v 1.2 2004/07/14 00:12:28 wiz Exp $ */
/* cmds.c -- Texinfo commands.
Id: cmds.c,v 1.47 2004/04/07 20:17:38 karl Exp
@ -1634,7 +1634,7 @@ handle_include (int verbatim_include)
fflush (stdout);
}
if (!find_and_load (filename))
if (!find_and_load (filename, 1))
{
popfile ();
line_number--;

View File

@ -1,4 +1,4 @@
/* $NetBSD: files.c,v 1.6 2004/07/12 23:41:53 wiz Exp $ */
/* $NetBSD: files.c,v 1.7 2004/07/14 00:12:28 wiz Exp $ */
/* files.c -- file-related functions for makeinfo.
Id: files.c,v 1.15 2004/02/28 10:42:50 dirt Exp
@ -187,7 +187,7 @@ pop_path_from_include_path (void)
/* Find and load the file named FILENAME. Return a pointer to
the loaded file, or NULL if it can't be loaded. */
char *
find_and_load (char *filename)
find_and_load (char *filename, int use_path)
{
struct stat fileinfo;
long file_size;
@ -197,7 +197,10 @@ find_and_load (char *filename)
result = fullpath = NULL;
fullpath = get_file_info_in_path (filename, include_files_path, &fileinfo);
if (use_path)
fullpath = get_file_info_in_path (filename, include_files_path, &fileinfo);
else
fullpath = get_file_info_in_path (filename, NULL, &fileinfo);
if (!fullpath)
goto error_exit;
@ -684,7 +687,7 @@ handle_delayed_writes (void)
while (temp)
{
delayed_buf = find_and_load (temp->filename);
delayed_buf = find_and_load (temp->filename, 0);
if (output_paragraph_offset > 0)
{

View File

@ -1,4 +1,4 @@
/* $NetBSD: files.h,v 1.1.1.4 2004/07/12 23:26:51 wiz Exp $ */
/* $NetBSD: files.h,v 1.2 2004/07/14 00:12:28 wiz Exp $ */
/* files.h -- declarations for files.c.
Id: files.h,v 1.7 2004/02/28 10:42:50 dirt Exp
@ -41,7 +41,7 @@ extern void popfile (void);
extern void flush_file_stack (void);
extern char *get_file_info_in_path (char *filename, char *path,
struct stat *finfo);
extern char *find_and_load (char *filename);
extern char *find_and_load (char *filename, int use_path);
extern char *output_name_from_input_name (char *name);
extern char *expand_filename (char *filename, char *input_name);
extern char *filename_part (char *filename);

View File

@ -1,4 +1,4 @@
/* $NetBSD: makeinfo.c,v 1.12 2004/07/13 22:55:17 wiz Exp $ */
/* $NetBSD: makeinfo.c,v 1.13 2004/07/14 00:12:28 wiz Exp $ */
/* makeinfo -- convert Texinfo source into other formats.
Id: makeinfo.c,v 1.63 2004/04/09 21:17:17 karl Exp
@ -1338,7 +1338,7 @@ convert_from_file (char *name)
strcpy (filename, name);
strcat (filename, suffixes[i]);
if (find_and_load (filename))
if (find_and_load (filename, 1))
break;
if (!suffixes[i][0] && strrchr (filename, '.'))

View File

@ -1,4 +1,4 @@
/* $NetBSD: node.c,v 1.1.1.5 2004/07/12 23:26:49 wiz Exp $ */
/* $NetBSD: node.c,v 1.2 2004/07/14 00:12:28 wiz Exp $ */
/* node.c -- nodes for Texinfo.
Id: node.c,v 1.19 2004/02/29 13:23:51 dirt Exp
@ -1717,7 +1717,7 @@ split_file (char *filename, int size)
return;
file_size = (long) fileinfo.st_size;
the_file = find_and_load (filename);
the_file = find_and_load (filename, 1);
if (!the_file)
return;