From b59070a49e292746edeb781733db25931a6a6e50 Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <calcurse@cryptocrack.de>
Date: Fri, 26 Aug 2011 12:07:11 +0200
Subject: Rework indentation code in print_notefile()

Do not use snprintf() here as printf() behaviour is undefined if the
destination pointer is used as a parameter.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
---
 src/args.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/args.c b/src/args.c
index e447997..a3a22fe 100644
--- a/src/args.c
+++ b/src/args.c
@@ -199,13 +199,19 @@ print_notefile (FILE *out, char *filename, int nbtab)
 {
   char path_to_notefile[BUFSIZ];
   FILE *notefile;
-  char linestarter[BUFSIZ] = "";
+  char linestarter[BUFSIZ];
   char buffer[BUFSIZ];
   int i;
   int printlinestarter = 1;
 
-  for (i = 0; i < nbtab; i++)
-    (void)snprintf(linestarter, BUFSIZ, "%s\t", linestarter);
+  if (nbtab < BUFSIZ)
+    {
+      for (i = 0; i < nbtab; i++)
+        linestarter[i] = '\t';
+      linestarter[nbtab] = '\0';
+    }
+  else
+    linestarter[0] = '\0';
 
   (void)snprintf (path_to_notefile, BUFSIZ, "%s/%s", path_notes, filename);
   notefile = fopen (path_to_notefile, "r");
-- 
cgit v1.2.3-70-g09d2