public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] kconfig: add chomp like helper function
@ 2016-03-16 10:53 Paul Bolle
  2016-03-16 10:53 ` [PATCH 2/2] kconfig: add unexpected data itself to warning Paul Bolle
  2016-03-16 11:42 ` [PATCH 1/2] kconfig: add chomp like helper function Michal Marek
  0 siblings, 2 replies; 4+ messages in thread
From: Paul Bolle @ 2016-03-16 10:53 UTC (permalink / raw)
  To: Michal Marek; +Cc: Josh Boyer, linux-kbuild, linux-kernel

Add a helper function that strips trailing new lines and carriage
returns from strings. Call it chomp, after the perl function that
inspired it.

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
---
 scripts/kconfig/confdata.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 0b7dc2fd7bac..51904c423411 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -248,6 +248,28 @@ e_out:
 	return -1;
 }
 
+/*
+ * Return newly allocated copy of string "in" with all trailing new lines and
+ * carriage returns removed.
+ */
+static char *chomp(char *in)
+{
+	size_t last = strlen(in);
+	char *copy;
+
+	copy = malloc(last + 1);
+	if (!copy)
+		return NULL;
+
+	strcpy(copy, in);
+	if (last)
+		last--;
+	while (last  && (copy[last] == '\r' || copy[last] == '\n'))
+		copy[last--] = '\0';
+
+	return copy;
+}
+
 int conf_read_simple(const char *name, int def)
 {
 	FILE *in = NULL;
-- 
2.4.3

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

end of thread, other threads:[~2016-03-16 12:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-16 10:53 [PATCH 1/2] kconfig: add chomp like helper function Paul Bolle
2016-03-16 10:53 ` [PATCH 2/2] kconfig: add unexpected data itself to warning Paul Bolle
2016-03-16 11:42 ` [PATCH 1/2] kconfig: add chomp like helper function Michal Marek
2016-03-16 12:41   ` Paul Bolle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox