Format source code

This commit is contained in:
Nishi 2026-06-18 13:40:14 +09:00
commit d0be6165c0
165 changed files with 30306 additions and 33687 deletions

462
etc.c
View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 1994 Sony Corporation
*
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
@ -8,10 +8,10 @@
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
@ -19,7 +19,7 @@
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
@ -28,146 +28,141 @@
*/
/*
* $SonyRCSfile: etc.c,v $
* $SonyRevision: 1.1 $
* $SonyRCSfile: etc.c,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:03:15 $
*/
#include "common.h"
#include "key.h"
extern int keyvalue;
static char rehname[SHORTLENGTH * 2];
extern char *cur_serv;
static int dcflag = 0;
extern int keyvalue;
static char rehname[SHORTLENGTH * 2];
extern char* cur_serv;
static int dcflag = 0;
void disp_version();
exec_etc (key)
int key;
exec_etc(key) int key;
{
unsigned short row, col;
int inc;
int chbun;
int edited;
int etckey;
Conversion *cv;
unsigned short row, col;
int inc;
int chbun;
int edited;
int etckey;
Conversion* cv;
cv = GetConversion ();
cv = GetConversion();
edited = 0;
chbun = 0;
StartGuide (&row, &col);
if (key == KEY_ETC) {
printR (WCGEtc);
if (cv->column >= MINCOL)
spaceR (WCGetc);
Clear_EOL ();
EndGuide (row, col);
SaveConversion ();
inc = inkey ();
if (AnotherConversion ())
return(KEY_NORMAL);
cv = GetConversion ();
etckey = etc_map (keyvalue);
}
else {
EndGuide (row, col);
chbun = 0;
StartGuide(&row, &col);
if(key == KEY_ETC) {
printR(WCGEtc);
if(cv->column >= MINCOL)
spaceR(WCGetc);
Clear_EOL();
EndGuide(row, col);
SaveConversion();
inc = inkey();
if(AnotherConversion())
return (KEY_NORMAL);
cv = GetConversion();
etckey = etc_map(keyvalue);
} else {
EndGuide(row, col);
etckey = key;
}
switch (etckey) {
switch(etckey) {
case KEY_NORMAL:
normal:
switch (inc) {
normal:
switch(inc) {
case 'h':
helplevel ();
helplevel();
break;
case 't':
if (!IsCflag ())
chbun = exec_toroku ();
if(!IsCflag())
chbun = exec_toroku();
break;
case 's':
if (!IsCflag ())
chbun = exec_syoukyo ();
if(!IsCflag())
chbun = exec_syoukyo();
break;
case 'v':
case 'd':
disp_version (inc);
disp_version(inc);
break;
case 'w':
change_weight ();
change_weight();
break;
default:
break;
}
break;
case KEY_HELP:
helplevel ();
helplevel();
break;
case KEY_TOROKU:
if (!IsCflag ())
chbun = exec_toroku ();
if(!IsCflag())
chbun = exec_toroku();
break;
case KEY_SYOUKYO:
if (!IsCflag ())
chbun = exec_syoukyo ();
if(!IsCflag())
chbun = exec_syoukyo();
break;
case KEY_SJRC:
if (IsCflag ())
exec_sjrc ();
if(IsCflag())
exec_sjrc();
break;
case KEY_EDIT:
if (IsHenkan ()) {
if (cv->CurBun < 0) {
if(IsHenkan()) {
if(cv->CurBun < 0) {
cv->CurBun = 0;
Bdisp (1);
Bdisp(1);
}
edited = exec_edit ();
edited = exec_edit();
}
break;
case KEY_RECONNECT:
if (reconnect() && IsHenkan()) {
EndGuide (row, col);
Clear_EOL();
Ccheck();
Cclear(1);
ResetHenkan();
vprintU(cv->out_buf, 1);
cv->Kanji = 0;
return(KEY_NORMAL);
}
if(reconnect() && IsHenkan()) {
EndGuide(row, col);
Clear_EOL();
Ccheck();
Cclear(1);
ResetHenkan();
vprintU(cv->out_buf, 1);
cv->Kanji = 0;
return (KEY_NORMAL);
}
break;
case KEY_ETC:
break;
default:
if ((inc = write_pseq (2)) != 0)
if((inc = write_pseq(2)) != 0)
goto normal;
return(etckey);
return (etckey);
break;
}
EndGuide (row, col);
if (edited) {
if (!Sdouon (3))
Rdisp ();
EndGuide(row, col);
if(edited) {
if(!Sdouon(3))
Rdisp();
}
if (chbun)
if(chbun)
Ssbun(1);
return(KEY_NORMAL);
return (KEY_NORMAL);
}
Ssbun(flag)
int flag;
Ssbun(flag) int flag;
{
Conversion *cv;
Conversion* cv;
static short ScurBun, SpreBun;
cv = GetConversion();
if (flag) {
if (cv->CurBun != ScurBun || cv->PreBun != SpreBun) {
if(flag) {
if(cv->CurBun != ScurBun || cv->PreBun != SpreBun) {
cv->CurBun = ScurBun;
cv->PreBun = SpreBun;
Bdisp();
@ -178,20 +173,19 @@ int flag;
}
}
etc_map (key)
int key;
etc_map(key) int key;
{
extern int u_etckeys;
extern int Uetckey[], Uetcval[];
int i;
int val;
extern int u_etckeys;
extern int Uetckey[], Uetcval[];
int i;
int val;
for (i = 0 ; i < u_etckeys ; i ++) {
if (key == Uetckey[i])
for(i = 0; i < u_etckeys; i++) {
if(key == Uetckey[i])
return (Uetcval[i]);
}
switch (key) {
switch(key) {
case KEY_HENKAN:
val = KEY_TOROKU;
break;
@ -217,170 +211,153 @@ int key;
return (val);
}
helplevel ()
{
wchar16_t wtmp[BUFFLENGTH];
unsigned char mtmp[BUFFLENGTH];
unsigned char tmp[BUFFLENGTH];
Conversion *cv;
helplevel() {
wchar16_t wtmp[BUFFLENGTH];
unsigned char mtmp[BUFFLENGTH];
unsigned char tmp[BUFFLENGTH];
Conversion* cv;
cv = GetConversion ();
cv = GetConversion();
if (Hlevel == 1 && cv->column >= MINCOL) {
if(Hlevel == 1 && cv->column >= MINCOL) {
HHlevel = 2;
Hlevel = 2;
(void) wcstombs((char *)mtmp, WCMHelp, BUFFLENGTH);
sprintf ((char *)tmp, (char *)mtmp, "on");
(void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH);
}
else {
Hlevel = 2;
(void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH);
sprintf((char*)tmp, (char*)mtmp, "on");
(void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH);
} else {
HHlevel = 1;
Hlevel = 1;
(void) wcstombs((char *)mtmp, WCMHelp, BUFFLENGTH);
sprintf ((char *)tmp, (char *)mtmp, "off");
(void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH);
Hlevel = 1;
(void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH);
sprintf((char*)tmp, (char*)mtmp, "off");
(void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH);
}
guide_print_pause (WCGHelp, wtmp);
guide_print_pause(WCGHelp, wtmp);
}
void
disp_version (c)
int c;
disp_version(c) int c;
{
extern char *Version, *Copyright, *Date;
char tmp[BUFFLENGTH];
extern char *Version, *Copyright, *Date;
char tmp[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
if (c == 'v')
sprintf (tmp, "%s, %s ", Version, Copyright);
else if (c == 'd')
sprintf (tmp, "%s ", Date);
if(c == 'v')
sprintf(tmp, "%s, %s ", Version, Copyright);
else if(c == 'd')
sprintf(tmp, "%s ", Date);
else
return;
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
guide_print_pause (0, wtmp);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
guide_print_pause(0, wtmp);
}
exec_sjrc ()
{
extern char RCfile[];
char tmp[BUFFLENGTH];
unsigned char SUCCorFAIL[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
exec_sjrc() {
extern char RCfile[];
char tmp[BUFFLENGTH];
unsigned char SUCCorFAIL[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
if (*RCfile == (char)NULL) {
if(*RCfile == (char)NULL) {
getsjrc();
if (*RCfile == (char)NULL)
{
(void) wcstombs((char *)SUCCorFAIL, WCNOTHsjrc, BUFFLENGTH);
sprintf((char *)tmp, (char *)SUCCorFAIL);
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
}
else
{
(void) wcstombs((char *)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH);
sprintf (tmp, "%s %s ", RCfile, SUCCorFAIL);
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
if(*RCfile == (char)NULL) {
(void)wcstombs((char*)SUCCorFAIL, WCNOTHsjrc, BUFFLENGTH);
sprintf((char*)tmp, (char*)SUCCorFAIL);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
} else {
(void)wcstombs((char*)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH);
sprintf(tmp, "%s %s ", RCfile, SUCCorFAIL);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
}
} else {
if (setrc () == TRUE)
{
(void) wcstombs((char *)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH);
if(setrc() == TRUE) {
(void)wcstombs((char*)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH);
} else {
(void) wcstombs((char *)SUCCorFAIL, WCFAILsjrc, BUFFLENGTH);
(void)wcstombs((char*)SUCCorFAIL, WCFAILsjrc, BUFFLENGTH);
}
sprintf (tmp, "%s %s ", RCfile, SUCCorFAIL);
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
sprintf(tmp, "%s %s ", RCfile, SUCCorFAIL);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
}
guide_print_pause (0, wtmp);
guide_print_pause(0, wtmp);
}
static int weight = 3;
static int seed = 100000;
static int weight = 3;
static int seed = 100000;
change_weight ()
{
int c;
char s[2];
char tmp[BUFFLENGTH];
unsigned char mtmp[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
change_weight() {
int c;
char s[2];
char tmp[BUFFLENGTH];
unsigned char mtmp[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
(void) wcstombs((char *)mtmp, WCWeight_mes, BUFFLENGTH);
sprintf(tmp, (char *)mtmp, weight);
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
c = guide_print_pause (0, wtmp);
(void)wcstombs((char*)mtmp, WCWeight_mes, BUFFLENGTH);
sprintf(tmp, (char*)mtmp, weight);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
c = guide_print_pause(0, wtmp);
if (isdigit (c) && (c != '0')) {
s[0] = c;
s[1] = '\0';
weight = atoi (s);
if(isdigit(c) && (c != '0')) {
s[0] = c;
s[1] = '\0';
weight = atoi(s);
}
}
UsecWeight (sw)
int sw;
UsecWeight(sw) int sw;
{
if (sw)
if(sw)
return (seed);
else
else
return (seed * weight);
}
dconnect(aflag)
int aflag;
dconnect(aflag) int aflag;
{
int err;
char tmp[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
unsigned char dtmp[BUFFLENGTH];
int err;
char tmp[BUFFLENGTH];
wchar16_t wtmp[BUFFLENGTH];
unsigned char dtmp[BUFFLENGTH];
if (!dcflag) {
(void) wcstombs((char *)dtmp, WCDiscon, BUFFLENGTH);
sprintf(tmp, (char *)dtmp, cur_serv);
if(!dcflag) {
(void)wcstombs((char*)dtmp, WCDiscon, BUFFLENGTH);
sprintf(tmp, (char*)dtmp, cur_serv);
beep();
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
guide_print_pause (0, wtmp);
if (aflag && keyvalue == KEY_HENKAN) {
if ((err = sj3_autocon()) == 0) {
(void) wcstombs((char *)dtmp, WCRserv_OK, BUFFLENGTH);
sprintf(tmp, (char *)dtmp, cur_serv);
(void) mbstowcs(wtmp, (char *)tmp, BUFFLENGTH);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
guide_print_pause(0, wtmp);
if(aflag && keyvalue == KEY_HENKAN) {
if((err = sj3_autocon()) == 0) {
(void)wcstombs((char*)dtmp, WCRserv_OK, BUFFLENGTH);
sprintf(tmp, (char*)dtmp, cur_serv);
(void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH);
guide_print_pause(0, wtmp);
} else {
guide_print_pause(WCSpace, WCNconnect);
dcflag = 1;
}
} else
dcflag = 1;
} else {
guide_print_pause(WCSpace, WCNconnect);
dcflag = 1;
}
} else
dcflag = 1;
disp_mode();
}
return(dcflag);
return (dcflag);
}
set_dcflag(flag)
int flag;
set_dcflag(flag) int flag;
{
dcflag = flag;
}
IsDcflag()
{
return(dcflag);
IsDcflag() {
return (dcflag);
}
reconnect ()
{
int inc, err;
char tmp[BUFFLENGTH], *hp;
char newserv[SHORTLENGTH * 2], *nsp;
wchar16_t wtmp[BUFFLENGTH];
reconnect() {
int inc, err;
char tmp[BUFFLENGTH], *hp;
char newserv[SHORTLENGTH * 2], *nsp;
wchar16_t wtmp[BUFFLENGTH];
unsigned char rtmp[BUFFLENGTH];
strncpy(newserv, cur_serv, SHORTLENGTH * 2 - 1);
@ -389,55 +366,55 @@ reconnect ()
SaveConversion();
TopGuide();
printR(WCGrcon);
(void) wcstombs((char *)rtmp, WCRserv, BUFFLENGTH);
sprintf(tmp, (char *)rtmp, newserv);
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
SJ_print (wtmp);
(void)wcstombs((char*)rtmp, WCRserv, BUFFLENGTH);
sprintf(tmp, (char*)rtmp, newserv);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
SJ_print(wtmp);
Clear_EOL();
Flush();
nsp = newserv;
while ((inc = inkey()) != EOF) {
if (AnotherConversion()) {
while((inc = inkey()) != EOF) {
if(AnotherConversion()) {
unget_key(inc);
return(0);
return (0);
}
if (keyvalue != KEY_NORMAL && keyvalue != KEY_FLUSH)
return(0);
if (inc == '\n' || inc == '\r' || IsESC(inc))
if(keyvalue != KEY_NORMAL && keyvalue != KEY_FLUSH)
return (0);
if(inc == '\n' || inc == '\r' || IsESC(inc))
break;
if (is_bs (inc) && nsp > newserv) {
if(is_bs(inc) && nsp > newserv) {
nsp--;
*nsp = '\0';
backspace(1);
Flush();
} else if (isgraph(inc) &&
nsp < &newserv[SHORTLENGTH * 2 - 1]) {
} else if(isgraph(inc) &&
nsp < &newserv[SHORTLENGTH * 2 - 1]) {
*nsp++ = inc;
printf("%c", inc);
Flush();
} else
} else
beep();
}
if (nsp > newserv) {
if(nsp > newserv) {
*nsp = '\0';
strcpy(rehname, newserv);
cur_serv = rehname;
} else if (newserv[0] == '\0') {
strncpy(newserv, cur_serv, SHORTLENGTH * 2 - 1);
strcpy(rehname, newserv);
cur_serv = rehname;
} else if(newserv[0] == '\0') {
strncpy(newserv, cur_serv, SHORTLENGTH * 2 - 1);
newserv[SHORTLENGTH * 2 - 1] = '\0';
}
if ((err = SJ2_reconnect()) == 0) {
if((err = SJ2_reconnect()) == 0) {
TopGuide();
printR(WCGrcon);
(void) wcstombs((char *)rtmp, WCRserv_OK, BUFFLENGTH);
sprintf(tmp, (char *)rtmp, newserv);
(void) mbstowcs(wtmp, tmp, BUFFLENGTH);
(void)wcstombs((char*)rtmp, WCRserv_OK, BUFFLENGTH);
sprintf(tmp, (char*)rtmp, newserv);
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
SJ_print(wtmp);
Clear_EOL();
Flush();
set_dcflag(0);
inc = inkey();
if (AnotherConversion ())
if(AnotherConversion())
unget_key(inc);
break;
} else {
@ -450,33 +427,32 @@ reconnect ()
Backspace();
Flush();
inc = inkey();
if (AnotherConversion()) {
if(AnotherConversion()) {
unget_key(inc);
set_dcflag(1);
break;
}
if (inc == 'n' || inc == 'N' || inc == EOF) {
if(inc == 'n' || inc == 'N' || inc == EOF) {
set_dcflag(1);
break;
}
}
}
return(1);
}
return (1);
}
guide_print_pause (s1, s2)
wchar16_t *s1, *s2;
guide_print_pause(s1, s2)
wchar16_t* s1,
*s2;
{
int c;
int c;
guide_print (s1, s2);
SaveConversion ();
c = inkey ();
if (AnotherConversion ()) {
unget_key (c);
guide_print(s1, s2);
SaveConversion();
c = inkey();
if(AnotherConversion()) {
unget_key(c);
return (EOF);
}
return (c);
}