From 4c7f8b18f61085d56a96831f234977b9c2733cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Rolim?= Date: Wed, 3 Jun 2020 13:59:43 -0300 Subject: [PATCH] Support empty lines and comments in sshfs-map. --- sourcecode/sshfs-map/map | 2 ++ sourcecode/sshfs-map/sshfs-map.c | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/sourcecode/sshfs-map/map b/sourcecode/sshfs-map/map index eef16ae..caf95c0 100644 --- a/sourcecode/sshfs-map/map +++ b/sourcecode/sshfs-map/map @@ -1,2 +1,4 @@ +# example map file + inspiron:mount/ inspiron voidzero: pi diff --git a/sourcecode/sshfs-map/sshfs-map.c b/sourcecode/sshfs-map/sshfs-map.c index 62fee0f..dfe1682 100644 --- a/sourcecode/sshfs-map/sshfs-map.c +++ b/sourcecode/sshfs-map/sshfs-map.c @@ -29,14 +29,24 @@ int main(int argc, char **argv) } char *line = NULL; - size_t line_size = 0, result; + size_t line_size = 0; + int i = 0; - for (int i = 0; true; i++) { - result = getline(&line, &line_size, map); + while (true) { + size_t result = getline(&line, &line_size, map); + // EOF if (result == -1) { break; } + // comment *or* + // lines smaller than 3 characters + // can't be valid + if (result < 3 || line[0] == '#') { + continue; + } + + // guarantee null-terminated terms if (line[result - 1] == '\n') line[result - 1] = '\0'; char *source, *dist; @@ -72,5 +82,6 @@ int main(int argc, char **argv) break; } free(line); + i++; // update count } }