Changeset 1354 in Sophya for trunk/SophyaExt/FitsIOServer
- Timestamp:
- Dec 15, 2000, 6:58:13 PM (25 years ago)
- Location:
- trunk/SophyaExt/FitsIOServer
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/FitsIOServer/fitsfile.cc
r1353 r1354 345 345 } 346 346 347 bool FitsInFile::hasKeyword(string keyw, int hdunum) 347 string FitsInFile::getStringKeyword(int hdunum, string keyw, int& retStatus) 348 { 349 string s; 350 retStatus = 0; 351 int status = 0; 352 if (hdunum != hdunum_ ) 353 { 354 int hdutype; 355 fits_movabs_hdu(fptr_,hdunum,&hdutype,&status); 356 } 357 358 char value[FLEN_VALUE]; 359 char* keyname= const_cast<char*>(keyw.c_str()); 360 fits_read_key_str(fptr_,keyname,value,NULL,&status); 361 if (status == 0) 362 s = string(value); 363 else retStatus = status; 364 if (hdunum != hdunum_ ) 365 { 366 int hdutype; 367 if (hdunum_ != 0) 368 fits_movabs_hdu(fptr_,hdunum_,&hdutype,&status); 369 else fits_movabs_hdu(fptr_,1,&hdutype,&status); 370 371 } 372 return s; 373 } 374 bool FitsInFile::hasKeyword(int hdunum, string keyw) 348 375 { 349 376 bool has=false; … … 1886 1913 char* cvalue = new char[16]; 1887 1914 sprintf(cvalue,"%e",value); 1888 // char* kn = const_cast<char*>(keyname.c_str());1889 // char* cm = const_cast<char*>(comment.c_str());1890 1915 FitsKeyword kw(keyname, string(cvalue), comment); 1891 1916 mots_cles_.push_back(kw); … … 1935 1960 { 1936 1961 status=0; 1962 if (status == VALUE_UNDEFINED) cout << "WARNING (FitsKeyword) : undefined keyword value " << endl; 1937 1963 datatype_=' '; 1938 1964 } … … 1943 1969 case 'C': 1944 1970 { 1945 svalue_ = string(val); 1971 strip(valk, 'B','\''); 1972 svalue_ = string(valk); 1946 1973 break; 1947 1974 } … … 1953 1980 case 'L': 1954 1981 { 1955 // cout << " ATTENTION : pb a regler avec logical!" << endl; 1956 if (value[0] == 'T') ivalue_ = 1; 1957 else ivalue_ = 0; 1982 bool bb = value.c_str(); 1983 ivalue_ = (int)bb; 1958 1984 break; 1959 1985 } -
trunk/SophyaExt/FitsIOServer/fitsfile.h
r1353 r1354 135 135 136 136 void ReadHeader(int hdunum); 137 bool hasKeyword(string keyw, int hdunum); 137 bool hasKeyword(int hdunum, string keyw); 138 string getStringKeyword(int hdunum, string keyname,int& retStatus); 138 139 139 140 /*! \return a reference on a DVList containing the keywords from FITS file */
Note:
See TracChangeset
for help on using the changeset viewer.