]> Cypherpunks.ru repositories - goredo.git/blobdiff - ifchange.go
Raise copyright years
[goredo.git] / ifchange.go
index 43cfdb3e387e12474aec2034b719a8046ab6e6be..dc5b9dafba8ecb6fe1284760886d510faff3f218 100644 (file)
@@ -1,6 +1,6 @@
 /*
 goredo -- djb's redo implementation on pure Go
-Copyright (C) 2020-2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2020-2023 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -179,6 +179,17 @@ RebuildDeps:
 }
 
 func ifchange(tgts []string, forced, traced bool) (bool, error) {
+       // only unique elements
+       m := make(map[string]struct{})
+       for _, t := range tgts {
+               m[t] = struct{}{}
+       }
+       tgts = tgts[:0]
+       for t := range m {
+               tgts = append(tgts, t)
+       }
+       m = nil
+
        jsInit()
        if !IsTopRedo {
                defer jsAcquire("ifchange exiting")