forked from taurusxin/ncmdump-go
fix: 完善苹果系统构建与文件兼容
动机:解决苹果系统发布包缺少执行权限和特殊文件误处理问题。 改动:校验发布包权限,支持两类芯片架构并改进文件识别。 影响:苹果系统可直接运行发布包,其他平台构建与使用方式兼容。 验证:运行 go test ./...、go vet ./... 和完整发布构建,结果通过。 关联:无
This commit is contained in:
@@ -2,17 +2,27 @@ package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.taurusxin.com/taurusxin/ncmdump-go/ncmcrypt"
|
||||
"git.taurusxin.com/taurusxin/ncmdump-go/utils"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"git.taurusxin.com/taurusxin/ncmdump-go/ncmcrypt"
|
||||
"git.taurusxin.com/taurusxin/ncmdump-go/utils"
|
||||
|
||||
flag "github.com/spf13/pflag"
|
||||
)
|
||||
|
||||
// version is replaced by build.sh for release builds.
|
||||
var version = "1.7.5"
|
||||
|
||||
func isNCMFile(filePath string) bool {
|
||||
baseName := filepath.Base(filePath)
|
||||
return !strings.HasPrefix(baseName, "._") && strings.EqualFold(filepath.Ext(baseName), ".ncm")
|
||||
}
|
||||
|
||||
func processFile(filePath string, outputDir string) error {
|
||||
// skip if the extension is not .ncm
|
||||
if filePath[len(filePath)-4:] != ".ncm" {
|
||||
if !isNCMFile(filePath) {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -59,7 +69,7 @@ func main() {
|
||||
}
|
||||
|
||||
if *showVersion {
|
||||
fmt.Println("ncmdump version 1.7.5")
|
||||
fmt.Printf("ncmdump version %s\n", version)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
@@ -132,7 +142,7 @@ func main() {
|
||||
// process files from args
|
||||
for _, filePath := range flag.Args() {
|
||||
// skip if the extension is not .ncm
|
||||
if filePath[len(filePath)-4:] != ".ncm" {
|
||||
if !isNCMFile(filePath) {
|
||||
continue
|
||||
}
|
||||
if outputDirSpecified {
|
||||
|
||||
Reference in New Issue
Block a user