Ticket #3842: 3842-head-dbg-2.patch
File 3842-head-dbg-2.patch, 3.8 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/datadirect.cpp
1099 1099 1100 1100 if (ok) 1101 1101 { 1102 if (copy(out, in)) 1102 ok = copy(out, in); 1103 in.close(); 1104 pclose(fp); 1105 1106 if (ok) 1103 1107 { 1104 pclose(fp);1105 1108 fp = fopen(cache_dd_data.ascii(), "r"); 1109 VERBOSE(VB_IMPORTANT, "fp("<<cache_dd_data.ascii()<<"): "<<fp); 1106 1110 } 1107 1111 else 1108 1112 { … … 1110 1114 LOC_ERR + "Failed to save DD cache! " 1111 1115 "redownloading data..."); 1112 1116 cachedata = false; 1113 pclose(fp);1114 1117 fp = DDPost(ddurl, GetPostFilename(), inputfile, 1115 1118 GetUserID(), GetPassword(), 1116 1119 pstartDate, pendDate, err); … … 1118 1121 } 1119 1122 } 1120 1123 1124 if (!fp) 1125 { 1126 VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to get data 2 " + 1127 QString("(%1) -- ").arg(err) + ENO); 1128 return false; 1129 } 1130 1131 bool ok = true; 1121 1132 QFile f; 1122 1133 if (f.open(IO_ReadOnly, fp)) 1123 1134 { … … 1131 1142 else 1132 1143 { 1133 1144 VERBOSE(VB_GENERAL, LOC_ERR + "Error opening DataDirect file"); 1134 pclose(fp); 1135 fp = NULL; 1145 ok = false; 1136 1146 } 1137 1147 1138 return fp; 1148 if (!cachedata && inputfile.isEmpty()) 1149 pclose(fp); 1150 else 1151 fclose(fp); 1152 1153 return ok; 1139 1154 } 1140 1155 1141 1156 bool DataDirectProcessor::GrabLineupsOnly(void) -
libs/libmyth/util.cpp
605 605 return false; 606 606 } 607 607 608 /** \fn Copy(QFile&,QFile&,uint)608 /** \fn copy(QFile&,QFile&,uint) 609 609 * \brief Copies src file to dst file. 610 610 * 611 611 * If the dst file is open, it must be open for writing. … … 636 636 return -1LL; 637 637 638 638 if (!dst.isWritable() && !dst.isOpen()) 639 { 639 640 odst = dst.open(IO_Raw|IO_WriteOnly|IO_Truncate); 641 VERBOSE(VB_IMPORTANT, "copy: opening dst ("<<odst<<")"); 642 } 640 643 641 644 if (!src.isReadable() && !src.isOpen()) 645 { 642 646 osrc = src.open(IO_Raw|IO_ReadOnly); 647 VERBOSE(VB_IMPORTANT, "copy: opened src ("<<osrc<<")"); 648 } 643 649 644 650 bool ok = dst.isWritable() && src.isReadable(); 645 651 long long total_bytes = 0LL; … … 649 655 rlen = src.readBlock(buf, buflen); 650 656 if (rlen<0) 651 657 { 658 VERBOSE(VB_IMPORTANT, "copy: read error"); 652 659 ok = false; 653 660 break; 654 661 } … … 663 670 if (wlen>=0) 664 671 off+= wlen; 665 672 if (wlen<0) 673 { 674 VERBOSE(VB_IMPORTANT, "copy: write error"); 666 675 ok = false; 676 } 667 677 } 668 678 } 669 679 delete[] buf; 670 680 681 VERBOSE(VB_IMPORTANT, "copy: "<<((ok)?"ok":"error")); 682 671 683 if (odst) 684 { 685 VERBOSE(VB_IMPORTANT, "copy: closing dst"); 672 686 dst.close(); 687 } 673 688 674 689 if (osrc) 690 { 691 VERBOSE(VB_IMPORTANT, "copy: closing src"); 675 692 src.close(); 693 } 676 694 677 695 return (ok) ? total_bytes : -1LL; 678 696 } -
libs/libmyth/util.h
75 75 MPUBLIC bool telnet(const QString &host, int port); 76 76 77 77 MPUBLIC long long copy(QFile &dst, QFile &src, uint block_size = 0); 78 MPUBLIC QString createTempFile(QString name_template = "/tmp/mythtv_XXXXX ",78 MPUBLIC QString createTempFile(QString name_template = "/tmp/mythtv_XXXXXX", 79 79 bool dir = false); 80 80 81 81 #endif // UTIL_H_