pkarashchenko commented on code in PR #7776: URL: https://github.com/apache/nuttx/pull/7776#discussion_r1041613329
########## drivers/video/video_framebuff.c: ########## @@ -114,35 +95,28 @@ void video_framebuff_uninit(video_framebuff_t *fbuf) int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz) { - if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz) - { - if (fbuf->container_size != sz) - { - if (fbuf->vbuf_alloced != NULL) - { - kmm_free(fbuf->vbuf_alloced); - } + vbuf_container_t *vbuf; - fbuf->vbuf_alloced = NULL; - fbuf->container_size = 0; - } - - if (sz > 0) - { - fbuf->vbuf_alloced - = (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz); - if (fbuf->vbuf_alloced == NULL) - { - return -ENOMEM; - } - } + if (fbuf->container_size == sz) + { + return OK; + } - fbuf->container_size = sz; + vbuf = kmm_realloc(fbuf->vbuf_alloced, sizeof(vbuf_container_t) * sz); + if (vbuf != NULL) + { + memset(vbuf, 0, sizeof(vbuf_container_t) * sz); + } + else if (sz != 0) + { + return -ENOMEM; } - cleanup_container(fbuf); + fbuf->vbuf_alloced = vbuf; + fbuf->container_size = sz; - return OK; + init_buf_chain(fbuf); + return ret; Review Comment: ```suggestion return OK; ``` ########## drivers/video/video_framebuff.c: ########## @@ -46,24 +46,13 @@ static void init_buf_chain(video_framebuff_t *fbuf) fbuf->vbuf_tail = NULL; tmp = fbuf->vbuf_alloced; - for (i = 0; i < fbuf->container_size - 1; i++) + for (i = 1; i < fbuf->container_size; i++) { tmp->next = &tmp[1]; tmp++; } } -static void cleanup_container(video_framebuff_t *fbuf) -{ - if (fbuf->vbuf_alloced) - { - memset(fbuf->vbuf_alloced, - 0, - sizeof(vbuf_container_t)*fbuf->container_size); - init_buf_chain(fbuf); - } -} - static inline int is_last_one(video_framebuff_t *fbuf) Review Comment: ```suggestion static inline int is_last_one(FAR video_framebuff_t *fbuf) ``` ########## drivers/video/video_framebuff.c: ########## @@ -97,12 +82,8 @@ static inline vbuf_container_t *dequeue_vbuf_unsafe(video_framebuff_t *fbuf) void video_framebuff_init(video_framebuff_t *fbuf) Review Comment: ```suggestion void video_framebuff_init(FAR video_framebuff_t *fbuf) ``` ########## drivers/video/video_framebuff.c: ########## @@ -114,35 +95,28 @@ void video_framebuff_uninit(video_framebuff_t *fbuf) int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz) { - if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz) - { - if (fbuf->container_size != sz) - { - if (fbuf->vbuf_alloced != NULL) - { - kmm_free(fbuf->vbuf_alloced); - } + vbuf_container_t *vbuf; Review Comment: ```suggestion FAR vbuf_container_t *vbuf; ``` ########## drivers/video/video_framebuff.c: ########## @@ -114,35 +95,28 @@ void video_framebuff_uninit(video_framebuff_t *fbuf) int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz) { - if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz) - { - if (fbuf->container_size != sz) - { - if (fbuf->vbuf_alloced != NULL) - { - kmm_free(fbuf->vbuf_alloced); - } + vbuf_container_t *vbuf; - fbuf->vbuf_alloced = NULL; - fbuf->container_size = 0; - } - - if (sz > 0) - { - fbuf->vbuf_alloced - = (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz); - if (fbuf->vbuf_alloced == NULL) - { - return -ENOMEM; - } - } + if (fbuf->container_size == sz) + { + return OK; + } - fbuf->container_size = sz; + vbuf = kmm_realloc(fbuf->vbuf_alloced, sizeof(vbuf_container_t) * sz); + if (vbuf != NULL) + { + memset(vbuf, 0, sizeof(vbuf_container_t) * sz); + } + else if (sz != 0) + { + return -ENOMEM; } - cleanup_container(fbuf); + fbuf->vbuf_alloced = vbuf; + fbuf->container_size = sz; - return OK; + init_buf_chain(fbuf); + return ret; } vbuf_container_t *video_framebuff_get_container(video_framebuff_t *fbuf) Review Comment: ```suggestion vbuf_container_t *video_framebuff_get_container(FAR video_framebuff_t *fbuf) ``` ########## drivers/video/video_framebuff.c: ########## @@ -114,35 +95,28 @@ void video_framebuff_uninit(video_framebuff_t *fbuf) int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz) Review Comment: ```suggestion int video_framebuff_realloc_container(FAR video_framebuff_t *fbuf, int sz) ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org