C Program k1: newdate, incdatr

/*  testing incdatr and newdate */

#include <stdio.h>
#include <rpnmacros.h>
extern incdatr();  /* rmnlib.a */
extern newdate();  /* rmnlib.a */

void chdate(int e,int t,int p,int *v,int *h);
void main(int argc, char **argv)
{
  int       i, j, k, l;
  int       date1, date2, tim1, tim2, prev;

  date1 = 19980101;
  tim1 = 0;
  prev = 0-24;

  printf("AVANT chdate: prev=%d,date1=%d,tim1=%d\n",prev,date1,tim1);
  chdate( date1, tim1, prev, &date2, &tim2 );
  printf("APRES chdate: prev=%d,date2=%d,tim2=%d\n",prev,date2,tim2 );

  printf("Salut, a la prochaine.\n");

}

/* function - chdate
 * given a date(dat1), time (tim1), and decrement (-nhours)
 * in hours, compute resulting date and hour
 */
void chdate( int dat1, int tim1, int nhours, int *dat2, int *tim2 )
{
  int    estamp, vstamp;
  int     cod, adat, atim;
  double  inc;

  cod = 3;
  inc = (double) nhours;        /* change to real*8 */

  f77name(newdate)( &estamp,&dat1,&tim1,&cod);  /* printable to CMCstamp */

  printf("newdate estamp=%d,dat1=%d,tim1=%d,cod=%d\n",estamp,dat1,tim1,cod);

  f77name(incdatr)( &vstamp,&estamp, &inc );  /* decrement by nhours */

  printf("incdatr vstamp=%d,estamp=%d, inc=%f\n",vstamp,estamp,inc);
  cod = -3;
  f77name(newdate)( &vstamp,&adat,&atim,&cod);  /* CMCstamp to printable */
  printf("newdate vstamp=%d,adat=%d,atim=%d\n",vstamp,adat,atim);
  *tim2 = atim;
  *dat2 = adat;
}