diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2016-02-26 08:14:28 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2016-02-26 08:14:28 +0100 |
commit | abd6cf1bdd661f126af2a721cb3f467f3a6db9f7 (patch) | |
tree | aa109d560c5c340aa537c1e59b866be5acd62205 /doc/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original | |
parent | 2eb85d140fdd582e6bf7086f0bbba08fa58c836c (diff) | |
download | nx-libs-abd6cf1bdd661f126af2a721cb3f467f3a6db9f7.tar.gz nx-libs-abd6cf1bdd661f126af2a721cb3f467f3a6db9f7.tar.bz2 nx-libs-abd6cf1bdd661f126af2a721cb3f467f3a6db9f7.zip |
rename original NX patches, so that we can see the patched file's name in the patch file name.
Diffstat (limited to 'doc/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original')
-rw-r--r-- | doc/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original b/doc/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original new file mode 100644 index 000000000..940a3fee4 --- /dev/null +++ b/doc/nx-X11_vs_XOrg69_patches/nx-X11_lib_Xau_AuRead.c.X.original @@ -0,0 +1,62 @@ +--- ./nx-X11/lib/Xau/AuRead.c.X.original 2015-02-13 14:03:44.624443872 +0100 ++++ ./nx-X11/lib/Xau/AuRead.c 2015-02-10 19:13:12.488735202 +0100 +@@ -32,14 +32,29 @@ + #endif + #include <X11/Xauth.h> + #include <stdlib.h> ++#include <errno.h> + + static int + read_short (unsigned short *shortp, FILE *file) + { + unsigned char file_short[2]; + +- if (fread ((char *) file_short, (int) sizeof (file_short), 1, file) != 1) +- return 0; ++ /* ++ * Added a check on EINTR to prevent the fread() call to be ++ * interrupted by any signal not blocked by OsBlockSignals(). ++ */ ++ ++ for (;;) { ++ if (fread ((char *) file_short, (int) sizeof (file_short), 1, file) != 1) { ++ if (errno == EINTR && ferror (file)) { ++ perror ("Reading from auth file"); ++ clearerr (file); ++ continue; ++ } ++ return 0; ++ } ++ break; ++ } + *shortp = file_short[0] * 256 + file_short[1]; + return 1; + } +@@ -58,11 +73,22 @@ + data = malloc ((unsigned) len); + if (!data) + return 0; +- if (fread (data, (int) sizeof (char), (int) len, file) != len) { +- bzero (data, len); +- free (data); +- return 0; +- } ++ for (;;) ++ { ++ if (fread (data, (int) sizeof (char), (int) len, file) != len) ++ { ++ if (errno == EINTR && ferror (file)) ++ { ++ perror ("Reading from auth file"); ++ clearerr (file); ++ continue; ++ } ++ bzero (data, len); ++ free (data); ++ return 0; ++ } ++ break; ++ } + } + *stringp = data; + *countp = len; |