Fix ledger to compile with recent gcc.

Also makes ledger overridable.

svn path=/nixpkgs/trunk/; revision=21854
This commit is contained in:
Peter Simons 2010-05-19 07:50:45 +00:00
parent b4536c217f
commit fa9b6ef08d
3 changed files with 44 additions and 1 deletions

View File

@ -0,0 +1,41 @@
diff --git a/gnucash.cc b/gnucash.cc
index 7d31526..c4edd77 100644
--- a/gnucash.cc
+++ b/gnucash.cc
@@ -201,7 +201,7 @@ static amount_t convert_number(const std::string& number,
{
const char * num = number.c_str();
- if (char * p = std::strchr(num, '/')) {
+ if (const char * p = std::strchr(num, '/')) {
std::string numer_str(num, p - num);
std::string denom_str(p + 1);
diff --git a/option.cc b/option.cc
index 10c23a7..8f2fead 100644
--- a/option.cc
+++ b/option.cc
@@ -892,7 +892,7 @@ OPT_BEGIN(market, "V") {
namespace {
void parse_price_setting(const char * optarg)
{
- char * equals = std::strchr(optarg, '=');
+ const char * equals = std::strchr(optarg, '=');
if (! equals)
return;
diff --git a/textual.cc b/textual.cc
index 2033106..d897368 100644
--- a/textual.cc
+++ b/textual.cc
@@ -298,8 +298,8 @@ transaction_t * parse_transaction(char * line, account_t * account,
DEBUG_PRINT("ledger.textual.parse", "line " << linenum << ": " <<
"Parsed a note '" << xact->note << "'");
- if (char * b = std::strchr(xact->note.c_str(), '['))
- if (char * e = std::strchr(xact->note.c_str(), ']')) {
+ if (const char * b = std::strchr(xact->note.c_str(), '['))
+ if (const char * e = std::strchr(xact->note.c_str(), ']')) {
char buf[256];
std::strncpy(buf, b + 1, e - b - 1);
buf[e - b - 1] = '\0';

View File

@ -20,6 +20,8 @@ stdenv.mkDerivation {
buildInputs = [ emacs gmp pcre ]; buildInputs = [ emacs gmp pcre ];
patches = [ ./const.patch ];
# Something goes wrong with pathelf... # Something goes wrong with pathelf...
# this is a small workaround: adds a small shell script for # this is a small workaround: adds a small shell script for
# setting LD_LIBRARY_PATH # setting LD_LIBRARY_PATH

View File

@ -8042,7 +8042,7 @@ let
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
ledger = import ../applications/office/ledger { ledger = makeOverridable (import ../applications/office/ledger) {
inherit stdenv fetchurl emacs gmp pcre; inherit stdenv fetchurl emacs gmp pcre;
}; };