Finish conversion to using ARRAY_LEN and remove it as a janitor project.
authorJoshua Colp <jcolp@digium.com>
Wed, 10 Dec 2008 01:09:06 +0000 (01:09 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 10 Dec 2008 01:09:06 +0000 (01:09 +0000)
(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
channels/iax2-parser.c
doc/janitor-projects.txt

index 698f6d2..0206e22 100644 (file)
@@ -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)
index b9af6fd..224a924 100644 (file)
@@ -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 {
index b3c1a75..a43f9c9 100644 (file)
  -- 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++)