changeset 14:1e44fe6dcfaa

*** empty log message ***
author kono
date Sun, 31 Aug 2008 15:24:59 +0900
parents c8b79e6953b5
children 8634ceb0aeef
files src/reditor.c
diffstat 1 files changed, 8 insertions(+), 705 deletions(-) [+]
line wrap: on
line diff
--- a/src/reditor.c	Sun Aug 31 15:10:53 2008 +0900
+++ b/src/reditor.c	Sun Aug 31 15:24:59 2008 +0900
@@ -1,5 +1,4 @@
 #include <stdio.h>
-#include <strings.h>
 #include <stdlib.h>
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -16,8 +15,6 @@
 
 /* Wrapper for Vim */
 static void e_msg_wrp(char *msg);
-static void e_msg2_wrp(char *msg1, char *msg2);
-static void puts_msg_wrpt(char *msg);
 static void free_wrp(void *p);
 static BUFTYPE* make_new_buf_wrp(char *name);
 static void free_buf_wrp(BUFTYPE *buf);
@@ -28,24 +25,16 @@
 static char* get_memline_wrp(BUFTYPE *buf, long lnum);
 static int append_memline_wrp(long lnum, char *text);
 static int delete_memline_wrp(long lnum);
-static int replace_memline_wrp(long lnum, char *text);
 static void update_screen_now_wrp();
-static void update_screen_later_wrp(BUFTYPE *buf);
 static long get_bufmaxline_wrp(BUFTYPE* buf);
 static char* getstr_input_wrp(char *msg);
 static char *get_fullpath_wrp(BUFTYPE *buf);
-static char *get_shortname_wrp(BUFTYPE *buf);
 /* Wrapper END */
 
 
 static rep_T* get_rep();
 
 static int del_ignored_cmd(rep_cmdlist *cmdlist);
-static int translate(rep_cmdlist *userlist, rep_cmdlist *tokenlist);
-static void set_header_to_pkt(rep_cmdlist *cmdlist);
-static int rep_get_listened_fd();
-static int set_hostnamebysock(int sock, char *hostname, int maxlen);
-static int rep_accept();
 static int rep_connect(char *host);
 
 static void* rep_alloc(int size);
@@ -60,17 +49,8 @@
 static Session* set_cursession(Session *sn);
 static Session* find_session_by_buf(BUFTYPE *buf);
 static Session* find_session_by_name(char *name);
-static int set_session_info(char *dest_sinfo, char *sname, char *hostname, int port);
 static char* get_fullpath(Session *session);
-static char* get_shortname(Session *session);
 
-static int make_local_slineup(Session *slineup,
-                              char *hostname,
-                              Session *my_sessions);
-static int get_slineup_from_sm(char *servername,
-                               Session *slineup,
-                               char *hostname,
-                               Session *my_sessions);
 static char* get_sname_by_snum(int snum);
 static int writen(int fd, char *textbuf, unsigned int len);
 
@@ -80,7 +60,6 @@
                          unsigned int seq,
                          unsigned int lnum,
                          char *text);
-static char* make_open_packet(char *file_name);
 static rep_cmd* make_cmd(unsigned int cmd,
                          unsigned int sid,
                          unsigned int eid,
@@ -90,7 +69,6 @@
 static int free_cmd(rep_cmd *cmd);
 static int free_cmdlist(rep_cmdlist *cmdlist);
 static void add_cmd_to_list(rep_cmdlist *cmdlist, rep_cmd *cmd);
-static int add_pkt_to_list(rep_cmdlist *cmdlist, char *pkt);
 
 static void check_line_change(Session *sn, unsigned int lnum);
 
@@ -106,13 +84,10 @@
                        char *text);
 static int rep_exe_pkt(char *pkt);
 static int rep_exe_pktlist(rep_cmdlist *cmdlist);
-static int rep_exe_cmdlist(rep_cmdlist *cmdlist);
 
 static int rep_recv_cmds(int fd, rep_cmdlist *smcmdlist,rep_cmdlist *txtcmdlist);
 static int rep_send_cmds(int fd, rep_cmdlist *cmdlist);
 
-static int session_fd_check(Session *sn, fd_set *rfds_p, fd_set *efds_p);
-static int session_fd_set(Session *sn, fd_set *rfds_p, fd_set *efds_p, int max_fds);
 static int append_newline_sep_text(Session *sn, char *text);
 
 /* g_rep has an all information of Remote Editor */
