]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/client.go
Add .goreleaser.yaml
[rbdr/mobius] / hotline / client.go
index 35a70862e8da6c56401db6d4427070843f352e21..3969e2633e6667f56f15995705998fd33e7945a6 100644 (file)
@@ -290,7 +290,7 @@ func handleGetFileNameList(ctx context.Context, c *Client, t *Transaction) (res
 
        for _, f := range t.Fields {
                var fn FileNameWithInfo
 
        for _, f := range t.Fields {
                var fn FileNameWithInfo
-               err = fn.UnmarshalBinary(f.Data)
+               _, err = fn.Write(f.Data)
                if err != nil {
                        return nil, nil
                }
                if err != nil {
                        return nil, nil
                }
@@ -405,11 +405,12 @@ func handleClientGetUserNameList(ctx context.Context, c *Client, t *Transaction)
                // fields, but shxd sneaks in FieldChatSubject (115) so it's important to filter explicitly for the expected
                // field type.  Probably a good idea to do everywhere.
                if bytes.Equal(field.ID, []byte{0x01, 0x2c}) {
                // fields, but shxd sneaks in FieldChatSubject (115) so it's important to filter explicitly for the expected
                // field type.  Probably a good idea to do everywhere.
                if bytes.Equal(field.ID, []byte{0x01, 0x2c}) {
-                       u, err := ReadUser(field.Data)
-                       if err != nil {
-                               return res, err
+                       var user User
+                       if _, err := user.Write(field.Data); err != nil {
+                               return res, fmt.Errorf("unable to read user data: %w", err)
                        }
                        }
-                       users = append(users, *u)
+
+                       users = append(users, user)
                }
        }
        c.UserList = users
                }
        }
        c.UserList = users
@@ -649,7 +650,6 @@ func (c *Client) Disconnect() error {
        return c.Connection.Close()
 }
 
        return c.Connection.Close()
 }
 
-
 func (c *Client) HandleTransactions(ctx context.Context) error {
        // Create a new scanner for parsing incoming bytes into transaction tokens
        scanner := bufio.NewScanner(c.Connection)
 func (c *Client) HandleTransactions(ctx context.Context) error {
        // Create a new scanner for parsing incoming bytes into transaction tokens
        scanner := bufio.NewScanner(c.Connection)