diff options
| author | Michael Albinus | 2014-08-29 23:19:45 +0200 |
|---|---|---|
| committer | Michael Albinus | 2014-08-29 23:19:45 +0200 |
| commit | fb6cdfc0f0692ead110ecd80df52f894fca8fb50 (patch) | |
| tree | c95414bf0553b291a41eacac4091c51904264263 /src/sysdep.c | |
| parent | e6a4c15ff1a2dad24eb695d0f9f1e63398aadf9f (diff) | |
| download | emacs-fb6cdfc0f0692ead110ecd80df52f894fca8fb50.tar.gz emacs-fb6cdfc0f0692ead110ecd80df52f894fca8fb50.zip | |
* sysdep.c (str_collate) [__STDC_ISO_10646__]: Move up setting errno.
Diffstat (limited to 'src/sysdep.c')
| -rw-r--r-- | src/sysdep.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sysdep.c b/src/sysdep.c index d36f5b29b08..e1da2f87eb2 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -3740,6 +3740,8 @@ str_collate (Lisp_Object s1, Lisp_Object s2, | |||
| 3740 | FETCH_STRING_CHAR_ADVANCE (*(p2+i-1), s2, i, i_byte); | 3740 | FETCH_STRING_CHAR_ADVANCE (*(p2+i-1), s2, i, i_byte); |
| 3741 | *(p2+len) = 0; | 3741 | *(p2+len) = 0; |
| 3742 | 3742 | ||
| 3743 | errno = 0; | ||
| 3744 | |||
| 3743 | if (STRINGP (locale)) | 3745 | if (STRINGP (locale)) |
| 3744 | { | 3746 | { |
| 3745 | locale_t loc = newlocale (LC_COLLATE_MASK | LC_CTYPE_MASK, | 3747 | locale_t loc = newlocale (LC_COLLATE_MASK | LC_CTYPE_MASK, |
| @@ -3761,7 +3763,6 @@ str_collate (Lisp_Object s1, Lisp_Object s2, | |||
| 3761 | } | 3763 | } |
| 3762 | else | 3764 | else |
| 3763 | { | 3765 | { |
| 3764 | errno = 0; | ||
| 3765 | if (! NILP (ignore_case)) | 3766 | if (! NILP (ignore_case)) |
| 3766 | for (int i = 1; i < 3; i++) | 3767 | for (int i = 1; i < 3; i++) |
| 3767 | { | 3768 | { |
| @@ -3769,6 +3770,7 @@ str_collate (Lisp_Object s1, Lisp_Object s2, | |||
| 3769 | for (; *p; p++) | 3770 | for (; *p; p++) |
| 3770 | *p = towlower (*p); | 3771 | *p = towlower (*p); |
| 3771 | } | 3772 | } |
| 3773 | |||
| 3772 | res = wcscoll (p1, p2); | 3774 | res = wcscoll (p1, p2); |
| 3773 | err = errno; | 3775 | err = errno; |
| 3774 | } | 3776 | } |