Changeset 4508 for trunk/module-cccam.c
- Timestamp:
- 01/17/11 14:22:12 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-cccam.c
r4504 r4508 245 245 } 246 246 ll_iter_release(it); 247 return ( int)srvid;247 return (srvid != 0); 248 248 } 249 249 … … 257 257 } 258 258 ll_iter_release(it); 259 return ( int)srvid;259 return (srvid != 0); 260 260 } 261 261 … … 1509 1509 void cc_free(struct s_client *cl) { 1510 1510 struct cc_data *cc = cl->cc; 1511 if (!cc) 1512 return; 1513 1511 if (!cc) return; 1512 1513 cl->cc=NULL; 1514 pthread_mutex_lock(&cc->cards_busy); 1515 if (!cl->cc) return; 1514 1516 cc_free_cardlist(cc->cards, TRUE); 1515 1517 cc_free_reported_carddata(cl, cc->reported_carddatas, NULL, FALSE); … … 1520 1522 free_extended_ecm_idx(cc); 1521 1523 ll_destroy_data(cc->extended_ecm_idx); 1524 1525 pthread_mutex_unlock(&cc->lock); 1522 1526 pthread_mutex_destroy(&cc->lock); 1527 1528 pthread_mutex_unlock(&cc->ecm_busy); 1523 1529 pthread_mutex_destroy(&cc->ecm_busy); 1530 1531 pthread_mutex_unlock(&cc->cards_busy); 1524 1532 pthread_mutex_destroy(&cc->cards_busy); 1525 1533 free(cc->prefix); 1526 1534 free(cc); 1527 cl->cc=NULL;1528 1535 } 1529 1536 … … 3165 3172 struct cc_card *card; 3166 3173 struct s_client *rc = rdr->client; 3167 struct cc_data *rcc = rc ->cc;3174 struct cc_data *rcc = rc?rc->cc:NULL; 3168 3175 3169 3176 int count = 0; … … 3273 3280 if (rdr->typ == R_CCCAM && rdr->fd && rdr->enable && !rdr->deleted) { 3274 3281 struct s_client *clr = rdr->client; 3275 if (clr ->cc) {3282 if (clr && clr->cc) { 3276 3283 struct cc_data *ccr = clr->cc; 3277 3284 modified += ccr->cards_modified; … … 3622 3629 cc = cs_malloc(&cc, sizeof(struct cc_data), QUITERROR); 3623 3630 memset(cc, 0, sizeof(struct cc_data)); 3624 cc->cards = ll_create _nolock();3631 cc->cards = ll_create(); 3625 3632 cl->cc = cc; 3626 3633 cc->pending_emms = ll_create_nolock(); … … 3860 3867 */ 3861 3868 int cc_available(struct s_reader *rdr, int checktype) { 3869 if (!rdr || !rdr->client) return 0; 3870 3862 3871 struct s_client *cl = rdr->client; 3863 3864 3872 //cs_debug_mask(D_TRACE, "checking reader %s availibility", rdr->label); 3865 3873 if (!cl->cc || rdr->tcp_connected != 2 || rdr->card_status != CARD_INSERTED) {
Note:
See TracChangeset
for help on using the changeset viewer.