=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/client.c,v retrieving revision 1.6 retrieving revision 1.7 diff -c -r1.6 -r1.7 *** src/usr.bin/tmux/client.c 2009/07/23 21:19:11 1.6 --- src/usr.bin/tmux/client.c 2009/07/26 12:58:44 1.7 *************** *** 1,4 **** ! /* $OpenBSD: client.c,v 1.6 2009/07/23 21:19:11 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: client.c,v 1.7 2009/07/26 12:58:44 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 44,51 **** struct winsize ws; size_t size; int mode; ! struct buffer *b; ! char *name; char rpathbuf[MAXPATHLEN]; if (realpath(path, rpathbuf) == NULL) --- 44,50 ---- struct winsize ws; size_t size; int mode; ! char *name, *term; char rpathbuf[MAXPATHLEN]; if (realpath(path, rpathbuf) == NULL) *************** *** 103,122 **** data.flags = flags; data.sx = ws.ws_col; data.sy = ws.ws_row; ! *data.tty = '\0'; if (getcwd(data.cwd, sizeof data.cwd) == NULL) *data.cwd = '\0'; if ((name = ttyname(STDIN_FILENO)) == NULL) fatal("ttyname failed"); if (strlcpy(data.tty, name, sizeof data.tty) >= sizeof data.tty) fatalx("ttyname failed"); ! b = buffer_create(BUFSIZ); ! cmd_send_string(b, getenv("TERM")); ! client_write_server2(cctx, MSG_IDENTIFY, ! &data, sizeof data, BUFFER_OUT(b), BUFFER_USED(b)); ! buffer_destroy(b); } return (0); --- 102,125 ---- data.flags = flags; data.sx = ws.ws_col; data.sy = ws.ws_row; ! if (getcwd(data.cwd, sizeof data.cwd) == NULL) *data.cwd = '\0'; + *data.term = '\0'; + if ((term = getenv("TERM")) != NULL) { + if (strlcpy(data.term, + term, sizeof data.term) >= sizeof data.term) + *data.term = '\0'; + } + + *data.tty = '\0'; if ((name = ttyname(STDIN_FILENO)) == NULL) fatal("ttyname failed"); if (strlcpy(data.tty, name, sizeof data.tty) >= sizeof data.tty) fatalx("ttyname failed"); ! client_write_server(cctx, MSG_IDENTIFY, &data, sizeof data); } return (0);