$resolvedBuildFailures = $build->GetResolvedBuildFailures($type); while ($resolvedBuildFailure = pdo_fetch_array($resolvedBuildFailures)) { $marshaledResolvedBuildFailure = buildfailure::marshal($resolvedBuildFailure, $project_array, $revision); if ($project_array['displaylabels']) { get_labels_JSON_from_query_results("SELECT text FROM label, label2buildfailure\n WHERE label.id=label2buildfailure.labelid AND\n label2buildfailure.buildfailureid='" . $resolvedBuildFailure['id'] . "'\n ORDER BY text ASC", $marshaledResolvedBuildFailure); } $marshaledResolvedBuildFailure = array_merge($marshaledResolvedBuildFailure, array('stderr' => $resolvedBuildFailure['stderror'], 'stderrorrows' => min(10, substr_count($resolvedBuildFailure['stderror'], "\n") + 1), 'stdoutput' => $resolvedBuildFailure['stdoutput'], 'stdoutputrows' => min(10, substr_count($resolvedBuildFailure['stdoutputrows'], "\n") + 1))); addErrorResponse($marshaledResolvedBuildFailure); } } else { $extrasql = ''; if (isset($_GET['onlydeltap'])) { $extrasql = " AND newstatus='1'"; } // Build error table $buildErrors = $build->GetBuildErrors($type, $extrasql); while ($buildError = pdo_fetch_array($buildErrors)) { addErrorResponse(builderror::marshal($buildError, $project_array, $revision)); } // Build failure table $buildFailures = $build->getBuildFailures($projectid, $type, $extrasql, 'bf.id ASC'); while ($buildFailure = pdo_fetch_array($buildFailures)) { $marshaledBuildFailure = buildfailure::marshal($buildFailure, $project_array, $revision, true); if ($project_array['displaylabels']) { get_labels_JSON_from_query_results("SELECT text FROM label, label2buildfailure\n WHERE label.id=label2buildfailure.labelid AND\n label2buildfailure.buildfailureid='" . $buildFailure['id'] . "'\n ORDER BY text ASC", $marshaledBuildFailure); } addErrorResponse($marshaledBuildFailure); } } if ($build->IsParentBuild()) { $response['numSubprojects'] = count(array_unique(array_map(function ($buildError) {