- Timestamp:
- Nov 22, 1999, 12:20:36 AM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/FitsIOServer/fitsioserver.cc
r605 r609 341 341 if (sph.NbPixels() != npixels) 342 342 { 343 cout << " found " << npixels << " pixels" << endl;344 cout << " expected " << sph.NbPixels() << endl;343 //DBG cout << " found " << npixels << " pixels" << endl; 344 //DBG cout << " expected " << sph.NbPixels() << endl; 345 345 if (nside <= 0 ) 346 346 { … … 352 352 { 353 353 sph.Resize(nside); 354 cout << " resizing the sphere to nside=" << nside << endl;355 } 356 else357 {358 cout << " FITSIOSERVER : same resolution, surprising ! " << endl;354 cout << "FitsIoServer::load(SphereGorski<double> ...) ReSizing to NSide= " << nside << endl; 355 } 356 // else 357 // { 358 // cout << " FITSIOSERVER : same resolution, surprising ! " << endl; 359 359 // exit(0); $CHECK$ Ca peut etre OK , non ?? Reza 20/11/99 360 }360 // } 361 361 } 362 362 for (int j = 0; j < sph.NbPixels(); j++) sph(j)= (double)r_8tab_[j]; … … 386 386 if (sph.NbPixels() != npixels) 387 387 { 388 cout << " found " << npixels << " pixels" << endl;389 cout << " expected " << sph.NbPixels() << endl;388 //DBG cout << " found " << npixels << " pixels" << endl; 389 //DBG cout << " expected " << sph.NbPixels() << endl; 390 390 if (nside <= 0 ) 391 391 { … … 397 397 { 398 398 sph.Resize(nside); 399 cout << " resizing the sphere to nside=" << nside << endl;400 } 401 else402 {403 cout << " FITSIOSERVER : same resolution, surprising ! " << endl;399 cout << "FitsIoServer::load(SphereGorski<float> ...) ReSizing to NSide= " << nside << endl; 400 } 401 // else 402 // { 403 // cout << " FITSIOSERVER : same resolution, surprising ! " << endl; 404 404 // exit(0); $CHECK$ - Il ne faut pas sortir, me semble-t-il , Reza 20/11/99 405 }405 // } 406 406 } 407 407 // cout << " fin relecture debut transfert" << endl; … … 716 716 717 717 // extension name 718 char extname[]= "NTuple_Binary_tbl";718 char * extname = "NTuple_Binary_tbl"; 719 719 720 720 // define the name, and the datatype for the tfields columns … … 760 760 } 761 761 fits_write_col(fptr,TFLOAT,i+1,firstrow,firstelem,nrows,dens,&status); 762 delete []dens;762 delete[] dens; 763 763 } 764 764 … … 774 774 { 775 775 char keytype= (*it).second.typ; 776 char keyname[ 9]="";776 char keyname[10]; 777 777 strncpy(keyname,(*it).first.substr(0,64).c_str(),8); 778 char comment[FLEN_COMMENT] ="";778 char comment[FLEN_COMMENT]; 779 779 780 780 switch (keytype) … … 796 796 case 'S' : 797 797 { 798 char strval[ ]="";799 str cpy(strval,(*it).second.mtv.strv);798 char strval[128]; 799 strncpy(strval,(*it).second.mtv.strv,127); 800 800 strcpy(comment,"S character string"); 801 801 fits_write_key(fptr,TSTRING,keyname,&strval,comment,&status); … … 1151 1151 1152 1152 //dvl.Print(); 1153 char keyname[16]; 1154 int flen_keyword = 9; 1155 char comment[FLEN_COMMENT]; 1156 char strval[128]; 1157 1153 1158 DVList::ValList::const_iterator it; 1154 1159 for(it = dvl.Begin(); it != dvl.End(); it++) 1155 1160 { 1156 1161 int datatype= key_type_PL2FITS( (*it).second.typ); 1157 char keyname[]="";1158 int flen_keyword = 9;1159 1162 // FLEN_KEYWORD est la longueur max d'un mot-cle. Il doit y avoir une 1160 1163 // erreur dans la librairie fits qui donne FLEN_KEYWORD=72 1161 1164 // contrairement a la notice qui donne FLEN_KEYWORD=9 (ch. 5, p.39) 1162 strncpy(keyname, (*it).first.substr(0,64).c_str(),flen_keyword-1); 1163 char comment[FLEN_COMMENT]=""; 1165 //$CHECK$ Reza 20/11/99 1166 // strncpy(keyname, (*it).first.substr(0,64).c_str(),flen_keyword-1); 1167 strncpy(keyname, (*it).first.substr(0,64).c_str(),flen_keyword); 1168 keyname[flen_keyword] = '\0'; 1164 1169 int ival=0; 1165 1170 double dval=0.; 1166 char strval[]="";1167 1171 switch (datatype) 1168 1172 { … … 1170 1174 ival=(*it).second.mtv.iv; 1171 1175 strcpy(comment,"I entier"); 1176 //DBG cerr << " Writing I " << (string)keyname << " = " << ival << endl; 1172 1177 fits_write_key(fptr, datatype, keyname, &ival, comment, &status); 1173 1178 break; … … 1175 1180 dval=(*it).second.mtv.dv; 1176 1181 strcpy(comment,"D double"); 1182 //DBG cerr << " Writing D " << (string)keyname << " = " << dval << endl; 1177 1183 fits_write_key(fptr, datatype, keyname, &dval, comment, &status); 1178 1184 break; 1179 1185 case TSTRING : 1180 str cpy(strval, (*it).second.mtv.strv);1186 strncpy(strval, (*it).second.mtv.strv, 128); strval[127] = '\0'; 1181 1187 strcpy(comment,"S character string"); 1188 //DBG cerr << " Writing S " << (string)keyname << " = " << (string)strval << endl; 1182 1189 fits_write_key(fptr, datatype, keyname, &strval, comment, &status); 1183 1190 break; … … 1188 1195 if( status ) printerror( status ); 1189 1196 } 1197 1198 strncpy(keyname, "CREATOR",flen_keyword); keyname[flen_keyword] = '\0'; 1199 strcpy(strval, "SOPHYA"); 1200 strcpy(comment," SOPHYA Package - FITSIOServer "); 1201 fits_write_key(fptr, TSTRING, keyname, &strval, comment, &status); 1202 if( status ) printerror( status ); 1203 1204 fits_write_comment(fptr,"..............................................", &status); 1205 fits_write_comment(fptr, " SOPHYA package - FITSIOSever ", &status); 1206 fits_write_comment(fptr, " (C) LAL/IN2P3-CNRS Orsay, FRANCE 1999", &status); 1207 fits_write_comment(fptr, " (C) DAPNIA/CEA Saclay, FRANCE 1999", &status); 1208 fits_write_comment(fptr,"..............................................", &status); 1209 if( status ) printerror( status ); 1210 1190 1211 // close the file 1191 1212 fits_close_file(fptr, &status); … … 1207 1228 1208 1229 // create new FITS file 1209 fits_create_file(&fptr, flnm, &status); 1230 fits_create_file(&fptr, flnm, &status); 1231 //DBG cerr << " DBG - Apres fits_create_file status = " << status << endl; 1210 1232 if( status ) printerror( status ); 1211 1233 … … 1216 1238 // write the current date 1217 1239 fits_write_date(fptr, &status); 1240 //DBG cerr << " DBG - Apres write_date status = " << status << endl; 1218 1241 if( status ) printerror( status ); 1219 1242 … … 1242 1265 fits_create_tbl(fptr,BINARY_TBL,nrows,tfields,ttype,tform, 1243 1266 NULL,extname,&status); 1267 //DBG cerr << " DBG - Apres create_tbl status = " << status << endl; 1244 1268 if( status ) printerror( status ); 1245 1269 for( int ii = 0; ii < tfields; ii++) … … 1255 1279 case TDOUBLE : 1256 1280 fits_write_col(fptr, TDOUBLE, 1, 1, 1, nelements, r_8tab_, &status); 1257 if( status ) printerror( status, "probleme dans ecriture du tableau de doubles" ); 1281 if( status ) 1282 printerror( status, "planck_write_bntbl: Error writing double table" ); 1258 1283 break; 1259 1284 1260 1261 1285 case TFLOAT : 1262 for (int kk=0; kk<10; kk++) cout << r_4tab_[kk] << endl;1286 //DBG!!! $CHECK$ Reza for (int kk=0; kk<10; kk++) cout << r_4tab_[kk] << endl; 1263 1287 fits_write_col(fptr, TFLOAT, 1, 1, 1, nelements, r_4tab_, &status); 1264 if( status ) printerror( status ); 1288 if( status ) 1289 printerror( status, "planck_write_bntbl: Error writing float table" ); 1265 1290 break; 1266 1291 case TINT : 1267 1292 fits_write_col(fptr, TINT, 1, 1, 1, nelements, i_4tab_, &status); 1268 if( status ) printerror( status ); 1293 if( status ) 1294 printerror( status, "planck_write_bntbl: Error writing int table"); 1269 1295 break; 1270 1296 default : … … 1275 1301 fits_write_comment(fptr, " ", &status); 1276 1302 fits_write_comment(fptr, " ", &status); 1303 //DBG cerr << " DBG - Apres write_comment1 status = " << status << endl; 1277 1304 if( status ) printerror( status ); 1278 1305 fits_write_comment(fptr,"--------------------------------------------", &status); 1279 1306 fits_write_comment(fptr, comment1, &status); 1280 1307 fits_write_comment(fptr,"--------------------------------------------", &status); 1308 //DBG cerr << " DBG - Apres write_comment2 status = " << status << endl; 1281 1309 if( status ) printerror( status ); 1282 1310 … … 1290 1318 { 1291 1319 int datatype= key_type_PL2FITS( (*it).second.typ); 1292 char keyname[]=""; 1293 strncpy(keyname, (*it).first.substr(0,64).c_str(),flen_keyword-1); 1294 char comment[FLEN_COMMENT]=""; 1320 char keyname[16]; 1321 strncpy(keyname, (*it).first.substr(0,64).c_str(),flen_keyword); 1322 keyname[flen_keyword] = '\0'; 1323 char comment[FLEN_COMMENT]; 1295 1324 int ival=0; 1296 1325 double dval=0.; 1297 char strval[ ]="";1326 char strval[128]; 1298 1327 switch (datatype) 1299 1328 { … … 1301 1330 ival=(*it).second.mtv.iv; 1302 1331 strcpy(comment," "); 1332 //DBG cerr << " Writing I " << (string)keyname << " = " << ival << endl; 1303 1333 fits_write_key(fptr, datatype, keyname, &ival, comment, &status); 1304 1334 break; … … 1306 1336 dval=(*it).second.mtv.dv; 1307 1337 strcpy(comment," "); 1338 //DBG cerr << " Writing D " << (string)keyname << " = " << dval << endl; 1308 1339 fits_write_key(fptr, datatype, keyname, &dval, comment, &status); 1309 1340 break; 1310 1341 case TSTRING : 1311 str cpy(strval, (*it).second.mtv.strv);1342 strncpy(strval, (*it).second.mtv.strv, 128); strval[127] = '\0'; 1312 1343 strcpy(comment," "); 1344 //DBG cerr << " Writing S " << (string)keyname << " = " << (string)strval << endl; 1313 1345 fits_write_key(fptr, datatype, keyname, &strval, comment, &status); 1314 1346 break; … … 1319 1351 if( status ) printerror( status ); 1320 1352 } 1321 //char keyname[]="";1322 //char strval[]="";1323 //char comment[FLEN_COMMENT]="";1324 //strncpy(keyname, "CREATOR",flen_keyword-1);1325 //strcpy(strval, "SOPHYA");1326 //strcpy(comment," Orsay");1327 //fits_write_key(fptr, TSTRING, keyname, &strval, comment, &status);1328 //if( status ) printerror( status );1353 char keyname[16]; 1354 char strval[32]; 1355 char comment[FLEN_COMMENT]; 1356 strncpy(keyname, "CREATOR",flen_keyword); keyname[flen_keyword] = '\0'; 1357 strcpy(strval, "SOPHYA"); 1358 strcpy(comment," SOPHYA Package - FITSIOServer "); 1359 fits_write_key(fptr, TSTRING, keyname, &strval, comment, &status); 1360 if( status ) printerror( status ); 1329 1361 // close the file 1330 1362 fits_close_file(fptr, &status); 1363 //DBG cerr << " DBG - Apres close status = " << status << endl; 1331 1364 if( status ) printerror( status ); 1332 1365 } … … 1420 1453 int num = 0; 1421 1454 char comment2[FLEN_COMMENT] = "x"; 1422 char keyname[ ]= "";1423 char datekey[]= "DATE";1424 char endkey[]= "END";1455 char keyname[16]; 1456 char * datekey= "DATE"; 1457 char * endkey= "END"; 1425 1458 char typ='x'; 1426 1459 int ival; 1427 1460 double dval; 1428 char strval[ ]="";1461 char strval[90]; 1429 1462 // on a convenu que les mots cles utilisateur sont apres le mot cle DATE 1430 1463 // on va jusqu'au mot cle DATE … … 1437 1470 num++; 1438 1471 fits_read_record(fptr, num, card, &status); 1439 strncpy(keyname,card,flen_keyword-1); 1472 strncpy(keyname,card,flen_keyword-1); keyname[10] = '\0'; 1440 1473 } 1441 1474 if (status != 0 ) … … 1449 1482 // on lit un record pour recuperer le nom du mot-cle 1450 1483 fits_read_record(fptr, num, card, &status); 1451 strncpy(keyname,card,flen_keyword-1); 1484 strncpy(keyname,card,flen_keyword-1); keyname[10] = '\0'; 1452 1485 char value[FLEN_VALUE]; 1453 1486 // on recupere le premier caractere du commentaire, qui contient … … 1481 1514 break; 1482 1515 default : 1483 cout << " FITSIOSERVER::planck_read_img : type de donnee non prevu " << endl; 1516 // cout << " FITSIOSERVER::planck_read_img -> DVList Type ? for key " 1517 // << (string)keyname << endl; 1484 1518 break; 1485 1519 } … … 1533 1567 if( status ) printerror( status ); 1534 1568 1535 char binta[]= "BINTABLE";1569 char * binta = "BINTABLE"; 1536 1570 if ( strncmp(xtension, binta,8) != 0) 1537 1571 // if (xtension !="BINTABLE") … … 1631 1665 char dtype; 1632 1666 //char bidon[LEN_KEYWORD]; 1633 char comkey[]= "COMMENT";1667 char * comkey = "COMMENT"; 1634 1668 1635 1669 for(int j = 1; j <= nkeys; j++)
Note:
See TracChangeset
for help on using the changeset viewer.