{"record":{"id":"ffa7b7fe5852db90","repo":"nodejs/node","slug":"force-output-overwrite-already-set-n","errorCode":null,"errorMessage":"force output overwrite already set\\n","messagePattern":"force output overwrite already set\\\\n","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"deps/brotli/c/tools/brotli.c","lineNumber":365,"sourceCode":"        } else if (c == 'c') {\n          if (output_set) {\n            fprintf(stderr, \"write to standard output already set\\n\");\n            return COMMAND_INVALID;\n          }\n          output_set = BROTLI_TRUE;\n          params->write_to_stdout = BROTLI_TRUE;\n          continue;\n        } else if (c == 'd') {\n          if (command_set) {\n            fprintf(stderr, \"command already set when parsing -d\\n\");\n            return COMMAND_INVALID;\n          }\n          command_set = BROTLI_TRUE;\n          command = COMMAND_DECOMPRESS;\n          continue;\n        } else if (c == 'f') {\n          if (params->force_overwrite) {\n            fprintf(stderr, \"force output overwrite already set\\n\");\n            return COMMAND_INVALID;\n          }\n          params->force_overwrite = BROTLI_TRUE;\n          continue;\n        } else if (c == 'h') {\n          /* Don't parse further. */\n          return COMMAND_HELP;\n        } else if (c == 'j' || c == 'k') {\n          if (keep_set) {\n            fprintf(stderr, \"argument --rm / -j or --keep / -k already set\\n\");\n            return COMMAND_INVALID;\n          }\n          keep_set = BROTLI_TRUE;\n          params->junk_source = TO_BROTLI_BOOL(c == 'j');\n          continue;\n        } else if (c == 'n') {\n          if (!params->copy_stat) {\n            fprintf(stderr, \"argument --no-copy-stat / -n already set\\n\");","sourceCodeStart":347,"sourceCodeEnd":383,"githubUrl":"https://github.com/nodejs/node/blob/1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e/deps/brotli/c/tools/brotli.c#L347-L383","documentation":"The brotli `-f`/`--force` flag forces overwriting existing output files. It may be set only once; a second occurrence is rejected.","triggerScenarios":"Passing `-f` twice: `brotli -f -f file` or coalesced `brotli -ff file`.","commonSituations":"Alias + explicit duplicate; flag groups concatenated by a wrapper.","solutions":["Remove the duplicate `-f`.","De-duplicate short flags when constructing argv."],"exampleFix":"// before\nbrotli -f -f file\n// after\nbrotli -f file","handlingStrategy":"validation","validationCode":"assert sum(1 for a in argv if a in ('-f','--force') or (a.startswith('-') and not a.startswith('--') and 'f' in a)) <= 1","typeGuard":null,"tryCatchPattern":null,"preventionTips":["State each flag once; do not stack identical short flags.","Centralize flag construction in scripts."],"tags":["brotli","cli","argument-parsing"],"backgroundTag":null,"analyzedSha":"1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e","analyzedAt":"2026-08-13T00:53:24.642Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}