Changeset 6029:c25f9d9f78a6 in roaraudio for libroar/caps.c


Ignore:
Timestamp:
07/15/14 11:07:45 (10 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

some smaller improvements in error handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/caps.c

    r5961 r6029  
    4848 size_t needlen = 4; 
    4949 
    50  if ( mes == NULL || caps == NULL ) 
    51   return -1; 
     50 if ( mes == NULL || caps == NULL ) { 
     51  roar_err_set(ROAR_ERROR_FAULT); 
     52  return -1; 
     53 } 
    5254 
    5355 needlen += caps->len; 
    5456 
    5557 if ( needlen > sizeof(mes->data) ) { 
    56   if ( data == NULL ) 
     58  if ( data == NULL ) { 
     59   roar_err_set(ROAR_ERROR_FAULT); 
    5760   return -1; 
     61  } 
    5862 
    5963  if ( (*data = roar_mm_malloc(needlen)) == NULL ) 
     
    8286 char * datap; 
    8387 
    84  if ( mes == NULL || caps == NULL ) 
    85   return -1; 
     88 if ( mes == NULL || caps == NULL ) { 
     89  roar_err_set(ROAR_ERROR_FAULT); 
     90  return -1; 
     91 } 
    8692 
    8793 if ( data != NULL ) { 
     
    9298 
    9399 // versin check. 
    94  if ( datap[0] != 0 || mes->datalen < 4 ) 
    95   return -1; 
     100 if ( datap[0] != 0 ) { 
     101  roar_err_set(ROAR_ERROR_NSVERSION); 
     102  return -1; 
     103 } 
     104 
     105 if ( mes->datalen < 4 ) { 
     106  roar_err_set(ROAR_ERROR_PROTO); 
     107  return -1; 
     108 } 
    96109 
    97110 memset(caps, 0, sizeof(struct roar_caps)); 
     
    132145  flags |= ROAR_CF_REQUEST; 
    133146 
    134  if ( (flags & ROAR_CF_REQUEST) && out == NULL ) 
    135   return -1; 
     147 if ( (flags & ROAR_CF_REQUEST) && out == NULL ) { 
     148  roar_err_set(ROAR_ERROR_FAULT); 
     149  return -1; 
     150 } 
    136151 
    137152 if ( in != NULL ) 
     
    179194 if ( mes.cmd != ROAR_CMD_OK ) { 
    180195  if ( data != NULL ) 
    181    roar_mm_free(data); 
     196   roar_mm_free_noerror(data); 
    182197  return -1; 
    183198 } 
     
    185200 if ( roar_caps_from_msg(&caps, &mes, data) == -1 ) { 
    186201  if ( data != NULL ) 
    187    roar_mm_free(data); 
     202   roar_mm_free_noerror(data); 
    188203  return -1; 
    189204 } 
     
    193208  if ( data != NULL ) 
    194209   roar_mm_free(data); 
     210  roar_err_set(ROAR_ERROR_PROTO); 
    195211  return -1; 
    196212 } 
     
    200216  if ( *out == NULL ) { 
    201217   if ( data != NULL ) 
    202     roar_mm_free(data); 
     218    roar_mm_free_noerror(data); 
    203219   return -1; 
    204220  } 
     
    237253 
    238254 if ( ret->stds == NULL ) { 
    239   roar_mm_free(ret); 
     255  roar_mm_free_noerror(ret); 
    240256  return NULL; 
    241257 } 
Note: See TracChangeset for help on using the changeset viewer.