All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] opensm: accept looonnng partition.conf lines
@ 2011-01-24 19:36 Arthur Kepner
  0 siblings, 0 replies; only message in thread
From: Arthur Kepner @ 2011-01-24 19:36 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA; +Cc: sashak-smomgflXvOZWk0Htik3J/w


Sometimes we use partition.conf files with so many entries that 
the 1K buffer currently used by osm_prtn_config_parse_file() is 
too small. Use getline() to avoid that.

Signed-off-by: <akepner-sJ/iWh9BUns@public.gmane.org>
---
 opensm/opensm/osm_prtn_config.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

---

diff --git a/opensm/opensm/osm_prtn_config.c b/opensm/opensm/osm_prtn_config.c
index 0d02597..34676ef 100644
--- a/opensm/opensm/osm_prtn_config.c
+++ b/opensm/opensm/osm_prtn_config.c
@@ -400,7 +400,9 @@ skip_header:
 int osm_prtn_config_parse_file(osm_log_t * p_log, osm_subn_t * p_subn,
 			       const char *file_name)
 {
-	char line[1024];
+	char *line = NULL;
+	ssize_t llen;
+	size_t n;
 	struct part_conf *conf = NULL;
 	FILE *file;
 	int lineno;
@@ -415,7 +417,7 @@ int osm_prtn_config_parse_file(osm_log_t * p_log, osm_subn_t * p_subn,
 
 	lineno = 0;
 
-	while (fgets(line, sizeof(line) - 1, file) != NULL) {
+	while ((llen = getline(&line, &n, file)) != -1) {
 		char *q, *p = line;
 
 		lineno++;
@@ -463,6 +465,8 @@ int osm_prtn_config_parse_file(osm_log_t * p_log, osm_subn_t * p_subn,
 		} while (q);
 	}
 
+	free(line);
+
 	fclose(file);
 
 	return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-01-24 19:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-24 19:36 [PATCH] opensm: accept looonnng partition.conf lines Arthur Kepner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.