@@ -435,58 +435,61 @@ struct _pdo_dbh_t {
435435	void  *driver_data;
436436
437437	/*  credentials */ 
438- 	char  *username, *password;
438+ 	char  *username;
439+ 	char  *password;
439440
440441	/*  if true, then data stored and pointed at by this handle must all be
441442	 * persistently allocated */  
442- 	unsigned  is_persistent:1 ;
443+ 	bool  is_persistent:1 ;
443444
444445	/*  if true, driver should act as though a COMMIT were executed between
445446	 * each executed statement; otherwise, COMMIT must be carried out manually 
446447	 * */  
447- 	unsigned  auto_commit:1 ;
448+ 	bool  auto_commit:1 ;
448449
449450	/*  if true, the handle has been closed and will not function anymore */ 
450- 	unsigned  is_closed:1 ;
451+ 	bool  is_closed:1 ;
451452
452453	/*  if true, the driver requires that memory be allocated explicitly for
453454	 * the columns that are returned */  
454- 	unsigned  alloc_own_columns:1 ;
455+ 	bool  alloc_own_columns:1 ;
455456
456457	/*  if true, commit or rollBack is allowed to be called */ 
457458	bool  in_txn:1 ;
458459
459- 	/*  max length a single character can become after correct quoting */ 
460- 	unsigned  max_escaped_char_length:3 ;
461- 
462- 	/*  oracle compat; see enum pdo_null_handling */ 
463- 	unsigned  oracle_nulls:2 ;
464- 
465460	/*  when set, convert int/floats to strings */ 
466- 	unsigned  stringify:1 ;
461+ 	bool  stringify:1 ;
467462
468463	/*  bitmap for pdo_param_event(s) to skip in dispatch_param_event */ 
469- 	unsigned  skip_param_evt:7 ;
464+ 	uint8_t  skip_param_evt;
465+ 
466+ 	/*  The PDO Error mode; see enum pdo_error_mode */ 
467+ 	uint8_t  error_mode;
468+ 
469+ 	/*  oracle compat; see enum pdo_null_handling */ 
470+ 	uint8_t  oracle_nulls;
471+ 
472+ 	/*  Case conversion; see enum pdo_case_conversion */ 
473+ 	uint8_t  native_case;
474+ 	uint8_t  desired_case;
470475
471- 	/*  the sum of the number of bits here and the bit fields preceding should
472- 	 * equal 32 */  
473- 	unsigned  _reserved_flags:14 ;
476+ 	/*  max length a single character can become after correct quoting */ 
477+ 	uint8_t  max_escaped_char_length;
474478
475479	/*  data source string used to open this handle */ 
476480	const  char  *data_source;
477481	size_t  data_source_len;
478482
479483	/*  the global error code. */ 
480484	pdo_error_type error_code;
481- 
482- 	enum  pdo_error_mode error_mode;
483- 
484- 	enum  pdo_case_conversion native_case, desired_case;
485+ 	/*  defaults for fetches */ 
486+ 	uint16_t  default_fetch_type;
485487
486488	/*  persistent hash key associated with this handle */ 
487489	const  char  *persistent_id;
488490	size_t  persistent_id_len;
489- 	unsigned  int  refcount;
491+ 
492+ 	uint32_t  refcount;
490493
491494	/*  driver specific "class" methods for the dbh and stmt */ 
492495	HashTable *cls_methods[PDO_DBH_DRIVER_METHOD_KIND__MAX];
@@ -503,9 +506,6 @@ struct _pdo_dbh_t {
503506	 * when PDO::query() fails */  
504507	pdo_stmt_t  *query_stmt;
505508	zend_object *query_stmt_obj;
506- 
507- 	/*  defaults for fetches */ 
508- 	enum  pdo_fetch_type default_fetch_type;
509509};
510510
511511/*  represents a connection to a database */ 
0 commit comments