Skip to content

Commit 8d8521c

Browse files
committed
fix codedir is not abs and ignore flag
1 parent e4ff952 commit 8d8521c

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

lcode.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package main
22

33
import (
4+
"flag"
45
"fmt"
56
"net/http"
67
"os"
78
"os/signal"
89
"path"
910
"path/filepath"
11+
"strings"
1012

1113
"github.com/shynome/httprelay-go"
1214
)
@@ -18,12 +20,24 @@ func main() {
1820
initProxy(proxy)
1921
initWebdav(http.DefaultServeMux)
2022

21-
pwd, _ := os.Getwd()
2223
var codedir = "."
23-
if len(os.Args) >= 2 {
24-
codedir = os.Args[1]
24+
flag.Parse()
25+
var args = flag.Args()
26+
if len(args) >= 1 {
27+
codedir = args[0]
28+
}
29+
if strings.HasPrefix(codedir, "~") {
30+
homedir, err := os.UserHomeDir()
31+
if err != nil {
32+
panic(err)
33+
}
34+
codedir = strings.Replace(codedir, "~", homedir, 1)
35+
}
36+
var err error
37+
codedir, err = filepath.Abs(codedir)
38+
if err != nil {
39+
panic(err)
2540
}
26-
codedir = filepath.Join(pwd, codedir)
2741

2842
db.Allow(codedir)
2943
defer db.Deny(codedir)

0 commit comments

Comments
 (0)