From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id C0A1D1381F3 for ; Wed, 11 Sep 2013 20:05:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6FD74E0B1D; Wed, 11 Sep 2013 20:05:34 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E8E70E0B1D for ; Wed, 11 Sep 2013 20:05:33 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BC37533DA80 for ; Wed, 11 Sep 2013 20:05:32 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 6CFB8E468F for ; Wed, 11 Sep 2013 20:05:31 +0000 (UTC) From: "Nicolas Bock" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Nicolas Bock" Message-ID: <1378929896.648828262ee99fd62b8c1933b9c8c170dd845ca0.nicolasbock@gentoo> Subject: [gentoo-commits] proj/sci:master commit in: sys-cluster/charm/, sys-cluster/charm/files/ X-VCS-Repository: proj/sci X-VCS-Files: sys-cluster/charm/ChangeLog sys-cluster/charm/charm-6.5.1-r1.ebuild sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch X-VCS-Directories: sys-cluster/charm/ sys-cluster/charm/files/ X-VCS-Committer: nicolasbock X-VCS-Committer-Name: Nicolas Bock X-VCS-Revision: 648828262ee99fd62b8c1933b9c8c170dd845ca0 X-VCS-Branch: master Date: Wed, 11 Sep 2013 20:05:31 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 38be5e25-11b4-461a-8346-09b2eef28441 X-Archives-Hash: d3122f18e0feddfb22f97097e9b52c9d commit: 648828262ee99fd62b8c1933b9c8c170dd845ca0 Author: Nicolas Bock gmail com> AuthorDate: Wed Sep 11 20:04:56 2013 +0000 Commit: Nicolas Bock gmail com> CommitDate: Wed Sep 11 20:04:56 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=64882826 sys-cluster/charm-6.5.1-r1: Added patch from ticket 294. Package-Manager: portage-2.2.2 --- sys-cluster/charm/ChangeLog | 4 ++ sys-cluster/charm/charm-6.5.1-r1.ebuild | 1 + .../files/charm-6.5.1-fix-string-parsing.patch | 83 ++++++++++++++++++++++ 3 files changed, 88 insertions(+) diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog index 61f5a30..de06577 100644 --- a/sys-cluster/charm/ChangeLog +++ b/sys-cluster/charm/ChangeLog @@ -2,6 +2,10 @@ # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 11 Sep 2013; Nicolas Bock + +files/charm-6.5.1-fix-string-parsing.patch, charm-6.5.1-r1.ebuild: + sys-cluster/charm-6.5.1-r1: Added patch from ticket 294. + *charm-6.5.1-r1 (11 Sep 2013) 11 Sep 2013; Nicolas Bock +charm-6.5.1-r1.ebuild, diff --git a/sys-cluster/charm/charm-6.5.1-r1.ebuild b/sys-cluster/charm/charm-6.5.1-r1.ebuild index 9161c8f..25b0560 100644 --- a/sys-cluster/charm/charm-6.5.1-r1.ebuild +++ b/sys-cluster/charm/charm-6.5.1-r1.ebuild @@ -91,6 +91,7 @@ src_prepare() { epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch" epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch" } src_compile() { diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch b/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch new file mode 100644 index 0000000..420b2fe --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch @@ -0,0 +1,83 @@ +From b74a077290b82b7a22010d78502a9e60e9e44c1f Mon Sep 17 00:00:00 2001 +From: Nicolas Bock +Date: Wed, 11 Sep 2013 13:50:05 -0600 +Subject: [PATCH 2/2] charmrun.C: parsing of strings now parses "\n" into '\n'. + +Since gdb lacks anything like ';' to separate several commands in one line, +the commands need to be separated by a newline character. I have added some +parsing logic so that the string "\n" will now be translated into the +character '\n'. +--- + src/arch/net/charmrun/charmrun.C | 22 ++++++++++++++++++++-- + src/arch/netlrts/charmrun/charmrun.C | 22 ++++++++++++++++++++-- + 2 files changed, 40 insertions(+), 4 deletions(-) + +diff --git a/src/arch/net/charmrun/charmrun.C b/src/arch/net/charmrun/charmrun.C +index a23baa2..2830b8f 100644 +--- a/src/arch/net/charmrun/charmrun.C ++++ b/src/arch/net/charmrun/charmrun.C +@@ -451,8 +451,26 @@ static int pparam_setdef(ppdef def, char *value) + if (*p) return -1; + return 0; + case 's' : +- *def->where.s = strdup(value); +- return 0; ++ { ++ /* Parse input string and convert a literal "\n" into '\n'. */ ++ *def->where.s = (char*) calloc(strlen(value)+1, sizeof(char)); ++ char* parsed_value = (char*) *def->where.s; ++ for(int i = 0, j = 0; i < strlen(value); i++) ++ { ++ fprintf(stderr, "i = %d, j = %d, value[i] = \n", i, j); ++ if(i+1 < strlen(value)) ++ { ++ if(value[i] == '\\' && value[i+1] == 'n') ++ { ++ parsed_value[j++] = '\n'; ++ i++; ++ continue; ++ } ++ } ++ parsed_value[j++] = value[i]; ++ } ++ return 0; ++ } + case 'f' : + *def->where.f = strtol(value, &p, 10); + if (*p) return -1; +diff --git a/src/arch/netlrts/charmrun/charmrun.C b/src/arch/netlrts/charmrun/charmrun.C +index 232bf5c..77a7950 100644 +--- a/src/arch/netlrts/charmrun/charmrun.C ++++ b/src/arch/netlrts/charmrun/charmrun.C +@@ -451,8 +451,26 @@ static int pparam_setdef(ppdef def, char *value) + if (*p) return -1; + return 0; + case 's' : +- *def->where.s = strdup(value); +- return 0; ++ { ++ /* Parse input string and convert a literal "\n" into '\n'. */ ++ *def->where.s = (char*) calloc(strlen(value)+1, sizeof(char)); ++ char* parsed_value = (char*) *def->where.s; ++ for(int i = 0, j = 0; i < strlen(value); i++) ++ { ++ fprintf(stderr, "i = %d, j = %d, value[i] = \n", i, j); ++ if(i+1 < strlen(value)) ++ { ++ if(value[i] == '\\' && value[i+1] == 'n') ++ { ++ parsed_value[j++] = '\n'; ++ i++; ++ continue; ++ } ++ } ++ parsed_value[j++] = value[i]; ++ } ++ return 0; ++ } + case 'f' : + *def->where.f = strtol(value, &p, 10); + if (*p) return -1; +-- +1.8.1.5 +