diff options
author | Volker Lendecke <vl@samba.org> | 2016-11-16 15:47:08 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2016-11-20 02:28:11 +0100 |
commit | 3a8bf0222ac163ddda07130ca10cbe602404a944 (patch) | |
tree | c0f018a78208b156967b564643ce2ed899593982 | |
parent | 1314db09dde650e651c9079d746c70c9dcd09b35 (diff) | |
download | samba-3a8bf0222ac163ddda07130ca10cbe602404a944.tar.gz |
lib: Reformat x_fgets_slash
This is so old code that I'd like to move somewhere else next, but before
that I'd like to clean it up a bit.
No code change, just indentation changed and some {} added.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
-rw-r--r-- | lib/util/util_file.c | 132 |
1 files changed, 68 insertions, 64 deletions
diff --git a/lib/util/util_file.c b/lib/util/util_file.c index cad917b0709..47779510248 100644 --- a/lib/util/util_file.c +++ b/lib/util/util_file.c @@ -38,72 +38,76 @@ The string will be allocated if s2 is NULL **/ _PUBLIC_ char *x_fgets_slash(char *s2,int maxlen,XFILE *f) { - char *s=s2; - int len = 0; - int c; - bool start_of_line = true; - - if (x_feof(f)) - return(NULL); - - if (maxlen <2) return(NULL); - - if (!s2) - { - maxlen = MIN(maxlen,8); - s = (char *)malloc(maxlen); - } - - if (!s) return(NULL); - - *s = 0; - - while (len < maxlen-1) - { - c = x_getc(f); - switch (c) - { - case '\r': - break; - case '\n': - while (len > 0 && s[len-1] == ' ') - { - s[--len] = 0; - } - if (len > 0 && s[len-1] == '\\') - { - s[--len] = 0; - start_of_line = true; - break; - } - return(s); - case EOF: - if (len <= 0 && !s2) - SAFE_FREE(s); - return(len>0?s:NULL); - case ' ': - if (start_of_line) - break; - /* fall through */ - default: - start_of_line = false; - s[len++] = c; - s[len] = 0; + char *s=s2; + int len = 0; + int c; + bool start_of_line = true; + + if (x_feof(f)) { + return(NULL); + } + + if (maxlen <2) { + return(NULL); + } + + if (!s2) { + maxlen = MIN(maxlen,8); + s = (char *)malloc(maxlen); } - if (!s2 && len > maxlen-3) - { - char *t; - - maxlen *= 2; - t = realloc_p(s, char, maxlen); - if (!t) { - DBG_ERR("failed to expand buffer!\n"); - SAFE_FREE(s); - return(NULL); - } else s = t; + + if (!s) { + return(NULL); + } + + *s = 0; + + while (len < maxlen-1) { + c = x_getc(f); + switch (c) + { + case '\r': + break; + case '\n': + while (len > 0 && s[len-1] == ' ') { + s[--len] = 0; + } + if (len > 0 && s[len-1] == '\\') { + s[--len] = 0; + start_of_line = true; + break; + } + return(s); + case EOF: + if (len <= 0 && !s2) { + SAFE_FREE(s); + } + return(len>0?s:NULL); + case ' ': + if (start_of_line) { + break; + } + /* fall through */ + default: + start_of_line = false; + s[len++] = c; + s[len] = 0; + } + if (!s2 && len > maxlen-3) { + char *t; + + maxlen *= 2; + t = realloc_p(s, char, maxlen); + if (!t) { + DBG_ERR("failed to expand buffer!\n"); + SAFE_FREE(s); + return(NULL); + } else { + s = t; + } + } } - } - return(s); + return(s); } /** |