Diff for /rleda/rleda.c between versions 1.1 and 1.2

version 1.1, 2003/12/12 18:53:44 version 1.2, 2003/12/12 19:08:17
Line 1 Line 1
 /* $Id$  /* $Id$
   $State$    $State$
   $Log$    $Log$
   Revision 1.1  2003/12/12 18:53:44  brouard    Revision 1.2  2003/12/12 19:08:17  brouard
   Initial revision    Les variables ne sont plus toutes écrites en ligne mais avec un retour
     à la ligne toutes les 5 variables.
   
     Revision 1.1.1.1  2003/12/12 18:53:44  brouard
     Import de rleda
   
   
  rleda.c   rleda.c
Line 32 Line 36
 #define ODIRSEPARATOR '/'  #define ODIRSEPARATOR '/'
 #endif  #endif
   
 char version[]="rleda-0.9 Programme de lecture de fichiers d'index au format LEDA convertis de l'EBCDIC en ASCII ";  char version[]="rleda-0.9.1 Programme de lecture de fichiers d'index au format LEDA convertis de l'EBCDIC en ASCII ";
 char fullversion[]="$Revision$ $Date$";  char fullversion[]="$Revision$ $Date$";
 char line[MAXLINE];  char line[MAXLINE];
 char title[MAXLINE],namevar[MAXLINE], namevara[MAXLINE];  char title[MAXLINE],namevar[MAXLINE], namevara[MAXLINE];
Line 228  void trzb(char *z, char *in) Line 232  void trzb(char *z, char *in)
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
   int numlinepar=0;    int numlinepar=0;
   long nobs, ncar,ncara, ncartes, nn;    long nobs, ncar,ncara, ncartes, nn, nvaris=0;
   long c;    long c;
   long d;    long d;
   long numlis, ntype;    long numlis, ntype;
Line 307  main(int argc, char *argv[]) Line 311  main(int argc, char *argv[])
     goto end;      goto end;
   }    }
   fprintf(ficparsas,"*Sortie de rleda version %s *;\n* %s *;\n",version,fullversion);    fprintf(ficparsas,"*Sortie de rleda version %s *;\n* %s *;\n",version,fullversion);
   fprintf(ficparsas,"libname optionfilefiname \"%s\";\n",path);    fprintf(ficparsas,"libname %s \"%s\";\n",optionfilefiname,path);
   fprintf(ficparsas,"filename a \"%s\";\n", filesas);    fprintf(ficparsas,"filename a \"%s.dat\";\n",optionfilefiname );
   fprintf(ficparsas,"* Ci dessous à modifier *;\n");    fprintf(ficparsas,"* Ci dessous a modifier *;\n");
   fprintf(ficparsas,"data %s.?? (keep=??);\n",optionfilefiname);    fprintf(ficparsas,"data %s.u?? (keep=??);\n",optionfilefiname);
   fprintf(ficparsas,"infile a lrecl=500 ;\n");    fprintf(ficparsas,"infile a lrecl=500 ;\n");
   fprintf(ficparsas,"input id 1. @; retain numero 0;\n");    fprintf(ficparsas,"input id 1. @; retain numero 0;\n");
   fprintf(ficparsas,"");    fprintf(ficparsas,"");
Line 319  main(int argc, char *argv[]) Line 323  main(int argc, char *argv[])
   printf("Le nom du fichier de sortie est %s\n",filereso);    printf("Le nom du fichier de sortie est %s\n",filereso);
   printf("Le nom du fichier SAS de sortie est %s\n",filesas);    printf("Le nom du fichier SAS de sortie est %s\n",filesas);
   
   pos=9;    pos=9;nvaris=0 ;
   level=0;    level=0;
   while((c=getc(ficpar)) != EOF){      while((c=getc(ficpar)) != EOF){  
     ungetc(c,ficpar);      ungetc(c,ficpar);
Line 360  main(int argc, char *argv[]) Line 364  main(int argc, char *argv[])
       olevel=level;        olevel=level;
       level=title[0]-48;        level=title[0]-48;
       printf(" Niveau = %d Colonnes 1  8 = %s\n",level,title);        printf(" Niveau = %d Colonnes 1  8 = %s\n",level,title);
         fprintf(ficlog," Niveau = %d Colonnes 1  8 = %s\n",level,title);
       fprintf(ficparo," Niveau = %d Colonnes 1   8 = %s\n",level,title);        fprintf(ficparo," Niveau = %d Colonnes 1   8 = %s\n",level,title);
       if(level !=0) fprintf(ficparsas,"if id=%d then do;\n",level);        if(level ==0) fprintf(ficparsas,"if id=%d then do;\n",level);
          /*       fprintf(ficparsas,"  input @9 "); */           /*       fprintf(ficparsas,"  input @9 "); */
       nobs=0;for(n=0;n<2;n++){ c=getc(ficpar); nobs+=(n+(1-n)*256)*ascii_to_ebcdic[c];} fprintf(ficlog,"nobs=%d ",nobs);        nobs=0;for(n=0;n<2;n++){ c=getc(ficpar); nobs+=(n+(1-n)*256)*ascii_to_ebcdic[c];} fprintf(ficlog,"nobs=%d ",nobs);
       ncara=0;for(n=0;n<2;n++){ c=getc(ficpar); ncara+=(n+(1-n)*256)*ascii_to_ebcdic[c]; } fprintf(ficlog,"ncara=%d ",ncara);        ncara=0;for(n=0;n<2;n++){ c=getc(ficpar); ncara+=(n+(1-n)*256)*ascii_to_ebcdic[c]; } fprintf(ficlog,"ncara=%d ",ncara);
