diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-08-26 12:07:11 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-08-26 12:14:03 +0200 |
commit | b59070a49e292746edeb781733db25931a6a6e50 (patch) | |
tree | 75c8d540fae0b18dd1157911291ff7066b40d691 /src/args.c | |
parent | 806a13ed8a23eeda97f50e4a9e0dd0fc5988efa7 (diff) | |
download | calcurse-b59070a49e292746edeb781733db25931a6a6e50.zip |
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>
Diffstat (limited to 'src/args.c')
-rw-r--r-- | src/args.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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"); |