void print(int version, FILE *aus) { word i; char is[8]; if (hasdeclaration) { strcpy(sTDECL, " "); if (TID > 9999) TID = 9999; // Größenbegrenzungen wg. Ausdruck if (NTP > 12) NTP = 12; strftime(sTDECL,sizeof sTDECL,"%d%m%y%H%M%S",&TDECL); // If no FDT field was received from the logger (from FW 161 upwards) // we have to create one if (!(FDT[0] | FDT[1] | FDT[2])) { // TDECL is used as a base memcpy(&T_FDT, &TDECL, sizeof T_FDT); // Add the timezone T_FDT.tm_min += zz_min; T_FDT.tm_isdst = -1; //JMW TODO mktime(&T_FDT); FDT[0] = T_FDT.tm_mday; FDT[1] = T_FDT.tm_mon + 1; FDT[2] = T_FDT.tm_year % 100; } if (version >= 422) { FDT[0] = 0; FDT[1] = 0; FDT[2] = 0; } if (FDT[0] > 31) FDT[0] = 31; if (FDT[1] > 12) FDT[1] = 12; if (FDT[2] > 99) FDT[2] = 99; fprintf(aus, "C%s%02u%02u%02u%04u%02u\n", sTDECL, FDT[0], FDT[1], FDT[2], TID, NTP); // print C1-Record TKF.print(version, aus, "Takeoff"); // print Takeoff-Point STA.print(version, aus, "Start "); // print Start-Point // print Turnpoints for (i = 0; i < NTP; i++) { sprintf(is, "TP%02u ", i + 1); TP[i].print(version, aus, is); } FIN.print(version, aus, "Finish "); // print Finish-Point LDG.print(version, aus, "Landing"); // print Landing-Point } }
void print(int version, FILE *aus) { word i; char is[8]; if (hasdeclaration) { strcpy(sTDECL," "); if (TID>9999) TID=9999; // Größenbegrenzungen wg. Ausdruck if (NTP>12) NTP = 12; //JMW TODO??? strftime(sTDECL,sizeof sTDECL,"%d%m%y%H%M%S",&TDECL); // Wenn kein FDT-Feld vom Logger kam (Logger ab FW 161) // dann muß eben eines erzeugt werden if (!(FDT[0]|FDT[1]|FDT[2])) { // TDECL als Basis nehmen memcpy(&T_FDT, &TDECL, sizeof T_FDT); // Zeitzone draufrechnen T_FDT.tm_min += zz_min; T_FDT.tm_isdst = -1; ////JMW TODO mktime(&T_FDT); FDT[0] = T_FDT.tm_mday; FDT[1] = T_FDT.tm_mon+1; FDT[2] = T_FDT.tm_year % 100; } if (version >= 422) { FDT[0] = 0; FDT[1] = 0; FDT[2] = 0; } if (FDT[0] > 31) FDT[0] = 31; if (FDT[1] > 12) FDT[1] = 12; if (FDT[2] > 99) FDT[2] = 99; fprintf(aus,"C%s%02u%02u%02u%04u%02u\n",sTDECL,FDT[0],FDT[1],FDT[2],TID,NTP); // C1-Record ausgeben TKF.print(version,aus,"Takeoff"); // Ausgabe von Takeoff-Point STA.print(version,aus,"Start "); // Start-Point for (i=0; i<NTP; i++) { // Turnpoints sprintf(is,"TP%02u ",i+1); TP[i].print(version,aus,is); } FIN.print(version,aus,"Finish "); // Finish-Point LDG.print(version,aus,"Landing"); // Landing-Point } }