From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from fed1rmmtao104.cox.net (fed1rmmtao104.cox.net [68.230.241.42]) by speech.braille.uwo.ca (Postfix) with ESMTP id 4A29F10B0D for ; Sat, 23 May 2009 20:57:19 -0400 (EDT) Received: from fed1rmimpo02.cox.net ([70.169.32.72]) by fed1rmmtao104.cox.net (InterMail vM.7.08.02.01 201-2186-121-102-20070209) with ESMTP id <20090524005718.QKMG17135.fed1rmmtao104.cox.net@fed1rmimpo02.cox.net> for ; Sat, 23 May 2009 20:57:18 -0400 Received: from localhost ([68.12.115.220]) by fed1rmimpo02.cox.net with bizsmtp id vCxJ1b0054lNohg04CxJi3; Sat, 23 May 2009 20:57:18 -0400 X-Authority-Analysis: v=1.0 c=1 a=1p7_KYTlxLcA:10 a=AlGDem2cPR4A:10 a=kviXuzpPAAAA:8 a=kevP-IGSBw7AiHYCGj0A:9 a=rMBAs0u05jmBC4ozWwEA:7 a=4uyCcgheEcXMiL_eBocTPAUTg0gA:4 a=4vB-4DCPJfMA:10 X-CM-Score: 0.00 From: Christopher Brannon To: speakup@braille.uwo.ca Date: Sat, 23 May 2009 18:49:44 -0500 Subject: [PATCH] Remove trailing newlines from files in /sys/module/speakup/parameters. Message-Id: <20090524005718.QKMG17135.fed1rmmtao104.cox.net@fed1rmimpo02.cox.net> X-BeenThere: speakup@braille.uwo.ca X-Mailman-Version: 2.1.12 Precedence: list Reply-To: "Speakup is a screen review system for Linux." List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 May 2009 00:57:20 -0000 When a user reads a parameter using sysfs, the data that Speakup supplies should not end in a newline. When it does, the corresponding file from parameters/ has a blank line at the end. Signed-off-by: Christopher Brannon --- src/paramhelpers.c | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/paramhelpers.c b/src/paramhelpers.c index 7b779a9..7dbd060 100644 --- a/src/paramhelpers.c +++ b/src/paramhelpers.c @@ -305,6 +305,12 @@ static int get_characters(char *buffer, struct kernel_param *kp) cp = (characters[i]) ? characters[i] : "NULL"; len += sprintf(buffer + len, "%d\t%s\n", i, cp); } + + /* Loop leaves a newline at the end of the buffer, but buffer + * shouldn't end with a newline. Snip it. + */ + buffer[--len] = '\0'; + return len; } @@ -421,6 +427,9 @@ static int get_chartab(char *buffer, struct kernel_param *kp) cp = "B_SYM"; len += sprintf(buffer + len, "%d\t%s\n", i, cp); } + + /* Buffer should not end in a newline. Snip it. */ + buffer[--len] = '\0'; return len; } @@ -509,7 +518,7 @@ static int get_keymap(char *buffer, struct kernel_param *kp) *cp++ = (i < nstates) ? SPACE : '\n'; } } - cp += sprintf(cp, "0, %d\n", KEY_MAP_VER); + cp += sprintf(cp, "0, %d", KEY_MAP_VER); return (int)(cp-buffer); } @@ -632,9 +641,9 @@ static int get_version(char *buffer, struct kernel_param *kp) char *cp; cp = buffer; - cp += sprintf(cp, "Speakup version %s\n", SPEAKUP_VERSION); + cp += sprintf(cp, "Speakup version %s", SPEAKUP_VERSION); if (synth != NULL) - cp += sprintf(cp, "%s synthesizer driver version %s\n", + cp += sprintf(cp, "\n%s synthesizer driver version %s", synth->name, synth->version); return cp - buffer; } @@ -807,9 +816,9 @@ static int get_vars(char *buffer, struct kernel_param *kp) case VAR_NUM: case VAR_TIME: if (var) - rv = sprintf(buffer, "%i\n", var->u.n.value); + rv = sprintf(buffer, "%i", var->u.n.value); else - rv = sprintf(buffer, "0\n"); + rv = sprintf(buffer, "0"); break; case VAR_STRING: if (var) { @@ -822,15 +831,14 @@ static int get_vars(char *buffer, struct kernel_param *kp) cp1 += sprintf(cp1, "\\""x%02x", ch); } *cp1++ = '"'; - *cp1++ = '\n'; *cp1 = '\0'; rv = cp1-buffer; } else { - rv = sprintf(buffer, "\"\"\n"); + rv = sprintf(buffer, "\"\""); } break; default: - rv = sprintf(buffer, "Bad parameter %s, type %i\n", + rv = sprintf(buffer, "Bad parameter %s, type %i", param->name, param->var_type); break; } -- 1.6.3.1