diff options
-rw-r--r-- | .clang-format | 48 | ||||
-rw-r--r-- | walk.c | 20 |
2 files changed, 58 insertions, 10 deletions
diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..4390d2b --- /dev/null +++ b/.clang-format @@ -0,0 +1,48 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +IndentWidth: 8 +ContinuationIndentWidth: 8 +SpacesBeforeTrailingComments: 2 +SpacesInContainerLiterals: false +UseTab: Always + +BreakBeforeBraces: Custom +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: false + +AlignAfterOpenBracket: DontAlign +AlignEscapedNewlines: DontAlign +AlignOperands: false +AlignTrailingComments: false +AllowShortIfStatementsOnASingleLine: Always +AllowShortLoopsOnASingleLine: true +BreakBeforeBinaryOperators: NonAssignment +BreakStringLiterals: false +KeepEmptyLinesAtTheStartOfBlocks: false @@ -56,7 +56,8 @@ static void strcpy3(char *dest, const char *s1, const char *s2, const char *s3) stpcpy(stpcpy(stpcpy(dest, s1), s2), s3); } -static void put_filename(const char *filename, bool null_terminate) { +static void put_filename(const char *filename, bool null_terminate) +{ if (null_terminate) { fputs(filename, stdout); fputc(0, stdout); @@ -81,21 +82,20 @@ static int walk(const char dirname[], bool null_terminate) int r = 0; char *filename = NULL; for (const struct dirent *f = readdir2(dir); f; f = readdir2(dir)) { - if (strcmp(f->d_name, ".") == 0 - || strcmp(f->d_name, "..") == 0) + if (strcmp(f->d_name, ".") == 0 || strcmp(f->d_name, "..") == 0) continue; - filename = xrealloc(filename, - strlen(dirname) + 1 + strlen(f->d_name) + 1); + filename = xrealloc( + filename, strlen(dirname) + 1 + strlen(f->d_name) + 1); strcpy3(filename, dirname, "/", f->d_name); // TODO(bbaren@google.com): Emulate Plan 9's cleanname(3). put_filename(filename, null_terminate); // Walk the file if we can successfully open it as a directory. // Don't worry about it if it's not one (walk(filename) == 2). if ((f->d_type == DT_DIR || f->d_type == DT_UNKNOWN) - && walk(filename, null_terminate) == 1) + && walk(filename, null_terminate) == 1) r = 1; } - if (errno) { // from readdir + if (errno) { // from readdir perror(dirname); r = 1; } @@ -117,8 +117,7 @@ int main(const int argc, char *const argv[]) bool null_terminate = false; while (true) { const int c = getopt_long(argc, argv, "0", long_options, NULL); - if (c == -1) - break; + if (c == -1) break; switch (c) { case 'h': fputs(SHORT_USAGE, stdout); @@ -137,7 +136,8 @@ int main(const int argc, char *const argv[]) } int r = 0; - const char *const *const dirs = argc == optind ? JUST_CURRENT_DIRECTORY + const char *const *const dirs = argc == optind + ? JUST_CURRENT_DIRECTORY : (const char *const *)argv + optind; for (int i = 0; dirs[i]; ++i) { put_filename(dirs[i], null_terminate); |