diff options
author | Nicolas Bock <nicolasbock@gmail.com> | 2013-09-11 14:16:10 -0600 |
---|---|---|
committer | Nicolas Bock <nicolasbock@gmail.com> | 2013-09-11 14:16:10 -0600 |
commit | 93b282b1f72581ee0bba1653a2132f50c5446076 (patch) | |
tree | f7cb3149f027f8dee9e1dec334b13b07c0a9321c /sys-cluster/charm/files | |
parent | sys-cluster/charm-6.5.1-r1: Added patch from ticket 294. (diff) | |
download | sci-93b282b1f72581ee0bba1653a2132f50c5446076.tar.gz sci-93b282b1f72581ee0bba1653a2132f50c5446076.tar.bz2 sci-93b282b1f72581ee0bba1653a2132f50c5446076.zip |
sys-cluster/charm-6.5.1-r1: Backported patch just added to correct upstream version.
Package-Manager: portage-2.2.2
Diffstat (limited to 'sys-cluster/charm/files')
-rw-r--r-- | sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch | 54 |
1 files changed, 10 insertions, 44 deletions
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 index 420b2fec2..9655343c6 100644 --- 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 @@ -1,55 +1,21 @@ -From b74a077290b82b7a22010d78502a9e60e9e44c1f Mon Sep 17 00:00:00 2001 +From db515b327e423d0ca39a56df15c5e3225154daeb Mon Sep 17 00:00:00 2001 From: Nicolas Bock <nicolasbock@gmail.com> -Date: Wed, 11 Sep 2013 13:50:05 -0600 -Subject: [PATCH 2/2] charmrun.C: parsing of strings now parses "\n" into '\n'. +Date: Wed, 11 Sep 2013 14:13:30 -0600 +Subject: [PATCH] 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(-) + src/arch/net/charmrun/charmrun.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 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) +diff --git a/src/arch/net/charmrun/charmrun.c b/src/arch/net/charmrun/charmrun.c +index 6837712..54fc8bc 100644 +--- a/src/arch/net/charmrun/charmrun.c ++++ b/src/arch/net/charmrun/charmrun.c +@@ -454,8 +454,26 @@ static int pparam_setdef(def, value) if (*p) return -1; return 0; case 's' : |