1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
Description: use strerror(), not sys_nerrlist[]
sys_nerrlist[] is deprecated.
.
pixmap (2.6.6-1) UNRELEASED; urgency=medium
.
* New upstream version.
Author: Paul Slootman <paul@debian.org>
---
Last-Update: 2021-11-23
--- pixmap-2.6.6.orig/SelFile/SelFile.c
+++ pixmap-2.6.6/SelFile/SelFile.c
@@ -46,7 +46,11 @@
/* BSD 4.3 errno.h does not declare errno */
extern int errno;
extern int sys_nerr;
+#ifdef linux
+#include <string.h>
+#else
extern char *sys_errlist[];
+#endif
#include <sys/param.h>
#include <X11/cursorfont.h>
@@ -567,6 +571,13 @@ SFopenFile(name, mode, prompt, failed)
SFchdir(SFstartDir);
if ((fp = fopen(name, mode)) == NULL) {
char *buf;
+#ifdef linux
+ int myerrno = errno;
+ buf = XtMalloc(strlen(failed) + strlen(strerror(myerrno)) +
+ strlen(prompt) + 2);
+ strcpy(buf, failed);
+ strcat(buf, strerror(myerrno));
+#else
if (errno <= sys_nerr) {
buf = XtMalloc(strlen(failed) + strlen(sys_errlist[errno]) +
strlen(prompt) + 2);
@@ -580,6 +591,7 @@ SFopenFile(name, mode, prompt, failed)
strcat(buf, "\n");
strcat(buf, prompt);
}
+#endif
XtSetArg(args[0], XtNlabel, buf);
XtSetValues(selFilePrompt, args, ONE);
XtFree(buf);
|