mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 02:39:40 +01:00 
			
		
		
		
	* fixes memory leaks in case of string code * replace usage of strcmp * improved tests git-svn-id: trunk@13830 -
		
			
				
	
	
		
			69 lines
		
	
	
		
			1004 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1004 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
{ comparsion of one-symbol strings as ranges and single cases }
 | 
						|
 | 
						|
{$H-}
 | 
						|
var
 | 
						|
  my_str: string;
 | 
						|
  my_str_wide: widestring;
 | 
						|
  my_str_ansi: ansistring;
 | 
						|
  my_str_uni: unicodestring;
 | 
						|
  i: integer;
 | 
						|
 | 
						|
begin
 | 
						|
  my_str := 'c';
 | 
						|
  my_str_wide := 'c';
 | 
						|
  my_str_ansi := 'c';
 | 
						|
  my_str_uni := 'c';
 | 
						|
  i := -1;
 | 
						|
 | 
						|
  case my_str of
 | 
						|
    'a'..'b': i := 1;
 | 
						|
    'c': i := 2;
 | 
						|
    'd'..'eee': i := 3;
 | 
						|
    else i := 0;
 | 
						|
  end;
 | 
						|
 | 
						|
  if (i <> 2) then begin
 | 
						|
    writeln('Error');
 | 
						|
    Halt(1);
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  case my_str_wide of
 | 
						|
    'a'..'b': i := 1;
 | 
						|
    'c': i := 2;
 | 
						|
    'd'..'eee': i := 3;
 | 
						|
    else i := 0;
 | 
						|
  end;
 | 
						|
 | 
						|
  if (i <> 2) then begin
 | 
						|
    writeln('Error');
 | 
						|
    Halt(1);
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  case my_str_ansi of
 | 
						|
    'a'..'b': i := 1;
 | 
						|
    'c': i := 2;
 | 
						|
    'd'..'eee': i := 3;
 | 
						|
    else i := 0;
 | 
						|
  end;
 | 
						|
 | 
						|
  if (i <> 2) then begin
 | 
						|
    writeln('Error');
 | 
						|
    Halt(1);
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  case my_str_uni of
 | 
						|
    'a'..'b': i := 1;
 | 
						|
    'c': i := 2;
 | 
						|
    'd'..'eee': i := 3;
 | 
						|
    else i := 0;
 | 
						|
  end;
 | 
						|
 | 
						|
  if (i <> 2) then begin
 | 
						|
    writeln('Error');
 | 
						|
    Halt(1);
 | 
						|
  end;
 | 
						|
end.
 |