Changeset 4876:06a2f29d0450 in roaraudio
- Timestamp:
- 04/26/11 12:06:37 (13 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/error.c
r4871 r4876 125 125 void roar_err_update(void) { 126 126 int * err = roar_errno2(); 127 128 // NOTE: _NEVER_ call ROAR_{DBG,INFO,WARN,ERRO}() in here! (will result in endless loop) 129 //printf("*err=%i, errno=%i\n", *err, (int)errno); 130 127 131 if ( *err != ROAR_ERROR_NONE ) { 128 132 roar_err_to_errno(); … … 144 148 145 149 switch (errno) { 150 #ifdef EACCES 151 case EACCES: _roar_errno = ROAR_ERROR_PERM; break; 152 #endif 146 153 #ifdef EPERM 147 154 case EPERM: _roar_errno = ROAR_ERROR_PERM; break; -
libroar/vio.c
r4873 r4876 297 297 roar_err_clear_all(); 298 298 if ( (fh = open(filename, flags, mode)) == -1 ) { 299 ROAR_DBG("roar_vio_open_file(*): errno=%s", strerror(errno)); 299 300 roar_err_update(); 301 ROAR_DBG("roar_vio_open_file(*): errno=%s", strerror(errno)); 300 302 return -1; 301 303 } -
libroar/vio_dstr.c
r4824 r4876 329 329 break; 330 330 case ROAR_VIO_DEF_TYPE_FILE: 331 if ( roar_vio_open_file(calls, def->d.file, def->o_flags, def->o_mode) == -1 ) 331 roar_libroar_nowarn(); 332 if ( roar_vio_open_file(calls, def->d.file, def->o_flags, def->o_mode) == -1 ) { 333 roar_libroar_warn(); 334 ROAR_DBG("roar_vio_open_default(*): Can not open file: %i", roar_error); 332 335 return -1; 336 } 337 roar_libroar_warn(); 333 338 break; 334 339 case ROAR_VIO_DEF_TYPE_SOCKET: … … 356 361 } 357 362 358 #define _ret(x) roar_mm_free(dstr); return (x)363 #define _ret(x) do { int _err = roar_error; roar_mm_free(dstr); roar_error = _err; roar_err_to_errno(); return (x); } while (0) 359 364 360 365 int roar_vio_open_dstr_vio(struct roar_vio_calls * calls, … … 548 553 case ROAR_VIO_DSTR_OBJT_NULL: 549 554 case ROAR_VIO_DSTR_OBJT_ZERO: 555 case ROAR_VIO_DSTR_OBJT_FULL: 550 556 case ROAR_VIO_DSTR_OBJT_NRANDOM: 551 557 case ROAR_VIO_DSTR_OBJT_TANTALOS: … … 745 751 } 746 752 747 #define _ret(x) roar_vio_close(calls); ROAR_DBG("roar_vio_dstr_build_chain(*) = %i", (x)); return (x)753 #define _ret(x) do { int _err = roar_error; roar_vio_close(calls); roar_error = _err; roar_err_to_errno(); ROAR_DBG("roar_vio_dstr_build_chain(*) = %i", (x)); return (x); } while(0) 748 754 749 755 int roar_vio_dstr_build_chain(struct roar_vio_dstr_chain * chain, struct roar_vio_calls * calls, … … 871 877 case ROAR_VIO_DSTR_OBJT_NULL: 872 878 case ROAR_VIO_DSTR_OBJT_ZERO: 879 case ROAR_VIO_DSTR_OBJT_FULL: 873 880 case ROAR_VIO_DSTR_OBJT_NRANDOM: 874 881 if ( roar_vio_open_misc_by_name(tc, roar_vio_dstr_get_name(c->type)) == -1 ) { -
libroar/vio_misc.c
r4826 r4876 131 131 } 132 132 133 static ssize_t roar_vio_misc_op_full(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) 134 { 135 roar_err_set(ROAR_ERROR_NOSPC); 136 return -1; 137 } 138 133 139 static ssize_t roar_vio_misc_op_random_nonce(void * buf, size_t len, struct roar_vio_calls * vio, struct roar_vio_misc * callbacks) { 134 140 if ( roar_random_gen_nonce(buf, len) == -1 ) … … 147 153 static const struct roar_vio_misc libroar_vio_miscs[] = { 148 154 {.name = "null", .support_nonblocking = 1, .read = roar_vio_misc_op_return_zero, .write = roar_vio_misc_op_return_len}, 155 {.name = "full", .support_nonblocking = 1, .read = roar_vio_misc_op_return_zero, .write = roar_vio_misc_op_full}, 149 156 {.name = "zero", .support_nonblocking = 1, .read = roar_vio_misc_op_zero, .write = roar_vio_misc_op_return_len}, 150 157 {.name = "nrandom", .support_nonblocking = 1, -
libroar/vio_ops.c
r4708 r4876 45 45 ROAR_DBG("roar_vio_copy_data(out=%p, in=%p) = ?", out, in); 46 46 47 if ( out == NULL || in == NULL ) 47 if ( out == NULL || in == NULL ) { 48 roar_err_set(ROAR_ERROR_FAULT); 48 49 return -1; 50 } 51 52 roar_err_clear_all(); 49 53 50 54 while ((len = roar_vio_read(in, buf, ROAR_VIO_COPY_BUFSIZE)) > 0) { … … 58 62 ROAR_DBG("roar_vio_copy_data(out=%p, in=%p): len=%li, done=%li", out, in, (long int)len, (long int)done); 59 63 64 roar_err_clear_all(); 65 60 66 ROAR_DBG("roar_vio_copy_data(out=%p, in=%p) = %li", out, in, (long int)done); 61 67 return done; -
roarclients/roarvio.c
r4837 r4876 213 213 214 214 if ( roar_vio_open_dstr(&vio, file, &def, 1) == -1 ) { 215 ROAR_ERR("Can not open file: %s: %s", file, strerror(errno));215 ROAR_ERR("Can not open file: %s: %s", file, roar_error2str(roar_error)); 216 216 return 1; 217 217 } … … 230 230 } 231 231 232 if ( roar_error != ROAR_ERROR_NONE ) { 233 ROAR_ERR("Can not push data: %s", roar_error2str(roar_error)); 234 } 235 232 236 roar_vio_close(&vio); 233 237
Note: See TracChangeset
for help on using the changeset viewer.