fixed "mozilla-release/obj-x86_64-pc-linux-gnu/dist/bin/browser/chrome/browser/content/browser/preferences/dialogs/addEngine.js" does not exist bug related to replace-all, I dont even want to know why is it doing that, jesus christ

This commit is contained in:
partisan 2025-05-09 18:48:01 +02:00
parent 3d08b492ac
commit ffa413fe3c
2 changed files with 31 additions and 15 deletions

27
main.go
View file

@ -147,18 +147,25 @@ func applyPatch(patchPath, rootPath string) error {
return fmt.Errorf("failed to read patch file: %v", err)
}
if inputFilePath == "" && patchType != "new" {
return fmt.Errorf("patch file must specify input (i:) file")
}
if patchType != "replace-all" {
if inputFilePath == "" && patchType != "new" {
return fmt.Errorf("patch file must specify input (i:) file")
}
if outputFilePath == "" {
return fmt.Errorf("patch file must specify output (o:) file")
}
if outputFilePath == "" {
return fmt.Errorf("patch file must specify output (o:) file")
}
if patchType != "new" && patchType != "copy" && inputFilePath != outputFilePath {
err = os.Rename(inputFilePath, outputFilePath)
if err != nil {
return fmt.Errorf("failed to replace output file: %v", err)
// Only do this rename if it's not 'new' or 'copy'
if patchType != "new" && patchType != "copy" && inputFilePath != outputFilePath {
// Only rename if the input file actually exists
if _, err := os.Stat(inputFilePath); os.IsNotExist(err) {
return fmt.Errorf("input file does not exist: %s", inputFilePath)
}
err = os.Rename(inputFilePath, outputFilePath)
if err != nil {
return fmt.Errorf("failed to replace output file: %v", err)
}
}
}