@@ -132,14 +107,6 @@
     EMSG(msg);
 }
 
-static void
-e_msg2_wrp(msg1, msg2)
-    char * msg1;
-    char * msg2;
-{
-    EMSG2(msg1,msg2);
-}
-
 /* 通常のメッセージを出力 */
 static void
 puts_msg_wrp(msg)
@@ -180,11 +147,9 @@
     char * name;
 {
     char *sfname = NULL; // sfname is used name's address
-    BUFTYPE *buf;
-    BUFTYPE *orgbuf;
+    
+    BUFTYPE *buf = NULL;  //???
 
-    /* make a full file name.  name is changed to absolute path.
-     * name's address is assigned to sfname. */
     fname_expand(buf, (char_u**)&name, (char_u**)&sfname);
     buf = buflist_findname((char_u*)name);
 
@@ -197,10 +162,6 @@
     BUFTYPE *buf;
 {
     BUFTYPE *oldbuf;
-    /*
-    oldbuf = set_curbuf_wrp(buf);
-    set_curbuf_wrp(oldbuf);
-    */
     oldbuf = curbuf;
     curbuf = buf;
     open_buffer(FALSE, NULL);
@@ -283,25 +244,6 @@
     return r;
 }
 
-/* 編集中のバッファの行の置換 */
-static int
-replace_memline_wrp(lnum, text)
-    long lnum;
-    char * text;
-{
-    int r;
-    int permit;
-    rep_T *rep;
-    rep = get_rep();
-    permit = rep->permit;
-    rep->permit = FALSE;
-
-    r = ml_replace(lnum, (char_u*)text, TRUE);
-
-    rep->permit = permit;
-    return r;
-}
-
 /* バッファの編集後の後処理 */
 static void 
 update_screen_now_wrp()
@@ -311,14 +253,6 @@
     return;
 }
 
-static void
-update_screen_later_wrp(buf)
-    BUFTYPE *buf;
-{
-    check_cursor();
-    return redraw_buf_later(buf, CLEAR);
-}
-
 /* 編集中のバッファの行数を返す */
 static long
 get_bufmaxline_wrp(buf)
@@ -350,13 +284,6 @@
     return (char*)buf->b_ffname;
 }
 
-/* get short name of buffer */
-static char *
-get_shortname_wrp(buf)
-    BUFTYPE *buf;
-{
-    return (char*)buf->b_sfname;
-}
 
 /* Wrapper END */
 
@@ -472,255 +399,6 @@
 }
 
 
-/***** translate(UserList, ToknList) *****
-  入力はトークンとユーザ入力からのREPコマンドのリストで、
-  それらを比較・変換して、二つのREPコマンドリストを生成する。
-
-              -------------
-  UserList  ->|           | -> UserList'
-              | translate |
-  ToknList  ->|           | -> ToknList'
-              -------------
-
-  Session ID が異なるときは、可換なので、何もしない。
-
-  ToknList + UserList' をトークンとして次のリモートエディタに渡し、
-  ToknList' は自分のバッファに反映させる。
-              
-  比較時に行番号が重なったときの処理は以下の表。
-  なるべくテキストが残るようにしている。
-  x\y は、TOKEN を x, USER を y するという意味。
-  0  -- なにもしない
-  +1 -- 行番号を +1
-  i  -- コマンド id を 'i' にする。
-  X  -- コマンドを削除(無視に)する。
-
-              USER
-       |  i   |  r   |  d
-    ---|--------------------
-  T  i | 0\+1 | 0\+1 | 0\+1
-  O ---|--------------------
-  K  r | +1\0 | 0\X  | i\X
-  E ---|--------------------
-  N  d | +1\0 | X\i  | X\X
-
-  無視にされた(stat に REP_IGNORE が入っている)REPコマンドは、
-  全ての比較が終了したときにリストから削除される。
-*/
-static int
-translate(userlist, tokenlist) /* userのREPコマンドリスト, tokenのREPコマンドリスト */
-    rep_cmdlist *userlist;
-    rep_cmdlist *tokenlist;
-{
-    rep_cmd *usercmd;
-    rep_cmd *tokencmd;
-    rep_cmd *unext;
-    rep_cmd *tnext;
-
-    rep_cmd *h_pricmd; // high priority command
-    rep_cmd *l_pricmd; // low priority command
-    
-    for (usercmd=userlist->head; usercmd; usercmd=unext) {
-        unext = usercmd->next;
-        
-        /* 削除される(予定)のREPコマンドの比較は無視 */
-        if (usercmd->stat == REP_IGNORE) continue;
-
-        for (tokencmd=tokenlist->head; tokencmd; tokencmd=tnext) {
-            tnext=tokencmd->next;
-
-            /* 削除される(予定)のREPコマンドの比較は無視 */
-            if (tokencmd->stat == REP_IGNORE) continue;
-            /* XXX 消してもいい??*/
-            if ( tokencmd->cmd  != REP_INSERT_CMD &&
-                 tokencmd->cmd  != REP_DELETE_LINE_CMD &&
-                 tokencmd->cmd  != REP_REPLACE_CMD) {
-                 tokencmd->stat = REP_IGNORE;
-                 continue;
-            }
-            if (usercmd->stat == REP_IGNORE) break;
-            if ( usercmd->cmd  != REP_INSERT_CMD &&
-                 usercmd->cmd  != REP_DELETE_LINE_CMD &&
-                 usercmd->cmd  != REP_REPLACE_CMD) {
-                 usercmd->stat = REP_IGNORE;
-                 break;
-            }
-	    if (usercmd->sid != tokencmd->sid) {
-		// session id が違う場合は何しない
-		continue;
-	    }
-            if (usercmd->lnum < tokencmd->lnum) {        /* UsersLineNumber < TokensLineNumber */
-                if (usercmd->cmd == REP_INSERT_CMD) {
-                    tokencmd->lnum++;
-                } else if (usercmd->cmd == REP_DELETE_LINE_CMD) {
-                    tokencmd->lnum--;
-                }
-            } else if (usercmd->lnum > tokencmd->lnum) {  /* UsersLineNumber > TokensLineNumber */
-                if (tokencmd->cmd == REP_INSERT_CMD) {
-                    usercmd->lnum++;
-                } else if (tokencmd->cmd == REP_DELETE_LINE_CMD) {
-                    usercmd->lnum--;
-                }
-            } else if (usercmd->lnum == tokencmd->lnum) { /* UsersLineNumber == TokensLineNumber */
-
-#if 0
-                /*
-                 * 行番号が重なるとREPコマンドの競合が起こるので、
-                 * どちらかが譲らないといけない。
-                 * uid が小さい方を優先(h_pricmdに)し、
-                 * uid が大きい方(l_pricmd)を変更する。
-                 */
-                
-                if (usercmd->eid < tokencmd->eid) {
-                    h_pricmd = usercmd;
-                    l_pricmd = tokencmd;
-                } else {
-                    h_pricmd = tokencmd;
-                    l_pricmd = usercmd;
-                }
-#else
-		/*
-		    無条件に、自分の方が優先
-	         */
-		h_pricmd = usercmd;
-		l_pricmd = tokencmd;
-#endif
-                
-                if (h_pricmd->cmd == REP_INSERT_CMD) {
-                    l_pricmd->lnum++;
-                } else if (h_pricmd->cmd == REP_REPLACE_CMD) {
-
-                    if (l_pricmd->cmd == REP_INSERT_CMD) {
-                        h_pricmd->lnum++;
-                    } else if (l_pricmd->cmd == REP_REPLACE_CMD) {
-                        /* h_pricmd が優先され,l_pricmd は削除(無視に)する */
-                        l_pricmd->stat = REP_IGNORE;
-                    } else if (l_pricmd->cmd == REP_DELETE_LINE_CMD) {
-                        /*
-                         * l_pricmd 側ではすでにdeleteされているので、
-                         * h_pricmd を REP_REPLACE_CMD -> REP_INSERT_CMD へ変更。
-                         */
-                        h_pricmd->cmd = REP_INSERT_CMD;
-                        l_pricmd->stat = REP_IGNORE;
-                    }
-                    
-                } else if (h_pricmd->cmd == REP_DELETE_LINE_CMD) {
-
-                    if (l_pricmd->cmd == REP_INSERT_CMD) {
-                        h_pricmd->lnum++;
-                    } else if (l_pricmd->cmd == REP_REPLACE_CMD) {
-                        /*
-                         * h_pricmd 側ではすでにdeleteされているので、
-                         * l_pricmd 側を REP_REPLACE_CMD -> REP_INSERT_CMD へ変更。
-                         */
-                        l_pricmd->cmd = REP_INSERT_CMD;
-                        h_pricmd->stat= REP_IGNORE;
-                    } else if (l_pricmd->cmd == REP_DELETE_LINE_CMD) {
-                        /*
-                         * 相手と削除する行が重なるので、
-                         * 両方のコマンドを無視にする。
-                         * 相手先ではすでにこの行は削除されている。
-                         */
-                        h_pricmd->stat = REP_IGNORE;
-                        l_pricmd->stat = REP_IGNORE;
-                        break;
-                    } else {
-                    }
-                } else {
-                }
-            }
-        }
-    }
-
-    return(TRUE);    
-}
-
-
-static void
-set_header_to_pkt(cmdlist)
-    rep_cmdlist *cmdlist;
-{
-    rep_cmd *curcmd;
-    for (curcmd=cmdlist->head; curcmd; curcmd=curcmd->next) {
-        set_header(curcmd->cmd, curcmd->pkt, REP_CMD_OFFSET);
-        set_header(curcmd->sid, curcmd->pkt, REP_SID_OFFSET);
-        set_header(curcmd->eid, curcmd->pkt, REP_EID_OFFSET);
-        set_header(curcmd->seq, curcmd->pkt, REP_SEQNUM_OFFSET);
-        set_header(curcmd->len, curcmd->pkt, REP_T_SIZE_OFFSET);
-        set_header(curcmd->lnum, curcmd->pkt, REP_LNUM_OFFSET);
-    }
-    return;
-}
-
-static int
-rep_get_listened_fd()
-{
-    int sock;
-    int value;
-    struct sockaddr_in addr;
-    
-    if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
-        e_msg_wrp("socket(): ERROR");
-        return(-1);
-    }
-
-    /* Allow other programs to bind to the socket */
-    value = 1;
-    if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value)) < 0) {
-        e_msg_wrp("setsockopt() REUSEADDR failed");
-        exit(1);
-    }
-
-    bzero((char*)&addr, sizeof(addr));
-    
-    addr.sin_family = AF_INET;
-    addr.sin_addr.s_addr = INADDR_ANY;
-    addr.sin_port = htons(REP_PORT);
-    
-    if ((bind(sock, (struct sockaddr*)&addr, sizeof(addr))) == -1) {
-        e_msg_wrp("bind(): ERROR");
-        return(-1);
-    }
-    
-    if ((listen(sock, SOCK_MAX)) < 0) {
-        e_msg_wrp("listen(): ERROR");
-        return(-1);
-    }
-    
-    return(sock);
-}
-
-static int
-set_hostnamebysock(sock,hostname,maxlen)
-    int sock;
-    char *hostname;
-    int maxlen;
-{
-    int sinlen;
-    struct sockaddr_in sin;
-    struct hostent *host;
-    int namelen;
-    
-    sinlen = sizeof sin;
-    if (getpeername(sock, (struct sockaddr *) &sin, (socklen_t *)&sinlen) < 0){
-        return(FALSE);
-    }
-    
-    if ((host = gethostbyaddr((char *) &sin.sin_addr, sizeof(sin.sin_addr), AF_INET)) == NULL){
-        return(FALSE);
-    }
-
-    namelen = strlen(host->h_name);
-    if (namelen > maxlen) {
-        e_msg_wrp("host name is too long.");
-        return(FALSE);
-    }
-
-    strncpy(hostname,host->h_name,namelen);
-    hostname[namelen] = '\0';
-    return(TRUE);
-}
-
 static char default_host[] = "localhost";
 
 static int
@@ -733,7 +411,7 @@
     char *tmp;
     int port;
    
-    if (host == NULL || host == '\n') {
+    if (host == NULL || *host == '\n') {
 	host = default_host;
 	port = REP_PORT;
     } else {
@@ -888,7 +566,7 @@
 set_cursession(sn)
     Session *sn;
 {
-    BUFTYPE *oldbuf;
+    BUFTYPE *oldbuf = NULL;
     Session *oldsn;
     rep_T *rep = get_rep();
 
@@ -968,19 +646,6 @@
 }
 
 
-static int
-set_session_info(dest_sinfo, sname, hostname, port)
-    char *dest_sinfo;
-    char *sname;
-    char *hostname;
-    int port;
-{
-    int size;
-    size = sprintf(dest_sinfo, "%s:%d:%s",hostname, port, sname);
-    dest_sinfo[size] = '\0';
-    return 0;
-}
-
 static char*
 get_fullpath(session)
     Session *session;
@@ -994,59 +659,10 @@
     return get_fullpath_wrp(buf);
 }
 
-static char*
-get_shortname(session)
-    Session *session;
-{
-    return get_shortname_wrp(session->buf);
-}
-
-
 
 /* End Session */
 
-#define SINFO_MAX 255
-/*
- * 自身が提供するセッションのみをセッションリストに書き出す
- * あらかじめセッションリストのバッファを編集対象のバッファに
- *指定しておく(set_curbuf_wrp(slineup)しておく)
- */
-static int
-make_local_slineup(slineup, hostname, my_sessions)
-    Session *slineup;
-    char *hostname;
-    Session *my_sessions;
-{
-    Session *s;
-    BUFTYPE *oldcurbuf;
-    char sinfo[SINFO_MAX];
 
-    if (my_sessions == NULL) return FALSE;
-    
-    for (; my_sessions; my_sessions=my_sessions->next) {
-        set_session_info(sinfo, my_sessions->sname, hostname, REP_PORT);
-        /* 現在の編集対象のバッファ curbuf に対して書き込みを行なう */
-        append_memline_wrp(1, sinfo);
-    }
-
-    return TRUE;
-}
-
-
-/*
- * セッションマネージャからセッションリストを取得
- * あらかじめセッションリストのバッファを編集対象のバッファに
- *指定しておく(set_curbuf_wrp(buf)しておく)
- */
-static int
-get_slineup_from_sm(servername, slineup, hostname, my_sessions)
-    char *servername;
-    Session *slineup;
-    char *hostname;
-    Session *my_sessions;  // linked list
-{
-    return TRUE;
-}
 
 
 char *
@@ -1142,7 +758,6 @@
     rep_T *rep = get_rep();
     rep_cmdlist cmdlist = {NULL, 0};
     int len;
-    Session *sn;
 
     if ((sock = rep_connect(NULL)) < 0) {
         return FALSE;
@@ -1161,14 +776,6 @@
         }
     }
 
-    /*
-    if (find_session_by_name(sname) == NULL) {
-        sn = make_session(sname, get_buf_by_name(sname));
-        register_session(sn);
-    }
-    */
-
-    
     if (rep->waiting_session_name) {
         rep_free(rep->waiting_session_name);
     }
@@ -1207,41 +814,6 @@
     return TRUE;
 }
 
-static int
-rep_make_slineup()
-{
-    BUFTYPE buf;
-//    BUFTYPE *oldcurbuf;
-    Session *oldsn;
-
-    rep_T *rep;
-    rep = get_rep();
-
-    if (rep->slineup) {
-        free_session(rep->slineup);
-    }
-    
-    rep->slineup = make_session(SLINEUP_NAME, make_new_buf_wrp(SLINEUP_NAME));
-    
-    oldsn = set_cursession(rep->slineup);
-
-    /* セッション一覧リストを作成 */
-    if ((get_slineup_from_sm(rep->servername, rep->slineup, rep->hostname, rep->shead) == FALSE)) {
-        make_local_slineup(rep->slineup, rep->hostname, rep->shead);
-    }
-
-    update_screen_now_wrp(); /* ウィンドウを再描画 */
-        
-    return TRUE;
-}
-
-
-static int
-enter_session(session_name)
-    char *session_name;
-{
-    return TRUE;
-}
 
 
 /* Session End */
@@ -1437,38 +1009,6 @@
     return;
 }
 
