| 1833 |
pvar->ssh_state.win_cols = cols; |
pvar->ssh_state.win_cols = cols; |
| 1834 |
pvar->ssh_state.win_rows = rows; |
pvar->ssh_state.win_rows = rows; |
| 1835 |
|
|
| 1836 |
if (get_handler(pvar, SSH_SMSG_STDOUT_DATA) == handle_data) { |
if (SSHv1(pvar)) { |
| 1837 |
unsigned char FAR *outmsg = |
if (get_handler(pvar, SSH_SMSG_STDOUT_DATA) == handle_data) { |
| 1838 |
begin_send_packet(pvar, SSH_CMSG_WINDOW_SIZE, 16); |
unsigned char FAR *outmsg = |
| 1839 |
|
begin_send_packet(pvar, SSH_CMSG_WINDOW_SIZE, 16); |
| 1840 |
|
|
| 1841 |
|
set_uint32(outmsg, rows); |
| 1842 |
|
set_uint32(outmsg + 4, cols); |
| 1843 |
|
set_uint32(outmsg + 8, 0); |
| 1844 |
|
set_uint32(outmsg + 12, 0); |
| 1845 |
|
finish_send_packet(pvar); |
| 1846 |
|
} |
| 1847 |
|
|
| 1848 |
set_uint32(outmsg, rows); |
} else { // ターミナルサイズ変更通知の追加 (2005.1.4 yutaka) |
| 1849 |
set_uint32(outmsg + 4, cols); |
buffer_t *msg; |
| 1850 |
set_uint32(outmsg + 8, 0); |
char *s; |
| 1851 |
set_uint32(outmsg + 12, 0); |
unsigned char *outmsg; |
| 1852 |
|
int len; |
| 1853 |
|
|
| 1854 |
|
msg = buffer_init(); |
| 1855 |
|
if (msg == NULL) { |
| 1856 |
|
// TODO: error check |
| 1857 |
|
return; |
| 1858 |
|
} |
| 1859 |
|
buffer_put_int(msg, pvar->remote_id); |
| 1860 |
|
s = "window-change"; |
| 1861 |
|
buffer_put_string(msg, s, strlen(s)); |
| 1862 |
|
buffer_put_char(msg, 0); // wantconfirm |
| 1863 |
|
buffer_put_int(msg, pvar->ssh_state.win_cols); // columns |
| 1864 |
|
buffer_put_int(msg, pvar->ssh_state.win_rows); // lines |
| 1865 |
|
buffer_put_int(msg, 480); // XXX: |
| 1866 |
|
buffer_put_int(msg, 640); // XXX: |
| 1867 |
|
len = buffer_len(msg); |
| 1868 |
|
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_REQUEST, len); |
| 1869 |
|
memcpy(outmsg, buffer_ptr(msg), len); |
| 1870 |
finish_send_packet(pvar); |
finish_send_packet(pvar); |
| 1871 |
|
buffer_free(msg); |
| 1872 |
|
|
| 1873 |
} |
} |
| 1874 |
} |
} |
| 1875 |
|
|
| 4994 |
|
|
| 4995 |
/* |
/* |
| 4996 |
* $Log: not supported by cvs2svn $ |
* $Log: not supported by cvs2svn $ |
| 4997 |
|
* Revision 1.11 2004/12/27 14:22:16 yutakakn |
| 4998 |
|
* メモリリークを修正。 |
| 4999 |
|
* |
| 5000 |
* Revision 1.10 2004/12/27 14:05:08 yutakakn |
* Revision 1.10 2004/12/27 14:05:08 yutakakn |
| 5001 |
* 'Auto window close'が有効の場合、切断後の接続ができない問題を修正した。 |
* 'Auto window close'が有効の場合、切断後の接続ができない問題を修正した。 |
| 5002 |
* ・スレッドの終了待ち合わせ処理の追加 |
* ・スレッドの終了待ち合わせ処理の追加 |