| 1 | #!/bin/sh -e |
| 2 | ## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com> |
| 3 | ## |
| 4 | ## All lines beginning with `## DP:' are a description of the patch. |
| 5 | ## DP: Specify which filename is causing an error if the filename is a |
| 6 | ## DP: directory. (#45832) |
| 7 | |
| 8 | if [ $# -ne 1 ]; then |
| 9 | echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" |
| 10 | exit 1 |
| 11 | fi |
| 12 | |
| 13 | [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts |
| 14 | patch_opts="${patch_opts:--f --no-backup-if-mismatch}" |
| 15 | |
| 16 | case "$1" in |
| 17 | -patch) patch $patch_opts -p1 < $0;; |
| 18 | -unpatch) patch $patch_opts -p1 -R < $0;; |
| 19 | *) |
| 20 | echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" |
| 21 | exit 1;; |
| 22 | esac |
| 23 | |
| 24 | exit 0 |
| 25 | |
| 26 | @DPATCH@ |
| 27 | Index: binutils-2.18/bfd/opncls.c |
| 28 | =================================================================== |
| 29 | --- binutils-2.18.orig/bfd/opncls.c 2007-06-28 09:19:34.818943168 +0200 |
| 30 | +++ binutils-2.18/bfd/opncls.c 2007-06-28 09:19:35.993764568 +0200 |
| 31 | @@ -183,6 +183,13 @@ |
| 32 | { |
| 33 | bfd *nbfd; |
| 34 | const bfd_target *target_vec; |
| 35 | + struct stat s; |
| 36 | + |
| 37 | + if (stat (filename, &s) == 0) |
| 38 | + if (S_ISDIR(s.st_mode)) { |
| 39 | + bfd_set_error (bfd_error_file_not_recognized); |
| 40 | + return NULL; |
| 41 | + } |
| 42 | |
| 43 | nbfd = _bfd_new_bfd (); |
| 44 | if (nbfd == NULL) |
| 45 | |