mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 10:58:49 +08:00
lib_pathbuffer.c:Determine whether to malloc from the heap by CONFIG_LIBC_PATHBUFFER_MALLOC
Summary: If we disable LIB_PATHBUFFER_MALLOC, that when the path buffer is insufficient, NULL is returned to avoid applying for a buffer from the heap. Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
This commit is contained in:
parent
16afee6f0c
commit
36a8ff0540
2 changed files with 16 additions and 2 deletions
|
@ -120,3 +120,9 @@ config LIBC_MAX_PATHBUFFER
|
|||
---help---
|
||||
This value is the maximum size of the buffer that will hold the full
|
||||
file path.
|
||||
|
||||
config LIBC_PATHBUFFER_MALLOC
|
||||
bool "Enable malloc pathbuffer"
|
||||
default y
|
||||
---help---
|
||||
Enable malloc path buffer from the heap when pathbuffer is insufficient.
|
||||
|
|
|
@ -95,9 +95,15 @@ FAR char *lib_get_pathbuffer(void)
|
|||
|
||||
nxmutex_unlock(&g_pathbuffer.lock);
|
||||
|
||||
/* If no free buffer is found, allocate a new one */
|
||||
/* If no free buffer is found, allocate a new one if
|
||||
* CONFIG_LIBC_PATHBUFFER_MALLOC is enabled
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_LIBC_PATHBUFFER_MALLOC
|
||||
return lib_malloc(PATH_MAX);
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -134,5 +140,7 @@ void lib_put_pathbuffer(FAR char *buffer)
|
|||
|
||||
/* Free the buffer if it was dynamically allocated */
|
||||
|
||||
lib_free(buffer);
|
||||
#ifdef CONFIG_LIBC_PATHBUFFER_MALLOC
|
||||
return lib_free(buffer);
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue