void keyf_set(int region,const char *k,const char *s) { keydef_t *kdp; int key[2]; int n; char buf[LN_buf+1],*p; p=strchr(s, ' '); if (p==NULL) n=keyf_getname(s, region); else { strjncpy(buf, s, p-s); n=keyf_getname(buf, region); } if (n==-1) return; keysdef_getcode(k, key, 2); kdp=keydef_get(region,key[0],key[1]); if (kdp==NULL|| kdp==(keydef_t *)-1) kdp=keydef_set(region, KDM_func, n, key[0], key[1]); // ?? 上のif分の中にいれておいてよいのではなかったか? if (p!=NULL&& kdp!=NULL&& kdp!= (keydef_t *)-1) keyf_setarg(kdp, p); else kdp->args[0]=NULL; }
void user_rep(uint id) { uint a; user.number= id; strjncpy(user.id,getvar("id",user.var),LN_id); strjncpy(user.style,getvar("style",user.var),LN_key); strjncpy(user.handle,getvar("handle",user.var),LN_handle); ch.limit= atoi(getvar("limit",user.var))*60; if (ch.limit==0 )/* ||ゴールデンアワーならば・・・・ */ ch.limit=60*10; a=atoi(getvar("mode",user.var)); ch.frug.esc =!(a&1); ch.frug.onekey=a&2; ulist_rep(id,user.var); }
void sys_init() { char *p,buf[LN_buf+1]; char t; time_t e,s; ch.frug.called=0; ch.frug.monitor=1; ch.frug.esc=0; ch.fp=NULL; sys.rs=FALSE; /* ch.env=NULL;*/ /* debug_start();*/ ed_init(); sion_init(); nowvar=varinit(LN_str,MAX_var); sys.var=varinit(LN_str,MAX_var); sys.result=varinit(LN_result,MAX_var); strcpy(sys.home,"."); op_system(); if (sion_sr("config","system")==0) { exit(1); } sion_read(sys.var); sion_sr("config","result"); sion_read(sys.result); sion_close(); sys.execute=atoi(getvar("execute",sys.var))+1; sys.logon =atoi(getvar("logon",sys.var)); sys.post =atoi(getvar("post",sys.var)); sys.t_logon=atoi(getvar("tdlogon",sys.var)); sys.t_post =atoi(getvar("tdpost",sys.var)); strjncpy(sys.netname,getvar("netname",sys.var),LN_title); strjncpy(sys.netid,getvar("netid",sys.var),LN_netid); strjncpy(sys.home ,getvar("home",sys.var),LN_dirs); strjncpy(sys.temp ,getvar("temp",sys.var),LN_dirs); pool.max=atoi(getvar("poolmax",sys.var)); copyright(); p=getvar("opentime",sys.var); tzset(); /* 時空関数がまだ現れていないので呼ぶ必要あり */ if (p==NULL) { sys.opentime=DT_daytime; sys.starttime=0; }else { p=pull(buf,p); t=atoi(buf); p=pull(buf,p); s=(t*60+atoi(buf))*60; p=pull(buf,p); t=atoi(buf); p=pull(buf,p); e=(t*60+atoi(buf))*60; /*dbprintf("s:%ld,e:%ld",s,e);*/ sys.opentime=e+(e<s?DT_daytime:0)-s; sys.starttime=DT_daytime-s; /*dbprintf("o:%ld,s:%ld",sys.opentime,sys.starttime);*/ } stack_init(); where_init(); user_init(); art_init(); pool_init(); sys.rs=rs_init(); /* sys_log("●システム起動");*/ }