diff options
author | Nick Clifton <nickc@redhat.com> | 2007-07-05 09:51:30 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2007-07-05 09:51:30 +0000 |
commit | c6998d15d5b97393ddd582037f6d6f00e7116237 (patch) | |
tree | 50cdc955de0f0ecc0e585b7f966fabeacf8f8f13 /binutils/resrc.c | |
parent | 9b201bb5e5daa9b4f783e6ece9cbfbdbf9f1d6f4 (diff) | |
download | binutils-c6998d15d5b97393ddd582037f6d6f00e7116237.zip binutils-c6998d15d5b97393ddd582037f6d6f00e7116237.tar.gz binutils-c6998d15d5b97393ddd582037f6d6f00e7116237.tar.bz2 |
* resrc.c: (read_rc_file): Add include path of user passed rc input file.
* windres.c: (windres_add_include_dir): New.
(main): Use of windres_add_include_dir.
* windres.h: (windres_add_include_dir): Add prototype.
Diffstat (limited to 'binutils/resrc.c')
-rw-r--r-- | binutils/resrc.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/binutils/resrc.c b/binutils/resrc.c index ebed255..2b148ef 100644 --- a/binutils/resrc.c +++ b/binutils/resrc.c @@ -436,6 +436,35 @@ read_rc_file (const char *filename, const char *preprocessor, char *cmd; const char *fnquotes = (filename_need_quotes (filename) ? "\"" : ""); + /* Setup the default resource import path taken from input file. */ + if (strchr (filename, '/') != NULL || strchr (filename, '\\') != NULL) + { + char *e, *c; + + if (filename[0] == '/' + || filename[0] == '\\' + || filename[1] == ':') + e = c = xstrdup (filename); + else + { + e = c = xmalloc (strlen (filename) + 3); + sprintf (c, "./%s", filename); + } + e += strlen (c); + while (e > c && (e[-1] != '\\' && e[-1] != '/')) + { + --e; + e[0] = 0; + } + /* Cut off trailing slash. */ + --e; + e[0] = 0; + while ((e = strchr (c, '\\')) != NULL) + *e = '/'; + + windres_add_include_dir (e); + } + istream_type = (use_temp_file) ? ISTREAM_FILE : ISTREAM_PIPE; if (preprocargs == NULL) |