
  PROCEDURE [INLINE] clp$only_validate_name
    (    potential_name: string ( * <= osc$max_name_size);
     VAR name_is_valid: boolean);

?? PUSH (LISTEXT := ON) ??
{ When a change is made to this routine, a corresponding change should be
{ made to clp$validate_name if necessary.

    TYPE
      char_set = set of char;

    VAR
      ignore_scan_found_char: boolean,
      non_name_chars: char_set,
      scan_index: 1 .. osc$max_name_size + 1;

    CASE potential_name (1) OF
    = '#', '$', '@', 'A' .. 'Z', 'a' .. 'z', '[', '\', ']', '^', '_', '`', '{',
          '|', '}', '~' =
      non_name_chars := -$char_set ['#', '$', '0', '1', '2', '3', '4', '5',
            '6', '7', '8', '9', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
            'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
            'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
            'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
            'v', 'w', 'x', 'y', 'z', '[', '\', ']', '^', '_', '`', '{', '|',
            '}', '~'];
      #SCAN (non_name_chars, potential_name, scan_index,
            ignore_scan_found_char);
      name_is_valid := potential_name (scan_index, * ) = '';
    ELSE
      name_is_valid := FALSE;
    CASEND;

  PROCEND clp$only_validate_name;

*copyc ost$name
?? POP ??
*copyc osv$lower_to_upper
