
  PROCEDURE [INLINE] fdp$convert_to_cobol_name
    (VAR name: ost$name);

    TYPE
      char_set = set of char;

    VAR
      bad_character: char_set,
      found_bad_character: boolean,
      n: 1 .. 31,
      string_index: 1 .. 31,
      string_length: 1 .. 31,
      scratch_name: ost$name;

    #TRANSLATE (fdv$to_cobol, name, scratch_name);

    found_bad_character := TRUE;
    name := scratch_name;
    bad_character := $char_set ['?'];
    WHILE found_bad_character DO
      #SCAN (bad_character, scratch_name, string_index, found_bad_character);
      IF found_bad_character THEN
        name (string_index, * ) := scratch_name (string_index + 1, * );
        scratch_name := name;
      IFEND;
    WHILEND;

    IF name (1, 1) = '-' THEN
      name (1, * ) := scratch_name (2, * );
    IFEND;

    name (31, * ) := ' ';
    string_length := clp$trimmed_string_size (name);
    WHILE (name (string_length, 1) = '-') DO
      name (string_length, * ) := '  ';
      IF string_length <> 1 THEN
        string_length := string_length - 1;
      IFEND;
    WHILEND;

  PROCEND fdp$convert_to_cobol_name;

?? PUSH (LISTEXT := ON) ??
*copyc fdv$to_cobol
*copyc ost$name
*copyc clp$trimmed_string_size
?? POP ??