-static int
-add_pkt_to_list(cmdlist, pkt) /* pkt is allocated */
-    rep_cmdlist *cmdlist;
-    char *pkt;
-{
-    rep_cmd *cmd_p;
-
-    if (pkt == NULL) return(FALSE);
-    
-    cmd_p = (rep_cmd*)rep_alloc(sizeof(rep_cmd));
-    if (cmd_p == NULL) {
-        e_msg_wrp("add_pkt_to_list: no memory: ERROR");
-        return(FALSE);
-    }
-
-    cmd_p->next = NULL;
-
-    cmd_p->cmd  = get_header(pkt, REP_CMD_OFFSET);
-    cmd_p->sid  = get_header(pkt, REP_SID_OFFSET);
-    cmd_p->eid  = get_header(pkt, REP_EID_OFFSET);
-    cmd_p->seq  = get_header(pkt, REP_SEQNUM_OFFSET);
-    cmd_p->lnum = get_header(pkt, REP_LNUM_OFFSET);
-
-    cmd_p->stat = REP_AVAIL;
-    cmd_p->len  = strlen(pkt)+1 - REP_HEADER_SIZE;
-    cmd_p->pkt  = pkt;
-
-    add_cmd_to_list(cmdlist, cmd_p);
-    
-    return(TRUE);
-}
-
 
 void
 rep_prevline_flush()
@@ -1478,6 +1018,7 @@
     rep_cmd *cmd;
     rep_T *rep = get_rep();
     char *text;
+    char *prev_text = NULL;
     
     cursn = rep->cursession;
 
@@ -1496,7 +1037,7 @@
     //cmd = make_cmd(REP_REPLACE_CMD, cursn->sid, rep->eid, rep->seqno++, cursn->prevline, text);
 
     // TODO : 変更前のテキストを UNDO バッファから取得する
-    cmd = make_cmd(REP_DELETE_CMD, cursn->sid, rep->eid, rep->seqno++, cursn->prevline, prev_text);
+    cmd = make_cmd(REP_DELETE_LINE_CMD, cursn->sid, rep->eid, rep->seqno++, cursn->prevline, prev_text);
     cmd->next = make_cmd(REP_INSERT_CMD, cursn->sid, rep->eid, rep->seqno++, cursn->prevline, text);
     
     add_cmd_to_list(&(cursn->new_cmdlist), cmd);
@@ -1633,18 +1174,12 @@
     unsigned int textsize;
     char *text;
 {
-    char h_name[50];
     rep_cmdlist tmplist = {NULL, 0};
-    rep_cmd *repcmd;
-    BUFTYPE *buf;
     rep_T *rep = get_rep();
     Session *session;
     
-    unsigned int buflenmax;
-
     session = find_session_by_id(sid);
 
-    /*XXX 無理矢理 */
     if (textsize == 0) {
         text = NULL;
     }
@@ -1664,36 +1199,6 @@
             rep->eid = eid;
         }
         break;
-/*
-    case REP_SELECT_ACK:
-        // text is error message. means occur ERROR in session manager
-        if (text) {
-            e_msg_wrp(text);
-            return FALSE;
-        }
-
-        // DON'T wait session from session manager
-        if (! rep->waiting_session_name) {
-            return FALSE;
-        }
-
-        session = make_session(rep->waiting_session_name,
-                               make_new_buf_wrp(rep->waiting_session_name));
-        session->sid = sid;
-        register_session(session);
-
-        rep_free(rep->waiting_session_name);
-        rep->waiting_session_name = NULL;
-        
-        set_cursession(session);
-
-        rep_start_create_cmds();
-
-        // get window size
-        // send read command
-        break;
-    case REP_REGISTER_ACK:
-*/
     case REP_PUT_ACK:
         /* Enter Session */
 
@@ -1717,46 +1222,12 @@
         rep_start_create_cmds();
         
         break;
-/*
-    case REP_DEREGISTER_CMD:
-    case REP_DEREGISTER_ACK:
-    case REP_QUIT_CMD:
-    case REP_QUIT_ACK:
-    case REP_GET_CMD:
-    case REP_GET_ACK:
-        break;
-    case REP_OPEN_CMD:
-        // REP_OPEN_CMD is handled in list part. (may be upper function)
-        break;
-
-    case REP_OPEN_ACK:
-    case REP_CLOSE_CMD:
-        break;
-    case REP_CLOSE_ACK:
-        break;
-    case REP_READ_CMD:
-        break;
-    case REP_READ_ACK:
-        break;
-    case REP_READ_FIN:
-        break;
-        // buffer edit commands
-        // session's buffer is set to current buffer
-*/
     case REP_INSERT_CMD:
         append_memline_wrp(lnum, text);
         break;
     case REP_DELETE_LINE_CMD:
         delete_memline_wrp(lnum);
         break;
-/*
-    case REP_REPLACE_CMD:
-        if (lnum > get_bufmaxline_wrp(session->buf)) {
-            append_memline_wrp(lnum, text);
-        }
-        replace_memline_wrp(lnum, text);  // text was allocated
-        break;
-*/
     default:
         break;
     }
