.. | .. |
---|
262 | 262 | if (fscanf(sysfsfp, "%f", output) != 1) |
---|
263 | 263 | ret = errno ? -errno : -ENODATA; |
---|
264 | 264 | |
---|
| 265 | + fclose(sysfsfp); |
---|
265 | 266 | break; |
---|
266 | 267 | } |
---|
267 | 268 | error_free_filename: |
---|
.. | .. |
---|
342 | 343 | } |
---|
343 | 344 | |
---|
344 | 345 | sysfsfp = fopen(filename, "r"); |
---|
| 346 | + free(filename); |
---|
345 | 347 | if (!sysfsfp) { |
---|
346 | 348 | ret = -errno; |
---|
347 | | - free(filename); |
---|
348 | 349 | goto error_close_dir; |
---|
349 | 350 | } |
---|
350 | 351 | |
---|
.. | .. |
---|
354 | 355 | if (fclose(sysfsfp)) |
---|
355 | 356 | perror("build_channel_array(): Failed to close file"); |
---|
356 | 357 | |
---|
357 | | - free(filename); |
---|
358 | 358 | goto error_close_dir; |
---|
359 | 359 | } |
---|
360 | 360 | if (ret == 1) |
---|
.. | .. |
---|
362 | 362 | |
---|
363 | 363 | if (fclose(sysfsfp)) { |
---|
364 | 364 | ret = -errno; |
---|
365 | | - free(filename); |
---|
366 | 365 | goto error_close_dir; |
---|
367 | 366 | } |
---|
368 | 367 | |
---|
369 | | - free(filename); |
---|
370 | 368 | } |
---|
371 | 369 | |
---|
372 | 370 | *ci_array = malloc(sizeof(**ci_array) * (*counter)); |
---|
.. | .. |
---|
392 | 390 | } |
---|
393 | 391 | |
---|
394 | 392 | sysfsfp = fopen(filename, "r"); |
---|
| 393 | + free(filename); |
---|
395 | 394 | if (!sysfsfp) { |
---|
396 | 395 | ret = -errno; |
---|
397 | | - free(filename); |
---|
398 | 396 | count--; |
---|
399 | 397 | goto error_cleanup_array; |
---|
400 | 398 | } |
---|
.. | .. |
---|
402 | 400 | errno = 0; |
---|
403 | 401 | if (fscanf(sysfsfp, "%i", ¤t_enabled) != 1) { |
---|
404 | 402 | ret = errno ? -errno : -ENODATA; |
---|
405 | | - free(filename); |
---|
406 | 403 | count--; |
---|
407 | 404 | goto error_cleanup_array; |
---|
408 | 405 | } |
---|
409 | 406 | |
---|
410 | 407 | if (fclose(sysfsfp)) { |
---|
411 | 408 | ret = -errno; |
---|
412 | | - free(filename); |
---|
413 | 409 | count--; |
---|
414 | 410 | goto error_cleanup_array; |
---|
415 | 411 | } |
---|
416 | 412 | |
---|
417 | 413 | if (!current_enabled) { |
---|
418 | | - free(filename); |
---|
419 | 414 | count--; |
---|
420 | 415 | continue; |
---|
421 | 416 | } |
---|
.. | .. |
---|
426 | 421 | strlen(ent->d_name) - |
---|
427 | 422 | strlen("_en")); |
---|
428 | 423 | if (!current->name) { |
---|
429 | | - free(filename); |
---|
430 | 424 | ret = -ENOMEM; |
---|
431 | 425 | count--; |
---|
432 | 426 | goto error_cleanup_array; |
---|
.. | .. |
---|
436 | 430 | ret = iioutils_break_up_name(current->name, |
---|
437 | 431 | ¤t->generic_name); |
---|
438 | 432 | if (ret) { |
---|
439 | | - free(filename); |
---|
440 | 433 | free(current->name); |
---|
441 | 434 | count--; |
---|
442 | 435 | goto error_cleanup_array; |
---|
.. | .. |
---|
447 | 440 | scan_el_dir, |
---|
448 | 441 | current->name); |
---|
449 | 442 | if (ret < 0) { |
---|
450 | | - free(filename); |
---|
451 | 443 | ret = -ENOMEM; |
---|
452 | 444 | goto error_cleanup_array; |
---|
453 | 445 | } |
---|
454 | 446 | |
---|
455 | 447 | sysfsfp = fopen(filename, "r"); |
---|
| 448 | + free(filename); |
---|
456 | 449 | if (!sysfsfp) { |
---|
457 | 450 | ret = -errno; |
---|
458 | | - fprintf(stderr, "failed to open %s\n", |
---|
459 | | - filename); |
---|
460 | | - free(filename); |
---|
| 451 | + fprintf(stderr, "failed to open %s/%s_index\n", |
---|
| 452 | + scan_el_dir, current->name); |
---|
461 | 453 | goto error_cleanup_array; |
---|
462 | 454 | } |
---|
463 | 455 | |
---|
.. | .. |
---|
467 | 459 | if (fclose(sysfsfp)) |
---|
468 | 460 | perror("build_channel_array(): Failed to close file"); |
---|
469 | 461 | |
---|
470 | | - free(filename); |
---|
471 | 462 | goto error_cleanup_array; |
---|
472 | 463 | } |
---|
473 | 464 | |
---|
474 | 465 | if (fclose(sysfsfp)) { |
---|
475 | 466 | ret = -errno; |
---|
476 | | - free(filename); |
---|
477 | 467 | goto error_cleanup_array; |
---|
478 | 468 | } |
---|
479 | 469 | |
---|
480 | | - free(filename); |
---|
481 | 470 | /* Find the scale */ |
---|
482 | 471 | ret = iioutils_get_param_float(¤t->scale, |
---|
483 | 472 | "scale", |
---|