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) {
|
func chat(identity, uri string, user string) {
|
||||||
key, me, err := saltyim.GetIdentity(identity)
|
key, me, err := saltyim.GetIdentity(identity)
|
||||||
if err != nil {
|
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)
|
os.Exit(2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,12 @@ func send(identity, user string, args ...string) {
|
|||||||
|
|
||||||
key, me, err := saltyim.GetIdentity(identity)
|
key, me, err := saltyim.GetIdentity(identity)
|
||||||
if err != nil {
|
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
|
var msg string
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package saltyim
|
package saltyim
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ func GetIdentity(fn string) (*keys.EdX25519Key, Addr, error) {
|
|||||||
id.Seek(0, 0)
|
id.Seek(0, 0)
|
||||||
me, err := ReadUser(id)
|
me, err := ReadUser(id)
|
||||||
if err != nil {
|
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
|
return key, me, nil
|
||||||
|
@ -17,6 +17,11 @@ type Addr struct {
|
|||||||
Domain string
|
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 {
|
func (a Addr) String() string {
|
||||||
return fmt.Sprint(a.User, "@", a.Domain)
|
return fmt.Sprint(a.User, "@", a.Domain)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user