diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-misc/pwsafe/files/pwsafe-0.2.0-fake-readline.patch | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-misc/pwsafe/files/pwsafe-0.2.0-fake-readline.patch')
-rw-r--r-- | app-misc/pwsafe/files/pwsafe-0.2.0-fake-readline.patch | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/app-misc/pwsafe/files/pwsafe-0.2.0-fake-readline.patch b/app-misc/pwsafe/files/pwsafe-0.2.0-fake-readline.patch new file mode 100644 index 000000000000..4e0f4ad4dfd6 --- /dev/null +++ b/app-misc/pwsafe/files/pwsafe-0.2.0-fake-readline.patch @@ -0,0 +1,107 @@ +Index: pwsafe.cpp +=================================================================== +RCS file: /cvsroot/pwsafe/pwsafe/pwsafe.cpp,v +retrieving revision 1.57 +diff -u -r1.57 pwsafe.cpp +--- pwsafe.cpp 12 Aug 2007 12:33:06 -0000 1.57 ++++ pwsafe.cpp 30 Mar 2011 07:22:11 -0000 +@@ -3325,61 +3325,48 @@ + static char* readline(const char* prompt) { + printf("%s", prompt); + fflush(stdout); +- +- static secstring saved; +- int buflen = saved.length() + 100; +- int bufpos = saved.length(); +- char* buf = reinterpret_cast<char*>(malloc(buflen+1)); +- if (!buf) +- throw FailEx(); +- memcpy(buf, saved.data(), saved.length()); +- buf[saved.length()] = '\0'; +- +- while (!strchr(buf,'\n')) { +- const int rc = ::read(STDIN_FILENO, buf+bufpos, buflen); +- +- if (rc == -1) { +- fprintf(stderr, "Error: %s read(STDIN) failed: %s\n", program_name, strerror(errno)); +- memset(buf,0,buflen); +- free(buf); +- throw FailEx(); +- } +- +- bufpos += rc; +- buf[bufpos] = '\0'; +- +- if (rc == 0) { +- // EOF (ctrl-D) +- break; +- } +- +- if (bufpos == buflen && !strchr(buf,'\n')) { +- // we needed a bigger buffer +- char* new_buf = reinterpret_cast<char*>(malloc(2*buflen+1)); +- if (!new_buf) { +- fprintf(stderr, "Error: %s out of memory\n", program_name); +- memset(buf,0,buflen); +- free(buf); +- throw FailEx(); +- } + +- memcpy(new_buf, buf, bufpos); +- memset(buf, 0, buflen); +- free(buf); +- buf = new_buf; +- buflen *= 2; +- } +- } ++ size_t buflen = 100; ++ size_t bufpos = 0; ++ char* buf = static_cast<char*>(malloc(buflen+1)); ++ if (!buf) ++ throw FailEx(); + +- char* lf = strchr(buf,'\n'); +- if (lf) { +- // save the rest of the input for later +- saved.assign(lf+1); +- *lf = '\0'; +- } else { +- saved.assign("",0); ++ for (;;) { ++ const ssize_t rc = ::read(STDIN_FILENO, buf+bufpos, 1); ++ if (rc == -1) { ++ fprintf(stderr, "Error: %s read(STDIN) failed: %s\n", program_name, strerror(errno)); ++ memset(buf,0,bufpos); ++ free(buf); ++ throw FailEx(); ++ } else if (rc == 0) { ++ // EOF (ctrl-D) ++ break; ++ } else if (buf[bufpos] == '\n') { ++ // end of line ++ break; ++ } ++ ++ ++bufpos; ++ ++ if (bufpos == buflen) { ++ // we need a bigger buffer ++ char* new_buf = static_cast<char*>(malloc(2*buflen+1)); ++ if (!new_buf) { ++ fprintf(stderr, "Error: %s out of memory\n", program_name); ++ memset(buf,0,bufpos); ++ free(buf); ++ throw FailEx(); ++ } ++ memcpy(new_buf, buf, bufpos); ++ memset(buf, 0, bufpos); ++ free(buf); ++ buf = new_buf; ++ buflen *= 2; ++ } + } + ++ buf[bufpos] = '\0'; + return buf; + } + #endif // WITH_READLINE |