From 135bb29ba6caf3b31f7157acb1836d97cced1ad2 Mon Sep 17 00:00:00 2001 From: Joshua Colp <jcolp@digium.com> Date: Wed, 10 Dec 2008 01:09:06 +0000 Subject: [PATCH] Finish conversion to using ARRAY_LEN and remove it as a janitor project. (closes issue #14032) Reported by: bkruse Patches: 14032.patch uploaded by bkruse (license 132) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162542 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 2 +- channels/iax2-parser.c | 4 ++-- doc/janitor-projects.txt | 8 -------- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 698f6d211f..0206e221a3 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -1422,7 +1422,7 @@ static const char *mbox(int id) "Deleted", "Urgent" }; - return (id >= 0 && id < (sizeof(msgs)/sizeof(msgs[0]))) ? msgs[id] : "Unknown"; + return (id >= 0 && id < ARRAY_LEN(msgs)) ? msgs[id] : "Unknown"; } static void free_user(struct ast_vm_user *vmu) diff --git a/channels/iax2-parser.c b/channels/iax2-parser.c index b9af6fd6e5..224a924ced 100644 --- a/channels/iax2-parser.c +++ b/channels/iax2-parser.c @@ -533,14 +533,14 @@ void iax_showframe(struct iax_frame *f, struct ast_iax2_full_hdr *fhi, int rx, s sprintf(subclass2, "%c", fh->csub); subclass = subclass2; } else if (fh->type == AST_FRAME_IAX) { - if (fh->csub >= (int)sizeof(iaxs)/(int)sizeof(iaxs[0])) { + if (fh->csub >= ARRAY_LEN(iaxs)) { snprintf(subclass2, sizeof(subclass2), "(%d?)", fh->csub); subclass = subclass2; } else { subclass = iaxs[(int)fh->csub]; } } else if (fh->type == AST_FRAME_CONTROL) { - if (fh->csub >= (int)sizeof(cmds)/(int)sizeof(cmds[0])) { + if (fh->csub >= ARRAY_LEN(cmds)) { snprintf(subclass2, sizeof(subclass2), "(%d?)", fh->csub); subclass = subclass2; } else { diff --git a/doc/janitor-projects.txt b/doc/janitor-projects.txt index b3c1a75dff..a43f9c9579 100644 --- a/doc/janitor-projects.txt +++ b/doc/janitor-projects.txt @@ -32,11 +32,3 @@ -- Audit all channel/res/app/etc. modules to ensure that they do not register any entrypoints with the Asterisk core until after they are ready to service requests; all config file reading/processing, structure allocation, etc. must be completed before Asterisk is made aware of any services the module offers. -- Ensure that Realtime-enabled modules do not depend on the order of columns returned by the database lookup (example: outboundproxy and host settings in chan_sip). - - -- There are several places in the code where the length of arrays is calculated in-line with sizeof() and division. A common place to find this is in for loops, like this: - - for (i = 0; i < sizeof(array)/sizeof(array[0]); i++) - - There is a macro in utils.h called ARRAY_LEN which should be used instead for readability's sake. - - for (i = 0; i < ARRAY_LEN(array); i++) -- GitLab