@@ -1798,8 +1269,6 @@
     rep_cmdlist *cmdlist;
 {
     rep_cmd *repcmd;
-    BUFTYPE *orgbuf;
-    char *sname;
     
     if ((cmdlist == NULL) || (cmdlist->head == NULL)) {
         return(FALSE);
@@ -1815,32 +1284,6 @@
 }
 
 
-/* execute command list based cmd structure */
-/* sn must be already exists */
-static int
-rep_exe_cmdlist(cmdlist)
-    rep_cmdlist *cmdlist;
-{
-    rep_cmd *cmd;
-    BUFTYPE *orgbuf;
-    unsigned short uid;
-    
-    if ((cmdlist == NULL) || (cmdlist->head == NULL)) {
-        return(FALSE);
-    }
-
-    for (cmd = cmdlist->head; cmd; cmd = cmd->next) {
-        if (cmd->stat == REP_AVAIL) {
-            rep_exe_cmd(cmd->cmd, cmd->sid, cmd->eid, cmd->seq,
-                        cmd->lnum, cmd->len, cmd->pkt + REP_TEXT_OFFSET);
-        }
-    }
-    
-    return(TRUE);
-}
-
-
-
 
 static int
 rep_recv_cmds(fd, smcmdlist, txtcmdlist)
@@ -1858,7 +1301,6 @@
     char header[REP_HEADER_SIZE];
 
     char *text = NULL;
-    int retval;
     
     if (fd < 0) {
         return(FALSE);
@@ -1925,7 +1367,6 @@
     rep_cmdlist *cmdlist;
 {
     rep_cmd *cur;
-    unsigned int nlen;
     
     if ((fd<0) || (cmdlist == NULL)) {
         return(FALSE);
@@ -1943,94 +1384,6 @@
     return(TRUE);
 }
 
-/*
-static int
-session_fd_check(sn, rfds_p, efds_p)
-    Session *sn;
-    fd_set *rfds_p;
-    fd_set *efds_p;
-{
-    rep_cmdlist smcmdlist = {NULL,0};
-    rep_cmdlist txtcmdlist = {NULL,0};
-
-    if (sn == NULL) return FALSE;
-    
-    if (sn->smfd > 0) {
-        if (FD_ISSET(sn->smfd, efds_p)) {
-            if (sn->rfd != sn->sfd) close(sn->rfd);
-            sn->rfd = -1;
-            // 再接続処理をしたい
-            return FALSE;
-        } else if (FD_ISSET(sn->rfd, rfds_p)) {
-            if (rep_recv_cmds(sn->rfd, &(smcmdlist), &(txtcmdlist)) == FALSE) {
-                if (sn->rfd != sn->sfd) close(sn->rfd);
-                sn->rfd = -1;
-                return(FALSE);
-            }
-            
-            if ((cmdlist.head) && (cmdlist.head->uid == 99)) {   // 単方向コマンド
-                rep_exe_cmdlist(sn, sn->rfd, &(cmdlist));
-                free_cmdlist(&(cmdlist));
-            } else if ((cmdlist.head) && (cmdlist.head->uid == sn->uid)) { // 自分のコマンド
-                free_cmdlist(&cmdlist);
-
-                if (rep_send_cmds(sn->sfd, &(sn->new_cmdlist)) == FALSE) {
-                    if (sn->rfd != sn->sfd) close(sn->sfd);
-                    sn->sfd = -1;
-                    return FALSE;
-                }
-
-                sn->sent_cmdlist.head = sn->new_cmdlist.head;
-                sn->sent_cmdlist.num = sn->new_cmdlist.num;
-                sn->new_cmdlist.head = NULL;
-                sn->new_cmdlist.num = 0;
-                
-            } else {  // リングに流すコマンド
-                // 受け取ったトークンとユーザからのREPコマンドを比較・マージする
-                // 既に送信した REPコマンド列 と比較
-                translate(&(sn->sent_cmdlist), &(cmdlist));
-                del_ignored_cmd(&(cmdlist));
-                set_header_to_pkt(&(cmdlist));
-
-                if (rep_send_cmds(sn->sfd, &(cmdlist)) == FALSE) {
-                    if (sn->rfd != sn->sfd) close(sn->sfd);
-                    sn->sfd = -1;
-                    free_cmdlist(&(cmdlist));
-                    return FALSE;
-                }
-
-                // 新規に追加された REPコマンド列 との比較
-                translate(&(sn->new_cmdlist), &(cmdlist));
-                del_ignored_cmd(&(cmdlist));
-                set_header_to_pkt(&(sn->new_cmdlist));
-            
-                // 変換したトークンREPコマンドを自分のバッファに反映する。
-                //各パケットにはその変換は反映されていない.
-                rep_exe_cmdlist(sn, sn->rfd, &(cmdlist));
-
-                free_cmdlist(&(cmdlist));
-            }
-        }
-    }
-    if (sn->sfd > 0) {
-        if (FD_ISSET(sn->sfd, efds_p)) {
-            if (sn->rfd != sn->sfd) close(sn->sfd);
-            sn->sfd = -1;
-            // 再接続処理をしたい
-            return FALSE;
-        } else if (FD_ISSET(sn->sfd, rfds_p)) {  // from send client
-            if (rep_recv_cmds(sn->sfd, &cmdlist) == FALSE) {
-                if (sn->rfd != sn->sfd) close(sn->sfd);
-                sn->sfd = -1;
-                return(FALSE);
-            }
-            rep_exe_cmdlist(sn, sn->sfd, &cmdlist);
-            free_cmdlist(&cmdlist);
-        }
-    }
-}
-
- */
 
 int
 rep_fd_check(fd, rfds_p, efds_p)
@@ -2038,12 +1391,11 @@
     fd_set *rfds_p; // readable fds
     fd_set *efds_p; // include a error fd
 {
-    int newfd;
     rep_T *rep_p;
     rep_cmdlist smcmdlist = {NULL,0};
     rep_cmdlist txtcmdlist = {NULL,0};
 
-    Session *sn;
+    Session *sn = NULL;
     
     /* input from keyboard is most important.
      * reditor has nothing to do */
@@ -2068,11 +1420,6 @@
             return FALSE;
         }
         /* Session ごとに行う↓*/
-    /*
-	for(sn = rep_p->shead; sn ; sn = sn->next) {
-	    translate( &sn->new_cmdlist , &txtcmdlist);
-	}
-    */
         del_ignored_cmd(&txtcmdlist);
         rep_exe_pktlist(&txtcmdlist);
 
@@ -2091,44 +1438,11 @@
     }
     rep_exe_pktlist( &smcmdlist);
     free_cmdlist(&(smcmdlist));
-    
-/*
-    session_fd_check(rep_p->slineup, rfds_p, efds_p);
 
-    for (sn=rep_p->shead; sn; sn=sn->next) {
-        session_fd_check(sn, rfds_p, efds_p);
-    }
-*/
+    return TRUE;	
  
 }
 
-/*
-static int
-session_fd_set(sn, rfds_p, efds_p, max_fds)
-    Session *sn;
-    fd_set *rfds_p;
-    fd_set *efds_p;
-    int max_fds;
-{
-    if (sn == NULL) return max_fds;
-    
-    if (sn->rfd > 0) {
-        FD_SET(sn->rfd, rfds_p);
-        FD_SET(sn->rfd, efds_p);
-        if (max_fds < sn->rfd) {
-            max_fds = sn->rfd;
-        }
-    }
-    if (sn->sfd > 0) {
-        FD_SET(sn->sfd, rfds_p);
-        FD_SET(sn->sfd, efds_p);
-        if (max_fds < sn->sfd) {
-            max_fds = sn->sfd;
-        }
-    }
-    return max_fds;
-}
-*/
 
 
 int
@@ -2138,8 +1452,6 @@
     int max_fds;
 {  
     rep_T *rep_p;
-    Session *sn;
-    int i;
     
     rep_p = get_rep();
     
@@ -2151,14 +1463,6 @@
         }
     }
 
-/*
-    max_fds = session_fd_set(rep_p->slineup, rfds_p, efds_p, max_fds);
-    
-    for (sn=rep_p->shead; sn; sn=sn->next) {
-        max_fds = session_fd_set(sn, rfds_p, efds_p, max_fds);
-    }
-*/
-
     return(max_fds);
 }
 
@@ -2227,7 +1531,6 @@
 {
     char *str;
     char *cur;
-//    BUFTYPE *oldbuf;
     Session *oldsn;
 
     /*