Changeset 3066 for trunk/external-alma/atnf/PKSIO/NROFITSDataset.cc
- Timestamp:
- 11/25/15 12:55:08 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/external-alma/atnf/PKSIO/NROFITSDataset.cc
r2940 r3066 1684 1684 char ctmp[5] ; 1685 1685 std::size_t retval = fread( ctmp, 1, 4, fp_ ) ; 1686 if (retval < 4) { 1687 os << LogIO::SEVERE << "Failed to read array configuration." << LogIO::EXCEPTION; 1688 } 1686 1689 ctmp[4] = '\0' ; 1687 1690 //cout << "ctmp = " << ctmp << endl ; … … 1768 1771 while ( strncmp( buf, name, strlen(name) ) != 0 && strncmp( buf, "END", 3 ) != 0 ) { 1769 1772 std::size_t retval = fread( buf, 1, 80, fp_ ) ; 1773 if (retval < 80) { 1774 LogIO os(LogOrigin("NROFITSDataset", "readHeader(string)", WHERE)); 1775 os << LogIO::SEVERE << "Failed to read header" << LogIO::EXCEPTION; 1776 } 1770 1777 buf[80] = '\0' ; 1771 1778 count++ ; … … 1802 1809 while ( strncmp( buf, name, strlen(name) ) != 0 && strncmp( buf, "END", 3 ) != 0 ) { 1803 1810 std::size_t retval = fread( buf, 1, 80, fp_ ) ; 1811 if (retval < 80) { 1812 LogIO os(LogOrigin("NROFITSDataset", "readHeader(int)", WHERE)); 1813 os << LogIO::SEVERE << "Failed to read header" << LogIO::EXCEPTION; 1814 } 1804 1815 buf[80] = '\0' ; 1805 1816 //char bufo[9] ; … … 1838 1849 while ( strncmp( buf, name, strlen(name) ) != 0 && strncmp( buf, "END", 3 ) != 0 ) { 1839 1850 std::size_t retval = fread( buf, 1, 80, fp_ ) ; 1851 if (retval < 80) { 1852 LogIO os(LogOrigin("NROFITSDataset", "readHeader(float)", WHERE)); 1853 os << LogIO::SEVERE << "Failed to read header" << LogIO::EXCEPTION; 1854 } 1840 1855 buf[80] = '\0' ; 1841 1856 //char bufo[9] ; … … 1872 1887 while ( strncmp( buf, name, strlen(name) ) != 0 && strncmp( buf, "END", 3 ) != 0 ) { 1873 1888 std::size_t retval = fread( buf, 1, 80, fp_ ) ; 1889 if (retval < 80) { 1890 LogIO os(LogOrigin("NROFITSDataset", "readHeader(double)", WHERE)); 1891 os << LogIO::SEVERE << "Failed to read header" << LogIO::EXCEPTION; 1892 } 1874 1893 buf[80] = '\0' ; 1875 1894 char bufo[9] ; … … 1895 1914 } 1896 1915 1897 int NROFITSDataset::readTable( char *v, const char *name, int clen, int idx )1916 int NROFITSDataset::readTable( char *v, const char *name, size_t clen, int idx ) 1898 1917 { 1899 1918 // … … 1909 1928 return -1; 1910 1929 1911 int xsize = iter->second.size;1930 size_t xsize = iter->second.size; 1912 1931 1913 1932 // read data 1914 1933 if ( xsize < clen ) { 1915 1934 std::size_t retval = fread( v, 1, xsize, fp_ ) ; 1935 if (retval < xsize) { 1936 LogIO os(LogOrigin("NROFITSDataset", "readTable(char *)", WHERE)); 1937 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 1938 } 1916 1939 //v[xsize] = '\0' ; 1917 1940 } 1941 else if (clen > 0) { 1942 std::size_t retval = fread( v, 1, clen - 1, fp_ ) ; 1943 if (retval < clen - 1) { 1944 LogIO os(LogOrigin("NROFITSDataset", "readTable(char *)", WHERE)); 1945 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 1946 } 1947 //v[clen-1] = '\0' ; 1948 } 1918 1949 else { 1919 std::size_t retval = fread( v, 1, clen-1, fp_ ) ; 1920 //v[clen-1] = '\0' ; 1950 status = -1; 1921 1951 } 1922 1952 … … 1936 1966 // read data 1937 1967 std::size_t retval = fread( &v, sizeof(int), 1, fp_ ) ; 1968 if (retval < 1) { 1969 LogIO os(LogOrigin("NROFITSDataset", "readTable(int)", WHERE)); 1970 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 1971 } 1938 1972 if ( b == 0 ) 1939 1973 convertEndian( v ) ; … … 1954 1988 // read data 1955 1989 std::size_t retval = fread( &v, sizeof(float), 1, fp_ ) ; 1990 if (retval < 1) { 1991 LogIO os(LogOrigin("NROFITSDataset", "readTable(float)", WHERE)); 1992 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 1993 } 1956 1994 if ( b == 0 ) 1957 1995 convertEndian( v ) ; … … 1972 2010 // read data 1973 2011 std::size_t retval = fread( &v, sizeof(double), 1, fp_ ) ; 2012 if (retval < 1) { 2013 LogIO os(LogOrigin("NROFITSDataset", "readTable(double)", WHERE)); 2014 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2015 } 1974 2016 if ( b == 0 ) 1975 2017 convertEndian( v ) ; … … 1991 2033 return -1; 1992 2034 1993 int xsize = iter->second.size;2035 size_t xsize = iter->second.size; 1994 2036 1995 2037 for ( unsigned int i = 0 ; i < v.size() ; i++ ) { 1996 int clen = strlen( v[i] ) ;2038 size_t clen = strlen( v[i] ) ; 1997 2039 if ( clen > xsize ) { 1998 2040 std::size_t retval = fread( v[i], 1, xsize, fp_ ) ; 2041 if (retval < xsize) { 2042 LogIO os(LogOrigin("NROFITSDataset", "readTable(vector<char *>)", WHERE)); 2043 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2044 } 1999 2045 //v[i][xsize] = '\0' ; 2000 2046 } 2001 2047 else { 2002 2048 std::size_t retval = fread( v[i], 1, clen, fp_ ) ; 2049 if (retval < clen) { 2050 LogIO os(LogOrigin("NROFITSDataset", "readTable(vector<char *>)", WHERE)); 2051 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2052 } 2003 2053 //v[i][clen-1] = '\0' ; 2004 2054 } … … 2019 2069 2020 2070 for ( unsigned int i = 0 ; i < v.size() ; i++ ) { 2021 std::size_t retval = fread( &v[i], 1, sizeof(int), fp_ ) ; 2071 std::size_t retval = fread( &v[i], sizeof(int), 1, fp_ ) ; 2072 if (retval < 1) { 2073 LogIO os(LogOrigin("NROFITSDataset", "readTable(vector<int>)", WHERE)); 2074 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2075 } 2022 2076 if ( b == 0 ) 2023 2077 convertEndian( v[i] ) ; … … 2038 2092 2039 2093 for ( unsigned int i = 0 ; i < v.size() ; i++ ) { 2040 std::size_t retval = fread( &v[i], 1, sizeof(float), fp_ ) ; 2094 std::size_t retval = fread( &v[i], sizeof(float), 1, fp_ ) ; 2095 if (retval < 1) { 2096 LogIO os(LogOrigin("NROFITSDataset", "readTable(vector<float>)", WHERE)); 2097 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2098 } 2041 2099 if ( b == 0 ) 2042 2100 convertEndian( v[i] ) ; … … 2057 2115 2058 2116 for ( unsigned int i = 0 ; i < v.size() ; i++ ) { 2059 std::size_t retval = fread( &v[i], 1, sizeof(double), fp_ ) ; 2117 std::size_t retval = fread( &v[i], sizeof(double), 1, fp_ ) ; 2118 if (retval < 1) { 2119 LogIO os(LogOrigin("NROFITSDataset", "readTable(vector<double>)", WHERE)); 2120 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2121 } 2060 2122 if ( b == 0 ) 2061 2123 convertEndian( v[i] ) ; … … 2080 2142 return -1; 2081 2143 2082 int xsize = iter->second.size;2144 size_t xsize = iter->second.size; 2083 2145 2084 2146 for ( unsigned int i = 0 ; i < v.size() ; i++ ) { … … 2096 2158 char c[xsize+1] ; 2097 2159 std::size_t retval = fread( c, 1, xsize, fp_ ) ; 2160 if (retval < xsize) { 2161 LogIO os(LogOrigin("NROFITSDataset", "readColumn(string)", WHERE)); 2162 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2163 } 2098 2164 c[xsize] = '\0' ; 2099 2165 v[i] = string( c ) ; … … 2118 2184 int offset = scanLen_ * arrayid_[i] + sizeof(int) * idx ; 2119 2185 fseek( fp_, offset, SEEK_CUR ) ; 2120 std::size_t retval = fread( &v[i], 1, sizeof(int), fp_ ) ; 2186 std::size_t retval = fread( &v[i], sizeof(int), 1, fp_ ) ; 2187 if (retval < 1) { 2188 LogIO os(LogOrigin("NROFITSDataset", "readColumn(int)", WHERE)); 2189 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2190 } 2121 2191 if ( b == 0 ) 2122 2192 convertEndian( v[i] ) ; … … 2142 2212 fseek( fp_, offset, SEEK_CUR ) ; 2143 2213 std::size_t retval = fread( &v[i], 1, sizeof(float), fp_ ) ; 2214 if (retval < 1) { 2215 LogIO os(LogOrigin("NROFITSDataset", "readColumn(float)", WHERE)); 2216 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2217 } 2144 2218 if ( b == 0 ) 2145 2219 convertEndian( v[i] ) ; … … 2165 2239 fseek( fp_, offset, SEEK_CUR ) ; 2166 2240 std::size_t retval = fread( &v[i], 1, sizeof(double), fp_ ) ; 2241 if (retval < 1) { 2242 LogIO os(LogOrigin("NROFITSDataset", "readColumn(double)", WHERE)); 2243 os << LogIO::SEVERE << "Failed to read binary table" << LogIO::EXCEPTION; 2244 } 2167 2245 if ( b == 0 ) 2168 2246 convertEndian( v[i] ) ;
Note: See TracChangeset
for help on using the changeset viewer.