mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			148 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| From: ernst.molitor@uni-bonn.de
 | |
| 
 | |
| Hi,
 | |
| 
 | |
| thank you for the latest Postgres95 distribution! 
 | |
| 
 | |
| >does the createuser bug still persist, or have
 | |
| >we finally worked that one out?
 | |
| 
 | |
| As has been indication by Bruce Momjian, the createuser problem was
 | |
| caused by a bug in flex 2.5.3 (which has been confirmed by Vern
 | |
| Paxson, the flex maintainer - many thanks to them); the bug will be
 | |
| fixed in flex 2.5.4. Vern Paxson has been so kind as to supply me with
 | |
| a patch that will be part of the 2.5.4 release; I'm including it below
 | |
| in case someone has installed flex 2.5.3 and doesn't want to go
 | |
| back to 2.5.2...
 | |
| 
 | |
| Regards,
 | |
| 
 | |
| Ernst
 | |
| ---
 | |
| *** flex-2.5.3/flex.skl	Sat May 25 21:02:33 1996
 | |
| --- flex.skl	Tue Jul  2 16:35:49 1996
 | |
| ***************
 | |
| *** 1,7 ****
 | |
|   /* A lexical scanner generated by flex */
 | |
| 
 | |
|   /* Scanner skeleton version:
 | |
| !  * $Header: /cvsroot/pgsql/doc/Attic/README.flex,v 1.1.1.1 1996/08/18 22:14:17 scrappy Exp $
 | |
|    */
 | |
| 
 | |
|   #define FLEX_SCANNER
 | |
| --- 1,7 ----
 | |
|   /* A lexical scanner generated by flex */
 | |
| 
 | |
|   /* Scanner skeleton version:
 | |
| !  * $Header: /cvsroot/pgsql/doc/Attic/README.flex,v 1.1.1.1 1996/08/18 22:14:17 scrappy Exp $
 | |
|    */
 | |
| 
 | |
|   #define FLEX_SCANNER
 | |
| ***************
 | |
| *** 783,789 ****
 | |
|   		/* don't do the read, it's not guaranteed to return an EOF,
 | |
|   		 * just force an EOF
 | |
|   		 */
 | |
| ! 		yy_n_chars = 0;
 | |
| 
 | |
|   	else
 | |
|   		{
 | |
| --- 783,789 ----
 | |
|   		/* don't do the read, it's not guaranteed to return an EOF,
 | |
|   		 * just force an EOF
 | |
|   		 */
 | |
| ! 		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
 | |
| 
 | |
|   	else
 | |
|   		{
 | |
| ***************
 | |
| *** 838,843 ****
 | |
| --- 838,845 ----
 | |
|   		/* Read in more data. */
 | |
|   		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
 | |
|   			yy_n_chars, num_to_read );
 | |
| +
 | |
| + 		yy_current_buffer->yy_n_chars = yy_n_chars;
 | |
|   		}
 | |
| 
 | |
|   	if ( yy_n_chars == 0 )
 | |
| ***************
 | |
| *** 947,953 ****
 | |
| 
 | |
|   		yy_cp += (int) (dest - source);
 | |
|   		yy_bp += (int) (dest - source);
 | |
| ! 		yy_n_chars = yy_current_buffer->yy_buf_size;
 | |
| 
 | |
|   		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
 | |
|   			YY_FATAL_ERROR( "flex scanner push-back overflow" );
 | |
| --- 949,956 ----
 | |
| 
 | |
|   		yy_cp += (int) (dest - source);
 | |
|   		yy_bp += (int) (dest - source);
 | |
| ! 		yy_current_buffer->yy_n_chars =
 | |
| ! 			yy_n_chars = yy_current_buffer->yy_buf_size;
 | |
| 
 | |
|   		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
 | |
|   			YY_FATAL_ERROR( "flex scanner push-back overflow" );
 | |
| ***************
 | |
| *** 997,1009 ****
 | |
| 
 | |
|   			switch ( yy_get_next_buffer() )
 | |
|   				{
 | |
|   				case EOB_ACT_END_OF_FILE:
 | |
|   					{
 | |
|   					if ( yywrap() )
 | |
| - 						{
 | |
| - 						yy_c_buf_p = yytext_ptr + offset;
 | |
|   						return EOF;
 | |
| - 						}
 | |
| 
 | |
|   					if ( ! yy_did_buffer_switch_on_eof )
 | |
|   						YY_NEW_FILE;
 | |
| --- 1000,1025 ----
 | |
| 
 | |
|   			switch ( yy_get_next_buffer() )
 | |
|   				{
 | |
| + 				case EOB_ACT_LAST_MATCH:
 | |
| + 					/* This happens because yy_g_n_b()
 | |
| + 					 * sees that we've accumulated a
 | |
| + 					 * token and flags that we need to
 | |
| + 					 * try matching the token before
 | |
| + 					 * proceeding.  But for input(),
 | |
| + 					 * there's no matching to consider.
 | |
| + 					 * So convert the EOB_ACT_LAST_MATCH
 | |
| + 					 * to EOB_ACT_END_OF_FILE.
 | |
| + 					 */
 | |
| +
 | |
| + 					/* Reset buffer status. */
 | |
| + 					yyrestart( yyin );
 | |
| +
 | |
| + 					/* fall through */
 | |
| +
 | |
|   				case EOB_ACT_END_OF_FILE:
 | |
|   					{
 | |
|   					if ( yywrap() )
 | |
|   						return EOF;
 | |
| 
 | |
|   					if ( ! yy_did_buffer_switch_on_eof )
 | |
|   						YY_NEW_FILE;
 | |
| ***************
 | |
| *** 1017,1031 ****
 | |
|   				case EOB_ACT_CONTINUE_SCAN:
 | |
|   					yy_c_buf_p = yytext_ptr + offset;
 | |
|   					break;
 | |
| -
 | |
| - 				case EOB_ACT_LAST_MATCH:
 | |
| - #ifdef __cplusplus
 | |
| - 					YY_FATAL_ERROR(
 | |
| - 					"unexpected last match in yyinput()" );
 | |
| - #else
 | |
| - 					YY_FATAL_ERROR(
 | |
| - 					"unexpected last match in input()" );
 | |
| - #endif
 | |
|   				}
 | |
|   			}
 | |
|   		}
 | |
| --- 1033,1038 ----
 | |
| 
 |