Changeset 4260:73d7bdb1a9c5 in roaraudio


Ignore:
Timestamp:
08/27/10 04:41:26 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

better NULL checking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/vs.c

    r4215 r4260  
    4545#define _seterrre() do { _seterr(roar_errno); } while(0) 
    4646#define _seterrse() do { roar_err_from_errno(); _seterr(roar_errno); } while(0) 
     47#define _ckvss(ret) do { if ( vss == NULL ) { _seterr(ROAR_ERROR_INVAL); return (ret); } } while(0) 
    4748 
    4849struct roar_vs { 
     
    143144 int ret; 
    144145 
     146 _ckvss(-1); 
     147 
    145148 if ( vss->flags & FLAG_STREAM ) { 
    146149  _seterr(ROAR_ERROR_INVAL); 
     
    203206 } 
    204207 
     208 _ckvss(-1); 
     209 
    205210 if ( vss->flags & FLAG_STREAM ) { 
    206211  if ( killit == ROAR_VS_TRUE ) { 
     
    221226ssize_t roar_vs_write(roar_vs_t * vss, const void * buf, size_t len, int * error) { 
    222227 ssize_t ret; 
     228 
     229 _ckvss(-1); 
    223230 
    224231 if ( !(vss->flags & FLAG_STREAM) ) { 
     
    253260 ssize_t ret; 
    254261 
     262 _ckvss(-1); 
     263 
    255264 if ( !(vss->flags & FLAG_STREAM) ) { 
    256265  _seterr(ROAR_ERROR_INVAL); 
     
    272281 
    273282int     roar_vs_sync (roar_vs_t * vss, int wait, int * error) { 
     283 _ckvss(-1); 
     284 
    274285 if ( !(vss->flags & FLAG_STREAM) ) { 
    275286  _seterr(ROAR_ERROR_INVAL); 
     
    294305int     roar_vs_blocking (roar_vs_t * vss, int val, int * error) { 
    295306 int old = -1; 
     307 
     308 _ckvss(-1); 
    296309 
    297310  if ( !(vss->flags & FLAG_STREAM) ) { 
     
    380393 size_t offset; 
    381394 
     395 _ckvss(-1); 
     396 
    382397 if ( !(vss->flags & FLAG_STREAM) ) { 
    383398  _seterr(ROAR_ERROR_INVAL); 
     
    434449 _initerr(); 
    435450 
     451 _ckvss(-1); 
     452 
    436453 if (pos == -1) { 
    437454  _seterrre(); 
     
    479496 struct roar_stream_info info; 
    480497 int old = -1; 
     498 
     499 _ckvss(-1); 
    481500 
    482501 if ( !(vss->flags & FLAG_STREAM) ) { 
     
    530549 int oldchannels; 
    531550 int handled; 
     551 
     552 _ckvss(-1); 
    532553 
    533554 if ( !(vss->flags & FLAG_STREAM) ) { 
     
    652673 int ret = 0; 
    653674 
     675 _ckvss(-1); 
     676 
    654677 if ( !(vss->flags & FLAG_STREAM) ) { 
    655678  _seterr(ROAR_ERROR_INVAL); 
     
    691714 
    692715int     roar_vs_role          (roar_vs_t * vss, int role, int * error) { 
     716 _ckvss(-1); 
     717 
    693718 if ( !(vss->flags & FLAG_STREAM) ) { 
    694719  _seterr(ROAR_ERROR_INVAL); 
     
    707732 
    708733struct roar_connection * roar_vs_connection_obj(roar_vs_t * vss, int * error) { 
     734 _ckvss(NULL); 
     735 
    709736 return vss->con; 
    710737} 
    711738 
    712739struct roar_stream     * roar_vs_stream_obj    (roar_vs_t * vss, int * error) { 
     740 _ckvss(NULL); 
     741 
    713742 if ( !(vss->flags & FLAG_STREAM) ) { 
    714743  _seterr(ROAR_ERROR_INVAL); 
     
    720749 
    721750struct roar_vio_calls  * roar_vs_vio_obj       (roar_vs_t * vss, int * error) { 
     751 _ckvss(NULL); 
     752 
    722753 if ( !(vss->flags & FLAG_STREAM) ) { 
    723754  _seterr(ROAR_ERROR_INVAL); 
Note: See TracChangeset for help on using the changeset viewer.