소스 검색

Close file stream if libpng fails to init

tags/v1.8.0
Xerbo 4 년 전
부모
커밋
751baefdff
1개의 변경된 파일24개의 추가작업 그리고 6개의 파일을 삭제
  1. +24
    -6
      pngio.c

+ 24
- 6
pngio.c 파일 보기

@@ -40,9 +40,15 @@ int mapOverlay(char *filename, rgb_t **crow, int nrow, int zenith, int MCIR) {

// Create reader
png_structp png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
if(!png) return 0;
if(!png) {
fclose(fp);
return 0;
}
png_infop info = png_create_info_struct(png);
if(!info) return 0;
if(!info) {
fclose(fp);
return 0;
}
png_init_io(png, fp);

// Read info from header
@@ -144,9 +150,15 @@ int readRawImage(char *filename, float **prow, int *nrow) {

// Create reader
png_structp png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
if(!png) return 0;
if(!png) {
fclose(fp);
return 0;
}
png_infop info = png_create_info_struct(png);
if(!info) return 0;
if(!info) {
fclose(fp);
return 0;
}
png_init_io(png, fp);

// Read info from header
@@ -202,9 +214,15 @@ int readPalette(char *filename, rgb_t **pixels) {

// Create reader
png_structp png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
if(!png) return 0;
if(!png) {
fclose(fp);
return 0;
}
png_infop info = png_create_info_struct(png);
if(!info) return 0;
if(!info) {
fclose(fp);
return 0;
}
png_init_io(png, fp);

// Read info from header


불러오는 중...
취소
저장