Gocritic changes

This commit is contained in:
Xpl0itU 2023-09-08 17:30:57 +02:00
parent 4bc0236cf8
commit 8f13b57ae8
7 changed files with 17 additions and 18 deletions

View file

@ -25,7 +25,7 @@ func main() {
return return
} }
bundlePath := filepath.Join(filepath.Dir(filepath.Dir(execPath))) bundlePath := filepath.Dir(filepath.Dir(execPath))
filePath := filepath.Join(bundlePath, "Resources", "lib", "share", "glib-schemas") filePath := filepath.Join(bundlePath, "Resources", "lib", "share", "glib-schemas")
if _, err := os.Stat(filePath); os.IsNotExist(err) { if _, err := os.Stat(filePath); os.IsNotExist(err) {
logger.Warning("glib-schemas not found") logger.Warning("glib-schemas not found")

View file

@ -583,7 +583,7 @@ func (mw *MainWindow) isTitleInQueue(title wiiudownloader.TitleEntry) bool {
return false return false
} }
func (mw *MainWindow) addToQueue(tid string, name string) { func (mw *MainWindow) addToQueue(tid, name string) {
titleID, err := strconv.ParseUint(tid, 16, 64) titleID, err := strconv.ParseUint(tid, 16, 64)
if err != nil { if err != nil {
mw.logger.Fatal("Unable to parse title ID:", err) mw.logger.Fatal("Unable to parse title ID:", err)
@ -743,7 +743,6 @@ func (mw *MainWindow) onDownloadQueueClicked(selectedPath string) error {
defer close(queueStatusChan) defer close(queueStatusChan)
errGroup := errgroup.Group{} errGroup := errgroup.Group{}
queueProcessingLoop:
for _, title := range mw.titleQueue { for _, title := range mw.titleQueue {
errGroup.Go(func() error { errGroup.Go(func() error {
tidStr := fmt.Sprintf("%016x", title.TitleID) tidStr := fmt.Sprintf("%016x", title.TitleID)
@ -761,7 +760,7 @@ queueProcessingLoop:
} }
if !<-queueStatusChan { if !<-queueStatusChan {
break queueProcessingLoop break
} }
} }

View file

@ -7,17 +7,18 @@ func normalizeFilename(filename string) string {
shouldAppend := true shouldAppend := true
for _, c := range filename { for _, c := range filename {
if c == '_' { switch {
case c == '_':
if shouldAppend { if shouldAppend {
out.WriteRune('_') out.WriteRune('_')
shouldAppend = false shouldAppend = false
} }
} else if c == ' ' { case c == ' ':
if shouldAppend { if shouldAppend {
out.WriteRune(' ') out.WriteRune(' ')
shouldAppend = false shouldAppend = false
} }
} else if (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') { case (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'):
out.WriteRune(c) out.WriteRune(c)
shouldAppend = true shouldAppend = true
} }

View file

@ -28,9 +28,12 @@ type ProgressReporter interface {
Cancelled() bool Cancelled() bool
} }
func downloadFile(progressReporter ProgressReporter, client *grab.Client, downloadURL string, dstPath string, doRetries bool) error { func downloadFile(progressReporter ProgressReporter, client *grab.Client, downloadURL, dstPath string, doRetries bool) error {
filePath := filepath.Base(dstPath) filePath := filepath.Base(dstPath)
t := time.NewTicker(500 * time.Millisecond)
defer t.Stop()
for attempt := 1; attempt <= maxRetries; attempt++ { for attempt := 1; attempt <= maxRetries; attempt++ {
req, err := grab.NewRequest(dstPath, downloadURL) req, err := grab.NewRequest(dstPath, downloadURL)
if err != nil { if err != nil {
@ -41,9 +44,6 @@ func downloadFile(progressReporter ProgressReporter, client *grab.Client, downlo
resp := client.Do(req) resp := client.Do(req)
progressReporter.UpdateDownloadProgress(resp, filePath) progressReporter.UpdateDownloadProgress(resp, filePath)
t := time.NewTicker(500 * time.Millisecond)
defer t.Stop()
Loop: Loop:
for { for {
select { select {
@ -69,7 +69,7 @@ func downloadFile(progressReporter ProgressReporter, client *grab.Client, downlo
return nil return nil
} }
func DownloadTitle(titleID string, outputDirectory string, doDecryption bool, progressReporter ProgressReporter, deleteEncryptedContents bool, logger *Logger) error { func DownloadTitle(titleID, outputDirectory string, doDecryption bool, progressReporter ProgressReporter, deleteEncryptedContents bool, logger *Logger) error {
titleEntry := getTitleEntryFromTid(titleID) titleEntry := getTitleEntryFromTid(titleID)
progressReporter.SetGameTitle(titleEntry.Name) progressReporter.SetGameTitle(titleEntry.Name)
@ -179,7 +179,7 @@ func DownloadTitle(titleID string, outputDirectory string, doDecryption bool, pr
if err := binary.Read(tmdDataReader, binary.BigEndian, &content.Size); err != nil { if err := binary.Read(tmdDataReader, binary.BigEndian, &content.Size); err != nil {
return err return err
} }
if err := checkContentHashes(outputDirectory, content, &cipherHashTree); err != nil { if err := checkContentHashes(outputDirectory, content, cipherHashTree); err != nil {
if progressReporter.Cancelled() { if progressReporter.Cancelled() {
break break
} }

View file

@ -13,8 +13,7 @@ import (
var commonKey = []byte{0xD7, 0xB0, 0x04, 0x02, 0x65, 0x9B, 0xA2, 0xAB, 0xD2, 0xCB, 0x0D, 0xB2, 0x7F, 0xA2, 0xB6, 0x56} var commonKey = []byte{0xD7, 0xB0, 0x04, 0x02, 0x65, 0x9B, 0xA2, 0xAB, 0xD2, 0xCB, 0x0D, 0xB2, 0x7F, 0xA2, 0xB6, 0x56}
func checkContentHashes(path string, content contentInfo, cipherHashTree *cipher.Block) error { func checkContentHashes(path string, content contentInfo, cipherHashTree cipher.Block) error {
cHashTree := *cipherHashTree
h3Data, err := os.ReadFile(filepath.Join(path, fmt.Sprintf("%s.h3", content.ID))) h3Data, err := os.ReadFile(filepath.Join(path, fmt.Sprintf("%s.h3", content.ID)))
if err != nil { if err != nil {
return fmt.Errorf("failed to read H3 hash tree file: %w", err) return fmt.Errorf("failed to read H3 hash tree file: %w", err)
@ -42,7 +41,7 @@ func checkContentHashes(path string, content contentInfo, cipherHashTree *cipher
iv := make([]byte, aes.BlockSize) iv := make([]byte, aes.BlockSize)
for chunkNum := 0; chunkNum < chunkCount; chunkNum++ { for chunkNum := 0; chunkNum < chunkCount; chunkNum++ {
encryptedFile.Read(buffer) encryptedFile.Read(buffer)
cipher.NewCBCDecrypter(cHashTree, iv).CryptBlocks(decryptedContent, buffer) cipher.NewCBCDecrypter(cipherHashTree, iv).CryptBlocks(decryptedContent, buffer)
h0Hashes := decryptedContent[0:0x140] h0Hashes := decryptedContent[0:0x140]
h1Hashes := decryptedContent[0x140:0x280] h1Hashes := decryptedContent[0x140:0x280]

View file

@ -17,7 +17,7 @@ var (
keygen_pw = []byte{0x6d, 0x79, 0x70, 0x61, 0x73, 0x73} keygen_pw = []byte{0x6d, 0x79, 0x70, 0x61, 0x73, 0x73}
) )
func encryptAES(data []byte, key []byte, iv []byte) ([]byte, error) { func encryptAES(data, key, iv []byte) ([]byte, error) {
block, err := aes.NewCipher(key) block, err := aes.NewCipher(key)
if err != nil { if err != nil {
return nil, err return nil, err

View file

@ -39,7 +39,7 @@ func NewLogger(logFilePath string) (*Logger, error) {
} }
// Open the log file for writing, truncating it if it exists // Open the log file for writing, truncating it if it exists
logFile, err = os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666) logFile, err = os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0o666)
if err != nil { if err != nil {
// If unable to open the log file, log the error to stdout // If unable to open the log file, log the error to stdout
log.New(os.Stdout, "", log.Ldate|log.Ltime).Printf("[Error] Unable to open log file: %v\n", err) log.New(os.Stdout, "", log.Ldate|log.Ltime).Printf("[Error] Unable to open log file: %v\n", err)