public inbox for speakup@linux-speakup.org
 help / color / mirror / Atom feed
* [PATCH] Remove trailing newlines from files in /sys/module/speakup/parameters.
@  Christopher Brannon
   ` William Hubbs
  0 siblings, 1 reply; 2+ messages in thread
From: Christopher Brannon @  UTC (permalink / raw)
  To: speakup

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 <cmbrannon@cox.net>
---
 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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Remove trailing newlines from files in /sys/module/speakup/parameters.
   [PATCH] Remove trailing newlines from files in /sys/module/speakup/parameters Christopher Brannon
@  ` William Hubbs
  0 siblings, 0 replies; 2+ messages in thread
From: William Hubbs @  UTC (permalink / raw)
  To: Speakup is a screen review system for Linux.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I just applied this patch to speakup; it is now available in the git
tree.

Chris, thanks for the patch.

William

On Sat, May 23, 2009 at 06:49:44PM -0500, Chris Brannon wrote:
> 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 <cmbrannon@cox.net>
> ---
>  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
> 
> _______________________________________________
> Speakup mailing list
> Speakup@braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAkoZuFoACgkQblQW9DDEZTh+AQCfXyHnrClBe5VDKPAHQaXWyXCy
H1YAoIxd5WYo4I+b88gyTLep/0VMav8o
=PrZQ
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~ UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
 [PATCH] Remove trailing newlines from files in /sys/module/speakup/parameters Christopher Brannon
 ` William Hubbs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).