mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-06-30 19:12:48 -05:00
Get rid of lots of implicit pointer types.
All the main backend structures - Ssh, Telnet, Pty, Serial etc - now describe structure types themselves rather than pointers to them. The same goes for the codebase-wide trait types Socket and Plug, and the supporting types SockAddr and Pinger. All those things that were typedefed as pointers are older types; the newer ones have the explicit * at the point of use, because that's what I now seem to be preferring. But whichever one of those is better, inconsistently using a mixture of the two styles is worse, so let's make everything consistent. A few types are still implicitly pointers, such as Bignum and some of the GSSAPI types; generally this is either because they have to be void *, or because they're typedefed differently on different platforms and aren't always pointers at all. Can't be helped. But I've got rid of the main ones, at least.
This commit is contained in:
14
defs.h
14
defs.h
@ -40,7 +40,7 @@ typedef struct BinarySource BinarySource;
|
||||
|
||||
typedef struct IdempotentCallback IdempotentCallback;
|
||||
|
||||
typedef struct SockAddr_tag *SockAddr;
|
||||
typedef struct SockAddr SockAddr;
|
||||
|
||||
typedef struct Socket_vtable Socket_vtable;
|
||||
typedef struct Plug_vtable Plug_vtable;
|
||||
@ -53,7 +53,7 @@ typedef struct LogContext_tag LogContext;
|
||||
|
||||
typedef struct Frontend Frontend;
|
||||
|
||||
typedef struct ssh_tag *Ssh;
|
||||
typedef struct Ssh Ssh;
|
||||
|
||||
typedef struct Channel Channel;
|
||||
typedef struct SshChannel SshChannel;
|
||||
@ -74,14 +74,8 @@ typedef struct settings_e settings_e;
|
||||
|
||||
typedef struct SessionSpecial SessionSpecial;
|
||||
|
||||
/* Note indirection: for historical reasons (it used to be closer to
|
||||
* the OS socket type), the type that most code uses for a socket is
|
||||
* 'Socket', not 'Socket *'. So an implementation of Socket or Plug
|
||||
* has a 'const Socket *' field for the vtable pointer, and the
|
||||
* 'Socket' type returned to client code is a pointer to _that_ in
|
||||
* turn. */
|
||||
typedef const Socket_vtable **Socket;
|
||||
typedef const Plug_vtable **Plug;
|
||||
typedef const Socket_vtable *Socket;
|
||||
typedef const Plug_vtable *Plug;
|
||||
|
||||
/*
|
||||
* A small structure wrapping up a (pointer, length) pair so that it
|
||||
|
Reference in New Issue
Block a user