/*Sivann 1998: Write greek in vim/vi without mangling with pty's => portable*/ #include #include #include /*SVR4*/ #include /*POSIX under linux*/ #include #include #include #include #include void sig_handler(int ); /*SVR4 method*/ no_wait(int fd) { int i; struct termio ts; ioctl(fd, TCGETA, &ts); ts.c_cc[VMIN]=1; ts.c_lflag = ISIG; ioctl(fd, TCSETA, &ts); } trans(char *buff,int ac) { int len,i,j; static char accent=0; len=strlen(buff); if (accent==1) { accent=0; for (i=0;i=i;j--) buff[j+1]=buff[j];buff[i]=39;trans(buff,0); break; /*'*/ } } else if (accent==2) { accent=0; for (i=0;i=i;j--) buff[j+1]=buff[j];buff[i]=39;trans(buff,0); break; /*'*/ } } else if (accent==3) { accent=0; for (i=0;i=i;j--) buff[j+1]=buff[j];buff[i]=39;trans(buff,0); break; /*'*/ } } else for (i=0;i=0) buff[r]=0; if (s=strchr(buff,toggle)) { for(i=0;i=0); pclose(sfp); } void sig_handler(int signum) { exit(signum); }