?? RIGHT := 110 ??
MODULE ocm$process_epts;
?? NEWTITLE := 'Object Correction Generation : Update Entry Point Offsets' ??
?? NEWTITLE := 'Global Declarations Referenced by This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc llt$deferred_entry_points
*copyc llt$entry_definition
*copyc llt$object_text_descriptor
*copyc oct$section_directory
?? POP ??
*copyc ocp$new_offset
?? OLDTITLE ??
?? NEWTITLE := '[XDCL] ocp$process_epts', EJECT ??
*copy och$process_epts

  PROCEDURE [XDCL] ocp$process_epts
    (    p_int_ol: ^SEQ ( * );
         entry_points: ^llt$object_text_descriptor;
         section_directory: ^oct$section_directory);

    VAR
      deferred_entry_points: ^llt$deferred_entry_points,
      entry_definition: ^llt$entry_definition,
      entry_points_all_processed: boolean,
      index: 1 .. llc$max_deferred_entry_points,
      int_ol: ^SEQ ( * ),
      object_text_descriptor: ^llt$object_text_descriptor;

    int_ol := p_int_ol;

    entry_points_all_processed := FALSE;
    RESET int_ol TO entry_points;
    REPEAT
      NEXT object_text_descriptor IN int_ol;
      IF object_text_descriptor^.kind = llc$entry_definition THEN
        NEXT entry_definition IN int_ol;
        entry_definition^.offset := ocp$new_offset (entry_definition^.offset,
              section_directory^ [entry_definition^.section_ordinal].section_offset_change_vector);
        entry_definition^.section_ordinal := section_directory^ [entry_definition^.section_ordinal].
              new_section_number;
      ELSEIF object_text_descriptor^.kind = llc$deferred_entry_points THEN
        NEXT deferred_entry_points: [1 .. object_text_descriptor^.number_of_entry_points] IN int_ol;
        FOR index := 1 TO object_text_descriptor^.number_of_entry_points DO
          deferred_entry_points^ [index].section_ordinal :=
                section_directory^ [deferred_entry_points^ [index].section_ordinal].new_section_number;
        FOREND;
      ELSE
        entry_points_all_processed := TRUE;
      IFEND;
    UNTIL entry_points_all_processed;
  PROCEND ocp$process_epts;
?? OLDTITLE ??
MODEND ocm$process_epts;
