Changeset 3667:cfe93dbf0bdb in roaraudio for libroaross
- Timestamp:
- 04/05/10 11:49:06 (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroaross/libroaross.c
r3666 r3667 1348 1348 //roar_vio_to_stdio 1349 1349 1350 static int _vio_close (struct roar_vio_calls * vio) { 1351 int ret = 0; 1352 1353 if ( roar_vio_get_fh(vio) != -1 ) 1354 ret = close(roar_vio_get_fh(vio)); 1355 1356 roar_mm_free(vio); 1357 1358 return ret; 1359 } 1360 1350 1361 FILE *fopen(const char *path, const char *mode) { 1362 struct roar_vio_calls * vio; 1351 1363 struct pointer * pointer; 1352 1364 FILE * fr; … … 1398 1410 break; 1399 1411 default: // return successfully opened pointer to caller 1412 #if 0 1400 1413 if ( (pointer = _get_pointer_by_fh(ret)) != NULL ) { 1401 1414 if ( (fr = roar_vio_to_stdio(&(pointer->handle->stream_vio), flags)) == NULL ) { … … 1409 1422 return NULL; 1410 1423 } 1424 #endif 1425 if ( (vio = roar_mm_malloc(sizeof(struct roar_vio_calls))) == NULL ) { 1426 return NULL; // errno should be set correctly by roar_mm_malloc(). 1427 } 1428 1429 roar_vio_init_calls(vio); // TODO: add error handling. 1430 roar_vio_set_fh(vio, ret); // TODO: add error handling. 1431 vio->close = _vio_close; 1432 if ( (fr = roar_vio_to_stdio(vio, flags)) == NULL ) { 1433 _vio_close(vio); 1434 errno = EIO; 1435 return NULL; 1436 } else { 1437 return fr; 1438 } 1411 1439 break; 1412 1440 }
Note: See TracChangeset
for help on using the changeset viewer.