mirror of
https://git.mills.io/saltyim/saltyim.git
synced 2024-06-28 09:41:02 +00:00
Improve error handling for GetIdentity() and missing User address
This commit is contained in:
parent
f5838a65a7
commit
7a3f2e5159
@ -49,7 +49,11 @@ func init() {
|
||||
func chat(identity, uri string, user string) {
|
||||
key, me, err := saltyim.GetIdentity(identity)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error reading identity %q: %s", identity, err)
|
||||
fmt.Fprintf(os.Stderr, "error opening identity: %q", identity)
|
||||
if me.IsZero() {
|
||||
fmt.Fprintf(os.Stderr, "unable to find your user addressn in %q", identity)
|
||||
fmt.Fprintln(os.Stderr, "tip: try adding # user: nick@domain to your identity")
|
||||
}
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
|
@ -66,7 +66,12 @@ func send(identity, user string, args ...string) {
|
||||
|
||||
key, me, err := saltyim.GetIdentity(identity)
|
||||
if err != nil {
|
||||
log.Fatalf("error opening identity: %q", identity)
|
||||
fmt.Fprintf(os.Stderr, "error opening identity: %q", identity)
|
||||
if me.IsZero() {
|
||||
fmt.Fprintf(os.Stderr, "unable to find your user addressn in %q", identity)
|
||||
fmt.Fprintln(os.Stderr, "tip: try adding # user: nick@domain to your identity")
|
||||
}
|
||||
os.Exit(2)
|
||||
}
|
||||
|
||||
var msg string
|
||||
|
@ -1,6 +1,7 @@
|
||||
package saltyim
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
@ -24,7 +25,7 @@ func GetIdentity(fn string) (*keys.EdX25519Key, Addr, error) {
|
||||
id.Seek(0, 0)
|
||||
me, err := ReadUser(id)
|
||||
if err != nil {
|
||||
log.Fatalf("error reading user from keyfile: %q", fn)
|
||||
return key, Addr{}, fmt.Errorf("error reading user from keyfile: %q", fn)
|
||||
}
|
||||
|
||||
return key, me, nil
|
||||
|
@ -17,6 +17,11 @@ type Addr struct {
|
||||
Domain string
|
||||
}
|
||||
|
||||
// IsZero returns true if the address is empty
|
||||
func (a Addr) IsZero() bool {
|
||||
return a.User == "" && a.Domain == ""
|
||||
}
|
||||
|
||||
func (a Addr) String() string {
|
||||
return fmt.Sprint(a.User, "@", a.Domain)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user