TEMARI%ECAMV1.dnet.ge.com@vm1.nodak.edu (10/08/90)
This message didn't seem to get out. So here goes again.........
I have just received minix 1.5 from PH and have just started getting
the minix list. I have found some bugs:
* /dev/port not on boot diskettes
file on an empty file gives a core dump
invalid parameter given to term locks the shell (I've posted this fix)
* client3 of amoeba has paren in wrong place
* permission error for root to search d--------- directory
...etc...
The ones with * i've read from messages and tried them
Also, I have read some comments in the programs I have gotten from the
archive sites about working around problems with minix. Lets fix them!
So here is what I would like to know
Is there anywhere out there a bug report and patch fixes for the bugs in minix.
If anyone could let me know I would really appreciate it.
Also, to start myself off on a good foot on the net below I submit a calendar
program which will either tell you the day of the week a date fell on or print
out a calendar for the month. This was in my archives, which was orginally
written in fortran. I take no credit for it, all I did was convert it to
C some five years ago.
Soon to come a two player nuclear war game!!!!!!
-------------------------------------------------------------------------
/* calendar.c */
#include <stdio.h>
#define ULC 0xda /* upper left hand corner */
#define HL 0xc4 /* horizontal line */
#define URC 0xbf /* upper right hand corner */
#define VL 0xb3 /* vertical line */
#define DT 0xc2 /* T down */
#define UT 0xc1 /* T up */
#define RT 0xc3 /* T right */
#define LT 0xb4 /* T left */
#define LRC 0xd9 /* lower right hand corner */
#define LLC 0xc0 /* lower left hand corner */
#define CRO 0xc5 /* cross */
char *week[7]={ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY",
"THURSDAY", "FRIDAY", "SATURDAY" };
char *months[12]={ "JANUARY", "FEBRUARY", "MARCH", "APRIL",
"MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER",
"OCTOBER", "NOVEMBER", "DECEMBER" };
char *days[42] = { " ", " ", " ", " ", " ", " ", " ",
" ", " ", " ", " ", " ", " ", " ",
" ", " ", " ", " ", " ", " ", " ",
" ", " ", " ", " ", " ", " ", " ",
" ", " ", " ", " ", " ", " ", " ",
" ", " ", " ", " ", " ", " ", " " };
int year[12]={ 31,28,31,30,31,30,31,31,30,31,30,31 };
int inyear,inmonth,frstdy,leap,mntlst,mnthdy,i,j,i1,weeks,lstmnt;
int gregor(inyear,inmonth,inday)
int inyear,inmonth,inday;
{
int iyear,icent,itemp,iday,imnth;
iyear=inyear;
if(inmonth<=2)iyear=iyear-1;
icent=iyear/100;
iyear=iyear%100;
imnth=inmonth-2;
if(imnth<=0) imnth+=12;
itemp=(175*icent)/100;
if((175*icent)%100) itemp++;
iday=inday+((26*imnth-2)/10)-itemp+iyear+iyear/4;
if(iday<0) iday+=700;
return(1+(iday%7));
}
void do_line(a,b,c,d)
char a,b,c,d;
{
int i;
printf("%c",a);
for(i=0;i<7;i++) {
for(j=0;j<10;j++)
printf("%c",b);
if(i==6)
printf("%c",d);
else
printf("%c",c);
}
printf("\n");
}
main(argc,argv)
int argc;
char *argv[];
{
char a,b;
if(argc<2||argc>4) {
printf("usage is %s year month [day]\n",argv[0]);
exit(1);
}
inyear=atoi(argv[1]);
inmonth=atoi(argv[2]);
if(argc==4)
frstdy=atoi(argv[3]);
else
frstdy=1;
if(inyear<100) inyear+=1900;
if(inmonth<1||inmonth>12) {
printf("Invalid month!\n");
exit(1);
}
if(inyear<1752||inyear>20000) {
printf("Invalid year! Range is 1752-20000\n");
exit(1);
}
leap=0;
if((inyear%4)==0) leap=1;
if((inyear%100)==0) leap=0;
if((inyear%400)==0) leap=1;
if((inyear%2000)==0) leap=0;
mntlst=year[inmonth-1];
if(inmonth==2) mntlst+=leap;
if(argc==4)
if(frstdy>mntlst) {
printf("Invalid day for the month of %s\n",months[inmonth-1]);
exit(1);
}
mnthdy=gregor(inyear,inmonth,frstdy);
if(argc==4)
printf("%d %s %d is %s\n",frstdy,
months[inmonth-1],
inyear,week[mnthdy-1]);
if(argc==4)
return(0);
do_line(ULC,HL,HL,URC);
printf("%c %-10s",VL,months[inmonth-1]);
for(i=0;i<59;i++) printf(" ");
printf("%4d %c\n",inyear,VL);
printf("3 SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY ");
printf("FRIDAY SATURDAY 3\n");
do_line(RT,HL,DT,LT);
i1=mnthdy+mntlst-1;
for(i=mnthdy;i<=i1;i++)
sprintf(days[i-1],"%02d",i+1-mnthdy);
weeks=i1/7;
if(i1%7) weeks++;
lstmnt=weeks*7;
for(i=1;i<=lstmnt;i+=7) {
for(j=1;j<=7;j++)
printf("%c%s ",VL,days[i+j-2]);
printf("%c\n",VL);
for(j=1;j<=7;j++)
printf("%c ",VL);
printf("%c\n",VL);
if(i!=(lstmnt-6))
do_line(RT,HL,CRO,LT);
else
do_line(LLC,HL,UT,LRC);
}
return(0);
}rnews@qut.edu.au (10/09/90)
In article <32751@nigel.ee.udel.edu>, TEMARI%ECAMV1.dnet.ge.com@vm1.nodak.edu writes: > This message didn't seem to get out. So here goes again......... > > I have just received minix 1.5 from PH and have just started getting > the minix list. I have found some bugs: > * /dev/port not on boot diskettes > file on an empty file gives a core dump > invalid parameter given to term locks the shell (I've posted this fix) > * client3 of amoeba has paren in wrong place > * permission error for root to search d--------- directory > ...etc... > > The ones with * i've read from messages and tried them > Also, I have read some comments in the programs I have gotten from the > archive sites about working around problems with minix. Lets fix them! > > So here is what I would like to know > Is there anywhere out there a bug report and patch fixes for the bugs in minix. > If anyone could let me know I would really appreciate it. > > Also, to start myself off on a good foot on the net below I submit a calendar > program which will either tell you the day of the week a date fell on or print > out a calendar for the month. This was in my archives, which was orginally > written in fortran. I take no credit for it, all I did was convert it to > C some five years ago. > > Soon to come a two player nuclear war game!!!!!! > > ------------------------------------------------------------------------- > /* calendar.c */ > > #include <stdio.h> > > #define ULC 0xda /* upper left hand corner */ > #define HL 0xc4 /* horizontal line */ > #define URC 0xbf /* upper right hand corner */ > #define VL 0xb3 /* vertical line */ > #define DT 0xc2 /* T down */ > #define UT 0xc1 /* T up */ > #define RT 0xc3 /* T right */ > #define LT 0xb4 /* T left */ > #define LRC 0xd9 /* lower right hand corner */ > #define LLC 0xc0 /* lower left hand corner */ > #define CRO 0xc5 /* cross */ arrrgh PC specific code ..... Ill now proceed to faint "-/ Hey do we all have IBM font sets ???