mirror of
				https://github.com/isar/libmdbx.git
				synced 2025-11-04 05:08:57 +08:00 
			
		
		
		
	mdbx: refine err returning (MDBX_EPERM, etc).
Change-Id: Iaa21a0e6632be47d6ef2a3676ba5e1381fc03b4d
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/mdbx.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/mdbx.c
									
									
									
									
									
								
							@@ -3847,7 +3847,7 @@ fail:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int __cold mdbx_env_get_maxkeysize(MDBX_env *env) {
 | 
					int __cold mdbx_env_get_maxkeysize(MDBX_env *env) {
 | 
				
			||||||
  if (!env || env->me_signature != MDBX_ME_SIGNATURE || !env->me_maxkey_limit)
 | 
					  if (!env || env->me_signature != MDBX_ME_SIGNATURE || !env->me_maxkey_limit)
 | 
				
			||||||
    return MDBX_EINVAL;
 | 
					    return -MDBX_EINVAL;
 | 
				
			||||||
  return env->me_maxkey_limit;
 | 
					  return env->me_maxkey_limit;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -4068,21 +4068,24 @@ int __cold mdbx_env_set_maxdbs(MDBX_env *env, MDBX_dbi dbs) {
 | 
				
			|||||||
    return MDBX_EBADSIGN;
 | 
					    return MDBX_EBADSIGN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (unlikely(env->me_map))
 | 
					  if (unlikely(env->me_map))
 | 
				
			||||||
    return MDBX_EINVAL;
 | 
					    return MDBX_EPERM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  env->me_maxdbs = dbs + CORE_DBS;
 | 
					  env->me_maxdbs = dbs + CORE_DBS;
 | 
				
			||||||
  return MDBX_SUCCESS;
 | 
					  return MDBX_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int __cold mdbx_env_set_maxreaders(MDBX_env *env, unsigned readers) {
 | 
					int __cold mdbx_env_set_maxreaders(MDBX_env *env, unsigned readers) {
 | 
				
			||||||
  if (unlikely(!env || readers < 1))
 | 
					  if (unlikely(readers < 1 || readers > INT16_MAX))
 | 
				
			||||||
 | 
					    return MDBX_EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (unlikely(!env))
 | 
				
			||||||
    return MDBX_EINVAL;
 | 
					    return MDBX_EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (unlikely(env->me_signature != MDBX_ME_SIGNATURE))
 | 
					  if (unlikely(env->me_signature != MDBX_ME_SIGNATURE))
 | 
				
			||||||
    return MDBX_EBADSIGN;
 | 
					    return MDBX_EBADSIGN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (unlikely(env->me_map || readers > INT16_MAX))
 | 
					  if (unlikely(env->me_map))
 | 
				
			||||||
    return MDBX_EINVAL;
 | 
					    return MDBX_EPERM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  env->me_maxreaders = readers;
 | 
					  env->me_maxreaders = readers;
 | 
				
			||||||
  return MDBX_SUCCESS;
 | 
					  return MDBX_SUCCESS;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user