diff options
| author | Richard M. Stallman | 2002-09-12 03:28:59 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2002-09-12 03:28:59 +0000 |
| commit | fdebad6415fe477394d2c0319e096ec623d33f8f (patch) | |
| tree | 857c5fecfe6ab45e15764a7bf87407f2333b9062 /src | |
| parent | 75eb23f13fae2ba8fadc971abc4a06b37075f84c (diff) | |
| download | emacs-fdebad6415fe477394d2c0319e096ec623d33f8f.tar.gz emacs-fdebad6415fe477394d2c0319e096ec623d33f8f.zip | |
Don't use report_file_error; do it by hand using dlerror.
Diffstat (limited to 'src')
| -rw-r--r-- | src/unexsol.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/unexsol.c b/src/unexsol.c index ff8a812f279..41ad95ef51c 100644 --- a/src/unexsol.c +++ b/src/unexsol.c | |||
| @@ -10,8 +10,22 @@ int | |||
| 10 | unexec (char *new_name, char *old_name, unsigned int data_start, | 10 | unexec (char *new_name, char *old_name, unsigned int data_start, |
| 11 | unsigned int bss_start, unsigned int entry_address) | 11 | unsigned int bss_start, unsigned int entry_address) |
| 12 | { | 12 | { |
| 13 | if (dldump (0, new_name, RTLD_MEMORY)) | 13 | Lisp_Object data; |
| 14 | report_file_error ("Cannot unexec", Fcons (build_string (new_name), Qnil)); | 14 | Lisp_Object errstring; |
| 15 | 15 | ||
| 16 | return 0; | 16 | if (! dldump (0, new_name, RTLD_MEMORY)) |
| 17 | return 0; | ||
| 18 | |||
| 19 | data = Fcons (build_string (new_name), Qnil); | ||
| 20 | synchronize_system_messages_locale (); | ||
| 21 | errstring = code_convert_string_norecord (build_string (dlerror ()), | ||
| 22 | Vlocale_coding_system, 0); | ||
| 23 | |||
| 24 | /* System error messages are capitalized. Downcase the initial | ||
| 25 | unless it is followed by a slash. */ | ||
| 26 | if (SREF (errstring, 1) != '/') | ||
| 27 | SSET (errstring, 0, DOWNCASE (SREF (errstring, 0))); | ||
| 28 | |||
| 29 | Fsignal (Qfile_error, | ||
| 30 | Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); | ||
| 17 | } | 31 | } |