Changeset 4570
- Timestamp:
- 01/23/11 09:41:53 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/reader-nagra.c
r4356 r4570 692 692 } ncmed_rec; 693 693 694 int reccmp(const void *r1, const void *r2)694 static int reccmp(const void *r1, const void *r2) 695 695 { 696 696 int v1, v2, y, m, d; … … 700 700 v2 = y * 372 + 1 + m * 31 + d; 701 701 return (v1 == v2) ? 0 : (v1 < v2) ? -1 : 1; 702 } 703 704 static int reccmp2(const void *r1, const void *r2) 705 { 706 char rec1[13], rec2[13]; 707 sprintf(rec1, "%04X", ((ncmed_rec *)r1)->value); 708 memcpy(rec1+4, ((ncmed_rec *)r1)->date2+6, 4); 709 memcpy(rec1+8, ((ncmed_rec *)r1)->date2+3, 2); 710 memcpy(rec1+10, ((ncmed_rec *)r1)->date2, 2); 711 sprintf(rec2, "%04X", ((ncmed_rec *)r2)->value); 712 memcpy(rec2+4, ((ncmed_rec *)r2)->date2+6, 4); 713 memcpy(rec2+8, ((ncmed_rec *)r2)->date2+3, 2); 714 memcpy(rec2+10, ((ncmed_rec *)r2)->date2, 2); 715 rec1[12] = rec2[12] = 0; 716 return strcmp(rec2, rec1); 702 717 } 703 718 … … 783 798 } 784 799 } 785 qsort(records, num_records, sizeof(ncmed_rec), reccmp); 800 if (reader->nagra_read == 1) 801 qsort(records, num_records, sizeof(ncmed_rec), reccmp); 802 else 803 qsort(records, num_records, sizeof(ncmed_rec), reccmp2); 786 804 787 805 int euro=0; … … 821 839 break; 822 840 } 841 if (reader->nagra_read == 2) 842 { 843 while (i < num_records - 1 && records[i].value == records[i+1].value) 844 ++i; 845 } 823 846 } 824 847 … … 1065 1088 // emm_data: 82 70 8E 00 00 00 00 00 D3 87 8D 11 C0 F4 B1 27 2C 3D 25 94 ... 1066 1089 //serial_data: A0 CA 00 00 8C D3 8A 01 00 00 00 00 C0 F4 B1 27 2C 3D 25 94 ... 1067 unsigned char emm_trim[150]; 1068 memset(emm_trim, 0, 150); 1090 unsigned char emm_trim[150] = { 0x01, 0x00, 0x00, 0x00, 0x00 }; 1069 1091 memcpy(&emm_trim[5], ep->emm+3+5+2+2, ep->emm[9]+2); 1070 1092 if(!do_cmd(reader, ep->emm[8],ep->emm[9]+5,0x53,0x16, emm_trim,cta_res,&cta_lr))
Note:
See TracChangeset
for help on using the changeset viewer.