1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-01 03:22:48 -05:00

Rename FROMFIELD to 'container_of'.

Ian Jackson points out that the Linux kernel has a macro of this name
with the same purpose, and suggests that it's a good idea to use the
same name as they do, so that at least some people reading one code
base might recognise it from the other.

I never really thought very hard about what order FROMFIELD's
parameters should go in, and therefore I'm pleasantly surprised to
find that my order agrees with the kernel's, so I don't have to
permute every call site as part of making this change :-)
This commit is contained in:
Simon Tatham
2018-10-05 23:49:08 +01:00
parent ed652a70e8
commit 9396fcc9f7
47 changed files with 410 additions and 399 deletions

View File

@ -541,7 +541,7 @@ static unifont *x11font_create(GtkWidget *widget, const char *name,
static void x11font_destroy(unifont *font)
{
struct x11font *xfont = FROMFIELD(font, struct x11font, u);
struct x11font *xfont = container_of(font, struct x11font, u);
Display *disp = xfont->disp;
int i;
@ -579,7 +579,7 @@ static void x11_alloc_subfont(struct x11font *xfont, int sfid)
static int x11font_has_glyph(unifont *font, wchar_t glyph)
{
struct x11font *xfont = FROMFIELD(font, struct x11font, u);
struct x11font *xfont = container_of(font, struct x11font, u);
if (xfont->sixteen_bit) {
/*
@ -893,7 +893,7 @@ static void x11font_draw_text(unifont_drawctx *ctx, unifont *font,
int x, int y, const wchar_t *string, int len,
int wide, int bold, int cellwidth)
{
struct x11font *xfont = FROMFIELD(font, struct x11font, u);
struct x11font *xfont = container_of(font, struct x11font, u);
int sfid;
int shadowoffset = 0;
int mult = (wide ? 2 : 1);
@ -1200,7 +1200,7 @@ static char *x11font_scale_fontname(GtkWidget *widget, const char *name,
static char *x11font_size_increment(unifont *font, int increment)
{
struct x11font *xfont = FROMFIELD(font, struct x11font, u);
struct x11font *xfont = container_of(font, struct x11font, u);
Display *disp = xfont->disp;
Atom fontprop = XInternAtom(disp, "FONT", False);
char *returned_name = NULL;
@ -1523,7 +1523,7 @@ static unifont *pangofont_create_fallback(GtkWidget *widget, int height,
static void pangofont_destroy(unifont *font)
{
struct pangofont *pfont = FROMFIELD(font, struct pangofont, u);
struct pangofont *pfont = container_of(font, struct pangofont, u);
pango_font_description_free(pfont->desc);
sfree(pfont->widthcache);
g_object_unref(pfont->fset);
@ -1587,7 +1587,7 @@ static void pangofont_draw_internal(unifont_drawctx *ctx, unifont *font,
int len, int wide, int bold, int cellwidth,
int combining)
{
struct pangofont *pfont = FROMFIELD(font, struct pangofont, u);
struct pangofont *pfont = container_of(font, struct pangofont, u);
PangoLayout *layout;
PangoRectangle rect;
char *utfstring, *utfptr;
@ -2018,7 +2018,7 @@ static char *pangofont_scale_fontname(GtkWidget *widget, const char *name,
static char *pangofont_size_increment(unifont *font, int increment)
{
struct pangofont *pfont = FROMFIELD(font, struct pangofont, u);
struct pangofont *pfont = container_of(font, struct pangofont, u);
PangoFontDescription *desc;
int size;
char *newname, *retname;
@ -2244,7 +2244,7 @@ unifont *multifont_create(GtkWidget *widget, const char *name,
static void multifont_destroy(unifont *font)
{
struct multifont *mfont = FROMFIELD(font, struct multifont, u);
struct multifont *mfont = container_of(font, struct multifont, u);
unifont_destroy(mfont->main);
if (mfont->fallback)
unifont_destroy(mfont->fallback);
@ -2261,7 +2261,7 @@ static void multifont_draw_main(unifont_drawctx *ctx, unifont *font, int x,
int wide, int bold, int cellwidth,
int cellinc, unifont_draw_func_t draw)
{
struct multifont *mfont = FROMFIELD(font, struct multifont, u);
struct multifont *mfont = container_of(font, struct multifont, u);
unifont *f;
int ok, i;
@ -2307,7 +2307,7 @@ static void multifont_draw_combining(unifont_drawctx *ctx, unifont *font,
static char *multifont_size_increment(unifont *font, int increment)
{
struct multifont *mfont = FROMFIELD(font, struct multifont, u);
struct multifont *mfont = container_of(font, struct multifont, u);
return unifont_size_increment(mfont->main, increment);
}
@ -3680,7 +3680,7 @@ unifontsel *unifontsel_new(const char *wintitle)
void unifontsel_destroy(unifontsel *fontsel)
{
unifontsel_internal *fs = FROMFIELD(fontsel, unifontsel_internal, u);
unifontsel_internal *fs = container_of(fontsel, unifontsel_internal, u);
fontinfo *info;
#ifndef NO_BACKING_PIXMAPS
@ -3699,7 +3699,7 @@ void unifontsel_destroy(unifontsel *fontsel)
void unifontsel_set_name(unifontsel *fontsel, const char *fontname)
{
unifontsel_internal *fs = FROMFIELD(fontsel, unifontsel_internal, u);
unifontsel_internal *fs = container_of(fontsel, unifontsel_internal, u);
int i, start, end, size, flags;
const char *fontname2 = NULL;
fontinfo *info;
@ -3759,7 +3759,7 @@ void unifontsel_set_name(unifontsel *fontsel, const char *fontname)
char *unifontsel_get_name(unifontsel *fontsel)
{
unifontsel_internal *fs = FROMFIELD(fontsel, unifontsel_internal, u);
unifontsel_internal *fs = container_of(fontsel, unifontsel_internal, u);
char *name;
if (!fs->selected)

View File

@ -483,7 +483,7 @@ SockAddr *sk_addr_dup(SockAddr *addr)
static Plug *sk_net_plug(Socket *sock, Plug *p)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
Plug *ret = s->plug;
if (p)
s->plug = p;
@ -980,7 +980,7 @@ Socket *sk_newlistener(const char *srcaddr, int port, Plug *plug,
if (address_family == AF_INET6 && orig_address_family == ADDRTYPE_UNSPEC) {
NetSocket *other;
other = FROMFIELD(
other = container_of(
sk_newlistener(srcaddr, port, plug,
local_host_only, ADDRTYPE_IPV4),
NetSocket, sock);
@ -1010,7 +1010,7 @@ Socket *sk_newlistener(const char *srcaddr, int port, Plug *plug,
static void sk_net_close(Socket *sock)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
if (s->child)
sk_net_close(&s->child->sock);
@ -1039,7 +1039,7 @@ void *sk_getxdmdata(Socket *sock, int *lenp)
*/
if (sock->vt != &NetSocket_sockvt)
return NULL; /* failure */
s = FROMFIELD(sock, NetSocket, sock);
s = container_of(sock, NetSocket, sock);
addrlen = sizeof(u);
if (getsockname(s->s, &u.sa, &addrlen) < 0)
@ -1185,7 +1185,7 @@ void try_send(NetSocket *s)
static int sk_net_write(Socket *sock, const void *buf, int len)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
assert(s->outgoingeof == EOF_NO);
@ -1211,7 +1211,7 @@ static int sk_net_write(Socket *sock, const void *buf, int len)
static int sk_net_write_oob(Socket *sock, const void *buf, int len)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
assert(s->outgoingeof == EOF_NO);
@ -1240,7 +1240,7 @@ static int sk_net_write_oob(Socket *sock, const void *buf, int len)
static void sk_net_write_eof(Socket *sock)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
assert(s->outgoingeof == EOF_NO);
@ -1467,13 +1467,13 @@ const char *sk_addr_error(SockAddr *addr)
}
static const char *sk_net_socket_error(Socket *sock)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
return s->error;
}
static void sk_net_set_frozen(Socket *sock, int is_frozen)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
if (s->frozen == is_frozen)
return;
s->frozen = is_frozen;
@ -1482,7 +1482,7 @@ static void sk_net_set_frozen(Socket *sock, int is_frozen)
static char *sk_net_peer_info(Socket *sock)
{
NetSocket *s = FROMFIELD(sock, NetSocket, sock);
NetSocket *s = container_of(sock, NetSocket, sock);
union sockaddr_union addr;
socklen_t addrlen = sizeof(addr);
#ifndef NO_IPV6

View File

@ -104,7 +104,7 @@ static int localproxy_errfd_find(void *av, void *bv)
static Plug *sk_localproxy_plug (Socket *s, Plug *p)
{
LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock);
LocalProxySocket *ps = container_of(s, LocalProxySocket, sock);
Plug *ret = ps->plug;
if (p)
ps->plug = p;
@ -113,7 +113,7 @@ static Plug *sk_localproxy_plug (Socket *s, Plug *p)
static void sk_localproxy_close (Socket *s)
{
LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock);
LocalProxySocket *ps = container_of(s, LocalProxySocket, sock);
if (ps->to_cmd >= 0) {
del234(localproxy_by_tofd, ps);
@ -201,7 +201,7 @@ static int localproxy_try_send(LocalProxySocket *ps)
static int sk_localproxy_write (Socket *s, const void *data, int len)
{
LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock);
LocalProxySocket *ps = container_of(s, LocalProxySocket, sock);
assert(ps->outgoingeof == EOF_NO);
@ -223,7 +223,7 @@ static int sk_localproxy_write_oob (Socket *s, const void *data, int len)
static void sk_localproxy_write_eof (Socket *s)
{
LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock);
LocalProxySocket *ps = container_of(s, LocalProxySocket, sock);
assert(ps->outgoingeof == EOF_NO);
ps->outgoingeof = EOF_PENDING;
@ -233,13 +233,13 @@ static void sk_localproxy_write_eof (Socket *s)
static void sk_localproxy_flush (Socket *s)
{
/* LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock); */
/* LocalProxySocket *ps = container_of(s, LocalProxySocket, sock); */
/* do nothing */
}
static void sk_localproxy_set_frozen (Socket *s, int is_frozen)
{
LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock);
LocalProxySocket *ps = container_of(s, LocalProxySocket, sock);
if (ps->from_cmd < 0)
return;
@ -252,7 +252,7 @@ static void sk_localproxy_set_frozen (Socket *s, int is_frozen)
static const char * sk_localproxy_socket_error (Socket *s)
{
LocalProxySocket *ps = FROMFIELD(s, LocalProxySocket, sock);
LocalProxySocket *ps = container_of(s, LocalProxySocket, sock);
return ps->error;
}

View File

@ -1041,7 +1041,7 @@ static const char *pty_init(Frontend *frontend, Backend **backend_handle,
static void pty_reconfig(Backend *be, Conf *conf)
{
Pty *pty = FROMFIELD(be, Pty, backend);
Pty *pty = container_of(be, Pty, backend);
/*
* We don't have much need to reconfigure this backend, but
* unfortunately we do need to pick up the setting of Close On
@ -1055,7 +1055,7 @@ static void pty_reconfig(Backend *be, Conf *conf)
*/
static void pty_free(Backend *be)
{
Pty *pty = FROMFIELD(be, Pty, backend);
Pty *pty = container_of(be, Pty, backend);
/* Either of these may fail `not found'. That's fine with us. */
del234(ptys_by_pid, pty);
@ -1108,7 +1108,7 @@ static void pty_try_write(Pty *pty)
*/
static int pty_send(Backend *be, const char *buf, int len)
{
Pty *pty = FROMFIELD(be, Pty, backend);
Pty *pty = container_of(be, Pty, backend);
if (pty->master_fd < 0)
return 0; /* ignore all writes if fd closed */
@ -1138,7 +1138,7 @@ static void pty_close(Pty *pty)
*/
static int pty_sendbuffer(Backend *be)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
return 0;
}
@ -1147,7 +1147,7 @@ static int pty_sendbuffer(Backend *be)
*/
static void pty_size(Backend *be, int width, int height)
{
Pty *pty = FROMFIELD(be, Pty, backend);
Pty *pty = container_of(be, Pty, backend);
struct winsize size;
pty->term_width = width;
@ -1168,7 +1168,7 @@ static void pty_size(Backend *be, int width, int height)
*/
static void pty_special(Backend *be, SessionSpecialCode code, int arg)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
/* Do nothing! */
return;
}
@ -1179,7 +1179,7 @@ static void pty_special(Backend *be, SessionSpecialCode code, int arg)
*/
static const SessionSpecial *pty_get_specials(Backend *be)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
/*
* Hmm. When I get round to having this actually usable, it
* might be quite nice to have the ability to deliver a few
@ -1191,43 +1191,43 @@ static const SessionSpecial *pty_get_specials(Backend *be)
static int pty_connected(Backend *be)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
return TRUE;
}
static int pty_sendok(Backend *be)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
return 1;
}
static void pty_unthrottle(Backend *be, int backlog)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
/* do nothing */
}
static int pty_ldisc(Backend *be, int option)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
return 0; /* neither editing nor echoing */
}
static void pty_provide_ldisc(Backend *be, Ldisc *ldisc)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
/* This is a stub. */
}
static void pty_provide_logctx(Backend *be, LogContext *logctx)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
/* This is a stub. */
}
static int pty_exitcode(Backend *be)
{
Pty *pty = FROMFIELD(be, Pty, backend);
Pty *pty = container_of(be, Pty, backend);
if (!pty->finished)
return -1; /* not dead yet */
else
@ -1236,7 +1236,7 @@ static int pty_exitcode(Backend *be)
static int pty_cfg_info(Backend *be)
{
/* Pty *pty = FROMFIELD(be, Pty, backend); */
/* Pty *pty = container_of(be, Pty, backend); */
return 0;
}

View File

@ -350,7 +350,7 @@ static void serial_close(Serial *serial)
static void serial_free(Backend *be)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
serial_close(serial);
@ -361,7 +361,7 @@ static void serial_free(Backend *be)
static void serial_reconfig(Backend *be, Conf *conf)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
/*
* FIXME: what should we do if this returns an error?
@ -465,7 +465,7 @@ static void serial_try_write(Serial *serial)
*/
static int serial_send(Backend *be, const char *buf, int len)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
if (serial->fd < 0)
return 0;
@ -481,7 +481,7 @@ static int serial_send(Backend *be, const char *buf, int len)
*/
static int serial_sendbuffer(Backend *be)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
return bufchain_size(&serial->output_data);
}
@ -499,7 +499,7 @@ static void serial_size(Backend *be, int width, int height)
*/
static void serial_special(Backend *be, SessionSpecialCode code, int arg)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
if (serial->fd >= 0 && code == SS_BRK) {
tcsendbreak(serial->fd, 0);
@ -534,7 +534,7 @@ static int serial_sendok(Backend *be)
static void serial_unthrottle(Backend *be, int backlog)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
serial->inbufsize = backlog;
serial_uxsel_setup(serial);
}
@ -559,7 +559,7 @@ static void serial_provide_logctx(Backend *be, LogContext *logctx)
static int serial_exitcode(Backend *be)
{
Serial *serial = FROMFIELD(be, Serial, backend);
Serial *serial = container_of(be, Serial, backend);
if (serial->fd >= 0)
return -1; /* still connected */
else