Changeset 656 for trunk/src/ifd/apdu.c
- Timestamp:
- 05/29/05 11:36:03 (7 years ago)
- File:
-
- 1 edited
-
trunk/src/ifd/apdu.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ifd/apdu.c
r354 r656 11 11 * Check the APDU type and length 12 12 */ 13 static int 14 __ifd_apdu_check(const void *sbuf, size_t len, ifd_iso_apdu_t *iso) 13 static int __ifd_apdu_check(const void *sbuf, size_t len, ifd_iso_apdu_t * iso) 15 14 { 16 unsigned char *data = (unsigned char *)sbuf;17 unsigned int b;15 unsigned char *data = (unsigned char *)sbuf; 16 unsigned int b; 18 17 19 18 memset(iso, 0, sizeof(*iso)); … … 29 28 if (len == 0) { 30 29 iso->cse = IFD_APDU_CASE_2S; 31 iso->le = b ? b : 256;30 iso->le = b ? b : 256; 32 31 return 0; 33 32 } … … 50 49 if (len == b + 1) { 51 50 iso->cse = IFD_APDU_CASE_4S; 52 iso->le = data[b] ? data[b] : 256;51 iso->le = data[b] ? data[b] : 256; 53 52 iso->len--; 54 53 return 0; … … 58 57 } 59 58 60 int 61 ifd_apdu_case(const void *buf, size_t len) 59 int ifd_apdu_case(const void *buf, size_t len) 62 60 { 63 61 ifd_iso_apdu_t iso; … … 71 69 * Convert internal APDU type to an ISO-7816-4 APDU 72 70 */ 73 int 74 ifd_iso_apdu_parse(const void *data, size_t len, ifd_iso_apdu_t *iso) 71 int ifd_iso_apdu_parse(const void *data, size_t len, ifd_iso_apdu_t * iso) 75 72 { 76 unsigned char *p;73 unsigned char *p; 77 74 78 75 if (len < 4) … … 82 79 return -1; 83 80 84 p = (unsigned char *) data;81 p = (unsigned char *)data; 85 82 iso->cla = *p++; 86 83 iso->ins = *p++; 87 iso->p1 = *p++;88 iso->p2 = *p++;84 iso->p1 = *p++; 85 iso->p2 = *p++; 89 86 90 87 return 0;
Note: See TracChangeset
for help on using the changeset viewer.
