Add double checking in Deprecated
authorbep <bjorn.erik.pedersen@gmail.com>
Thu, 12 Mar 2015 17:51:31 +0000 (18:51 +0100)
committerbep <bjorn.erik.pedersen@gmail.com>
Thu, 12 Mar 2015 17:51:31 +0000 (18:51 +0100)
To prevent possible duplicate log statements.

helpers/general.go

index 4219186ad93e0c1e7b5a556a72faa81f297f428d..e0fe99b6fb4afcf3df313c77bede2fed6fb645aa 100644 (file)
@@ -115,15 +115,18 @@ var deprecatedLogs = struct {
 }{m: make(map[string]bool)}
 
 func Deprecated(object, item, alternative string) {
+       key := object + item + alternative
        deprecatedLogs.RLock()
-       logged := deprecatedLogs.m[object+item+alternative]
+       logged := deprecatedLogs.m[key]
        deprecatedLogs.RUnlock()
        if logged {
                return
        }
        deprecatedLogs.Lock()
-       jww.ERROR.Printf("%s's %s is deprecated and will be removed in Hugo 0.15. Use %s instead.", object, item, alternative)
-       deprecatedLogs.m[object+item+alternative] = true
+       if !deprecatedLogs.m[key] {
+               jww.ERROR.Printf("%s's %s is deprecated and will be removed in Hugo 0.15. Use %s instead.", object, item, alternative)
+               deprecatedLogs.m[key] = true
+       }
        deprecatedLogs.Unlock()
 }