diff options
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.patch | 166 |
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 000000000000..a6e282232223 --- /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); |