summaryrefslogtreecommitdiffstats
path: root/development/monotone/patches/monotone-1.0-glibc-2.14-file-handle.patch
diff options
context:
space:
mode:
Diffstat (limited to 'development/monotone/patches/monotone-1.0-glibc-2.14-file-handle.patch')
-rw-r--r--development/monotone/patches/monotone-1.0-glibc-2.14-file-handle.patch166
1 files changed, 166 insertions, 0 deletions
diff --git a/development/monotone/patches/monotone-1.0-glibc-2.14-file-handle.patch b/development/monotone/patches/monotone-1.0-glibc-2.14-file-handle.patch
new file mode 100644
index 0000000000..a6e2822322
--- /dev/null
+++ b/development/monotone/patches/monotone-1.0-glibc-2.14-file-handle.patch
@@ -0,0 +1,166 @@
+Revision: da62cad10eda55aa233ac124273f3db4f541137a
+Parent: 65bcb8cf8b32f68a5b48629b328f6d65979e58df
+Author: Thomas Moschny <thomas.moschny@gmx.de>
+Date: 07.05.2011 13:32:06
+Branch: net.venge.monotone
+
+Changelog:
+
+* src/rcs_file.cc: Rename struct "file_handle" to "rcs_file_handle"
+ to avoid a name clash with a struct of same name defined by newer
+ glibc's "fcntl.h". For aesthetic reasons, also rename struct
+ "file_source".
+
+References:
+https://code.monotone.ca/p/monotone/source/commit/da62cad10eda55aa233ac124273f3db4f541137a/
+https://bugs.gentoo.org/396651
+
+============================================================
+--- src/rcs_file.cc 885b3fbe7b6cfed78816f0e57cd71d44616213c6
++++ src/rcs_file.cc 03cf68912a4a708545ebce3d415c0e970ddead0b
+@@ -42,12 +42,12 @@ struct
+
+ #ifdef HAVE_MMAP
+ struct
+-file_handle
++rcs_file_handle
+ {
+ string const & filename;
+ off_t length;
+ int fd;
+- file_handle(string const & fn) :
++ rcs_file_handle(string const & fn) :
+ filename(fn),
+ length(0),
+ fd(-1)
+@@ -60,13 +60,13 @@ file_handle
+ if (fd == -1)
+ throw oops("open of " + filename + " failed");
+ }
+- ~file_handle()
++ ~rcs_file_handle()
+ {
+ if (close(fd) == -1)
+ throw oops("close of " + filename + " failed");
+ }
+ };
+-struct file_source
++struct rcs_file_source
+ {
+ string const & filename;
+ int fd;
+@@ -91,7 +91,7 @@ struct file_source
+ ++pos;
+ return good();
+ }
+- file_source(string const & fn,
++ rcs_file_source(string const & fn,
+ int f,
+ off_t len) :
+ filename(fn),
+@@ -104,7 +104,7 @@ struct file_source
+ if (mapping == MAP_FAILED)
+ throw oops("mmap of " + filename + " failed");
+ }
+- ~file_source()
++ ~rcs_file_source()
+ {
+ if (munmap(mapping, length) == -1)
+ throw oops("munmapping " + filename + " failed, after reading RCS file");
+@@ -112,12 +112,12 @@ struct
+ };
+ #elif defined(WIN32)
+ struct
+-file_handle
++rcs_file_handle
+ {
+ string const & filename;
+ off_t length;
+ HANDLE fd;
+- file_handle(string const & fn) :
++ rcs_file_handle(string const & fn) :
+ filename(fn),
+ length(0),
+ fd(NULL)
+@@ -134,7 +134,7 @@ file_handle
+ if (fd == NULL)
+ throw oops("open of " + filename + " failed");
+ }
+- ~file_handle()
++ ~rcs_file_handle()
+ {
+ if (CloseHandle(fd)==0)
+ throw oops("close of " + filename + " failed");
+@@ -142,7 +142,7 @@ struct
+ };
+
+ struct
+-file_source
++rcs_file_source
+ {
+ string const & filename;
+ HANDLE fd,map;
+@@ -167,7 +167,7 @@ file_source
+ ++pos;
+ return good();
+ }
+- file_source(string const & fn,
++ rcs_file_source(string const & fn,
+ HANDLE f,
+ off_t len) :
+ filename(fn),
+@@ -183,7 +183,7 @@ file_source
+ if (mapping==NULL)
+ throw oops("MapViewOfFile of " + filename + " failed");
+ }
+- ~file_source()
++ ~rcs_file_source()
+ {
+ if (UnmapViewOfFile(mapping)==0)
+ throw oops("UnmapViewOfFile of " + filename + " failed");
+@@ -193,7 +193,7 @@ file_source
+ };
+ #else
+ // no mmap at all
+-typedef istream file_source;
++typedef istream rcs_file_source;
+ #endif
+
+ typedef enum
+@@ -220,7 +220,7 @@ static token_type
+ }
+
+ static token_type
+-get_token(file_source & ist,
++get_token(rcs_file_source & ist,
+ string & str,
+ size_t & line,
+ size_t & col)
+@@ -303,14 +303,14 @@ struct parser
+
+ struct parser
+ {
+- file_source & ist;
++ rcs_file_source & ist;
+ rcs_file & r;
+ string token;
+ token_type ttype;
+
+ size_t line, col;
+
+- parser(file_source & s,
++ parser(rcs_file_source & s,
+ rcs_file & r)
+ : ist(s), r(r), line(1), col(1)
+ {}
+@@ -489,8 +489,8 @@ parse_rcs_file(string const & filename,
+ parse_rcs_file(string const & filename, rcs_file & r)
+ {
+ #if defined(HAVE_MMAP) || defined(WIN32)
+- file_handle handle(filename);
+- file_source ifs(filename, handle.fd, handle.length);
++ rcs_file_handle handle(filename);
++ rcs_file_source ifs(filename, handle.fd, handle.length);
+ #else
+ ifstream ifs(filename.c_str());
+ ifs.unsetf(ios_base::skipws);