Line 409  main(int argc, char *argv[]) Line 414  main(int argc, char *argv[])
       if(strrchr(title,'C')!= 0 || strrchr(title,'G')!=0){        if(strrchr(title,'C')!= 0 || strrchr(title,'G')!=0){
         if(level!=olevel){          if(level!=olevel){
           pos=9;            pos=9;
           if(olevel !=0){            fprintf(ficparsas,";\n  output %s.u%d;\n",optionfilefiname,olevel);
             fprintf(ficparsas,"  output %s.%d;\n",optionfilefiname,olevel);            fprintf(ficparsas,"  end\n");
             fprintf(ficparsas,"  end\n");            if(level !=0) fprintf(ficparsas,";\n else if id=%d then do;\n",level);
           }  
           if(level !=1) fprintf(ficparsas,";\n else if id=%d then do;\n",level);  
           fprintf(ficparsas,"  input @9 ");            fprintf(ficparsas,"  input @9 ");
           olevel=level;            olevel=level;
         }          }
Line 425  main(int argc, char *argv[]) Line 428  main(int argc, char *argv[])
         }          }
         namevar[n]='\0';          namevar[n]='\0';
         fprintf(ficparsas, " %s $%d.", namevar, ncara);          fprintf(ficparsas, " %s $%d.", namevar, ncara);
         pos+=ncara;          pos+=ncara;nvaris++ ;
           if (nvaris>=5) {
                   fprintf(ficparsas,"\n    ") ;
                   nvaris=0 ;
           }
       }        }
       nobs=0;for(n=0;n<2;n++){ c=getc(ficpar); nobs+=(n+(1-n)*256)*ascii_to_ebcdic[c];} fprintf(ficlog,"nobs=%d ",nobs);        nobs=0;for(n=0;n<2;n++){ c=getc(ficpar); nobs+=(n+(1-n)*256)*ascii_to_ebcdic[c];} fprintf(ficlog,"nobs=%d ",nobs);
       nobs=0;for(n=0;n<2;n++){ c=getc(ficpar); nobs+=(n+(1-n)*256)*ascii_to_ebcdic[c];} fprintf(ficlog,"nobs=%d ",nobs);        nobs=0;for(n=0;n<2;n++){ c=getc(ficpar); nobs+=(n+(1-n)*256)*ascii_to_ebcdic[c];} fprintf(ficlog,"nobs=%d ",nobs);
Line 464  main(int argc, char *argv[]) Line 471  main(int argc, char *argv[])
     fprintf(ficlog,"\n");      fprintf(ficlog,"\n");
     fprintf(ficparo,"\n");      fprintf(ficparo,"\n");
   }    }
   fprintf(ficparsas,";\n  output %s%d;\n end;\n else input;\n run;",optionfilefiname,level);    fprintf(ficparsas,";\n  output %s.u%d;\n end;\n else input;\n run;",optionfilefiname,level);
   fclose(ficparsas);    fclose(ficparsas);
   printf("Le nom du fichier de debug est %s\n",filelog);    printf("Le nom du fichier de debug est %s\n",filelog);
   printf("Le nom du fichier du format de sortie est %s\n",filereso);    printf("Le nom du fichier du format de sortie est %s\n",filereso);

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>