decoder-snd.c
branchtrunk
changeset 29 640ce9201139
parent 25 887faebaba0a
child 34 afc13760179b
equal deleted inserted replaced
28:38d35ff3d93f 29:640ce9201139
   730 
   730 
   731             if(cat) {
   731             if(cat) {
   732               char *s=index(cat,' '); if(s) *s=0;
   732               char *s=index(cat,' '); if(s) *s=0;
   733               code=DoCddbCmd("cddb read %s %08x\n",cat,id->discid);
   733               code=DoCddbCmd("cddb read %s %08x\n",cat,id->discid);
   734               if(code==210) {
   734               if(code==210) {
   735                 char *name=0;
   735                 char *name=aprintf("%s/%s/%08x",cddbpath,cat,id->discid);
   736                 asprintf(&name,"%s/%s/%08x",cddbpath,cat,id->discid);
       
   737                 if(MakeDirs(name,false)) {
   736                 if(MakeDirs(name,false)) {
   738                   FILE *out=fopen(name,"w");
   737                   FILE *out=fopen(name,"w");
   739                   if(out) {
   738                   if(out) {
   740                     while(GetLine(off,sizeof(off),false) && off[0]!='.') fputs(off,out);
   739                     while(GetLine(off,sizeof(off),false) && off[0]!='.') fputs(off,out);
   741                     fclose(out);
   740                     fclose(out);
   788 int cCDDB::DoCddbCmd(const char *format, ...)
   787 int cCDDB::DoCddbCmd(const char *format, ...)
   789 {
   788 {
   790   va_list ap;
   789   va_list ap;
   791   va_start(ap,format);
   790   va_start(ap,format);
   792   char *buff=0;
   791   char *buff=0;
   793   vasprintf(&buff,format,ap);
   792   if(vasprintf(&buff,format,ap)<0);
   794   va_end(ap);
   793   va_end(ap);
   795 #ifdef CDDB_DEBUG
   794 #ifdef CDDB_DEBUG
   796   printf("cddb: -> %s",buff);
   795   printf("cddb: -> %s",buff);
   797 #endif
   796 #endif
   798   int r=net->Puts(buff);
   797   int r=net->Puts(buff);