Index: pbx/dundi-parser.c =================================================================== --- pbx/dundi-parser.c (revision 129568) +++ pbx/dundi-parser.c (working copy) @@ -181,7 +181,7 @@ memcpy(tmp2, cause->desc, datalen); tmp2[datalen] = '\0'; - if (causecode < sizeof(causes) / sizeof(causes[0])) { + if (causecode < ARRAY_LEN(causes)) { if (ast_strlen_zero(tmp2)) snprintf(output, maxlen, "%s", causes[causecode]); else Index: channels/chan_jingle.c =================================================================== --- channels/chan_jingle.c (revision 129568) +++ channels/chan_jingle.c (working copy) @@ -1879,7 +1879,7 @@ } ast_rtp_proto_register(&jingle_rtp); - ast_cli_register_multiple(jingle_cli, sizeof(jingle_cli) / sizeof(jingle_cli[0])); + ast_cli_register_multiple(jingle_cli, ARRAY_LEN(jingle_cli)); /* Make sure we can register our channel type */ if (ast_channel_register(&jingle_tech)) { ast_log(LOG_ERROR, "Unable to register channel class %s\n", type); @@ -1898,7 +1898,7 @@ static int unload_module(void) { struct jingle_pvt *privates = NULL; - ast_cli_unregister_multiple(jingle_cli, sizeof(jingle_cli) / sizeof(jingle_cli[0])); + ast_cli_unregister_multiple(jingle_cli, ARRAY_LEN(jingle_cli)); /* First, take us out of the channel loop */ ast_channel_unregister(&jingle_tech); ast_rtp_proto_unregister(&jingle_rtp); Index: channels/chan_dahdi.c =================================================================== --- channels/chan_dahdi.c (revision 129568) +++ channels/chan_dahdi.c (working copy) @@ -1354,7 +1354,7 @@ static char *event2str(int event) { static char buf[256]; - if ((event < (sizeof(events) / sizeof(events[0]))) && (event > -1)) + if ((event < (ARRAY_LEN(events))) && (event > -1)) return events[event]; sprintf(buf, "Event %d", event); /* safe */ return buf; @@ -6922,7 +6922,7 @@ break; /* Increment the ringT counter so we can match it against values in chan_dahdi.conf for distinctive ring */ - if (++receivedRingT == (sizeof(curRingData) / sizeof(curRingData[0]))) + if (++receivedRingT == (ARRAY_LEN(curRingData))) break; } else if (i & DAHDI_IOMUX_READ) { res = read(p->subs[index].zfd, buf, sizeof(buf)); @@ -7081,7 +7081,7 @@ break; /* Increment the ringT counter so we can match it against values in chan_dahdi.conf for distinctive ring */ - if (++receivedRingT == (sizeof(curRingData) / sizeof(curRingData[0]))) + if (++receivedRingT == (ARRAY_LEN(curRingData))) break; } else if (i & DAHDI_IOMUX_READ) { res = read(p->subs[index].zfd, buf, sizeof(buf)); @@ -7142,7 +7142,7 @@ break; /* Increment the ringT counter so we can match it against values in chan_dahdi.conf for distinctive ring */ - if (++receivedRingT == (sizeof(curRingData) / sizeof(curRingData[0]))) + if (++receivedRingT == (ARRAY_LEN(curRingData))) break; } else if (i & DAHDI_IOMUX_READ) { res = read(p->subs[index].zfd, buf, sizeof(buf)); @@ -13692,7 +13692,7 @@ unsigned int param_count; unsigned int x; - if (!(param_count = ast_app_separate_args(parse, ',', params, sizeof(params) / sizeof(params[0])))) + if (!(param_count = ast_app_separate_args(parse, ',', params, ARRAY_LEN(params))) return; memset(&confp->chan.echocancel, 0, sizeof(confp->chan.echocancel)); @@ -14796,7 +14796,7 @@ ast_cli_register_multiple(dahdi_pri_cli, sizeof(dahdi_pri_cli) / sizeof(struct ast_cli_entry)); #endif #ifdef HAVE_SS7 - ast_cli_register_multiple(dahdi_ss7_cli, sizeof(dahdi_ss7_cli) / sizeof(dahdi_ss7_cli[0])); + ast_cli_register_multiple(dahdi_ss7_cli, ARRAY_LEN(dahdi_ss7_cli)); #endif ast_cli_register_multiple(dahdi_cli, sizeof(dahdi_cli) / sizeof(struct ast_cli_entry)); Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 129568) +++ channels/chan_sip.c (working copy) @@ -2601,7 +2601,7 @@ if (ast_strlen_zero(msg)) return 0; - for (i = 1; i < (sizeof(sip_methods) / sizeof(sip_methods[0])) && !res; i++) { + for (i = 1; i < (ARRAY_LEN(sip_methods)) && !res; i++) { if (method_match(i, msg)) res = sip_methods[i].id; } @@ -13640,7 +13640,7 @@ { int i; - for (i = 1; (i < (sizeof(subscription_types) / sizeof(subscription_types[0]))); i++) { + for (i = 1; (i < (ARRAY_LEN(subscription_types))); i++) { if (subscription_types[i].type == subtype) { return subscription_types[i].text; } @@ -13653,7 +13653,7 @@ { int i; - for (i = 1; (i < (sizeof(subscription_types) / sizeof(subscription_types[0]))); i++) { + for (i = 1; (i < (ARRAY_LEN(subscription_types))); i++) { if (subscription_types[i].type == subtype) { return &subscription_types[i]; } Index: channels/chan_skinny.c =================================================================== --- channels/chan_skinny.c (revision 129568) +++ channels/chan_skinny.c (working copy) @@ -6423,7 +6423,7 @@ { int res = 0; - for (; res < (sizeof(soft_key_template_default) / sizeof(soft_key_template_default[0])); res++) { + for (; res < (ARRAY_LEN(soft_key_template_default)); res++) { soft_key_template_default[res].softKeyEvent = htolel(soft_key_template_default[res].softKeyEvent); } /* load and parse config */ Index: channels/chan_gtalk.c =================================================================== --- channels/chan_gtalk.c (revision 129568) +++ channels/chan_gtalk.c (working copy) @@ -2012,7 +2012,7 @@ } ast_rtp_proto_register(>alk_rtp); - ast_cli_register_multiple(gtalk_cli, sizeof(gtalk_cli) / sizeof(gtalk_cli[0])); + ast_cli_register_multiple(gtalk_cli, ARRAY_LEN(gtalk_cli)); /* Make sure we can register our channel type */ if (ast_channel_register(>alk_tech)) { @@ -2032,7 +2032,7 @@ static int unload_module(void) { struct gtalk_pvt *privates = NULL; - ast_cli_unregister_multiple(gtalk_cli, sizeof(gtalk_cli) / sizeof(gtalk_cli[0])); + ast_cli_unregister_multiple(gtalk_cli, ARRAY_LEN(gtalk_cli)); /* First, take us out of the channel loop */ ast_channel_unregister(>alk_tech); ast_rtp_proto_unregister(>alk_rtp); Index: apps/app_chanspy.c =================================================================== --- apps/app_chanspy.c (revision 129568) +++ apps/app_chanspy.c (working copy) @@ -754,12 +754,12 @@ if (mygroup) { dup_mygroup = ast_strdupa(mygroup); num_mygroups = ast_app_separate_args(dup_mygroup, ':', mygroups, - sizeof(mygroups) / sizeof(mygroups[0])); + ARRAY_LEN(mygroups)); if ((group = pbx_builtin_getvar_helper(peer, "SPYGROUP"))) { dup_group = ast_strdupa(group); num_groups = ast_app_separate_args(dup_group, ':', groups, - sizeof(groups) / sizeof(groups[0])); + ARRAY_LEN(groups)); } for (y = 0; y < num_mygroups; y++) { Index: apps/app_milliwatt.c =================================================================== --- apps/app_milliwatt.c (revision 129568) +++ apps/app_milliwatt.c (working copy) @@ -64,7 +64,7 @@ static int milliwatt_generate(struct ast_channel *chan, void *data, int len, int samples) { unsigned char buf[AST_FRIENDLY_OFFSET + 640]; - const int maxsamples = sizeof (buf) / sizeof (buf[0]); + const int maxsamples = ARRAY_LEN(buf); int i, *indexp = (int *) data; struct ast_frame wf = { .frametype = AST_FRAME_VOICE, Index: apps/app_minivm.c =================================================================== --- apps/app_minivm.c (revision 129568) +++ apps/app_minivm.c (working copy) @@ -1641,7 +1641,7 @@ ast_log(LOG_ERROR, "Out of memory\n"); return -1; } - argc = ast_app_separate_args(tmpptr, ',', argv, sizeof(argv) / sizeof(argv[0])); + argc = ast_app_separate_args(tmpptr, ',', argv, ARRAY_LEN(argv)); if (argc == 2 && !ast_strlen_zero(argv[1])) template = argv[1]; @@ -1721,7 +1721,7 @@ ast_log(LOG_ERROR, "Out of memory\n"); return -1; } - argc = ast_app_separate_args(tmp, ',', argv, sizeof(argv) / sizeof(argv[0])); + argc = ast_app_separate_args(tmp, ',', argv, ARRAY_LEN(argv)); if (argc == 2) { if (ast_app_parse_options(minivm_app_options, &flags, opts, argv[1])) { return -1; @@ -1783,7 +1783,7 @@ ast_log(LOG_ERROR, "Out of memory\n"); return -1; } - argc = ast_app_separate_args(tmpptr, ',', argv, sizeof(argv) / sizeof(argv[0])); + argc = ast_app_separate_args(tmpptr, ',', argv, ARRAY_LEN(argv)); if (argc == 2) { if (ast_app_parse_options(minivm_app_options, &flags, opts, argv[1])) @@ -2005,7 +2005,7 @@ ast_log(LOG_ERROR, "Out of memory\n"); error = TRUE; } else - argc = ast_app_separate_args(tmpptr, ',', argv, sizeof(argv) / sizeof(argv[0])); + argc = ast_app_separate_args(tmpptr, ',', argv, ARRAY_LEN(argv)); } if (argc <=1) { Index: main/utils.c =================================================================== --- main/utils.c (revision 129568) +++ main/utils.c (working copy) @@ -1723,7 +1723,7 @@ base64_init(); #ifdef DEBUG_THREADS #if !defined(LOW_MEMORY) - ast_cli_register_multiple(utils_cli, sizeof(utils_cli) / sizeof(utils_cli[0])); + ast_cli_register_multiple(utils_cli, ARRAY_LEN(utils_cli)); #endif #endif return 0; Index: main/abstract_jb.c =================================================================== --- main/abstract_jb.c (revision 129568) +++ main/abstract_jb.c (working copy) @@ -176,7 +176,7 @@ struct ast_jb *jb = &chan->jb; struct ast_jb_conf *jbconf = &jb->conf; struct ast_jb_impl *test_impl; - int i, avail_impl_count = sizeof(avail_impl) / sizeof(avail_impl[0]); + int i, avail_impl_count = ARRAY_LEN(avail_impl); jb->impl = &avail_impl[default_impl]; Index: main/asterisk.c =================================================================== --- main/asterisk.c (revision 129568) +++ main/asterisk.c (working copy) @@ -2910,9 +2910,9 @@ char *remotesock = NULL; /* Remember original args for restart */ - if (argc > sizeof(_argv) / sizeof(_argv[0]) - 1) { - fprintf(stderr, "Truncating argument size to %d\n", (int)(sizeof(_argv) / sizeof(_argv[0])) - 1); - argc = sizeof(_argv) / sizeof(_argv[0]) - 1; + if (argc > ARRAY_LEN(_argv) - 1) { + fprintf(stderr, "Truncating argument size to %d\n", (int)ARRAY_LEN(_argv) - 1); + argc = ARRAY_LEN(_argv) - 1; } for (x = 0; x < argc; x++) _argv[x] = argv[x]; Index: main/dsp.c =================================================================== --- main/dsp.c (revision 129568) +++ main/dsp.c (working copy) @@ -393,7 +393,7 @@ static void mute_fragment(struct ast_dsp *dsp, fragment_t *fragment) { - if (dsp->mute_fragments >= sizeof(dsp->mute_data) / sizeof(dsp->mute_data[0])) { + if (dsp->mute_fragments >= ARRAY_LEN(dsp->mute_data)) { ast_log(LOG_ERROR, "Too many fragments to mute. Ignoring\n"); return; } @@ -1440,7 +1440,7 @@ dsp->gsamp_size = modes[dsp->progmode].size; dsp->gsamps = 0; - for (x = 0; x < sizeof(modes[dsp->progmode].freqs) / sizeof(modes[dsp->progmode].freqs[0]); x++) { + for (x = 0; x < ARRAY_LEN(modes[dsp->progmode].freqs); x++) { if (modes[dsp->progmode].freqs[x]) { goertzel_init(&dsp->freqs[x], (float)modes[dsp->progmode].freqs[x], dsp->gsamp_size); max = x + 1; Index: main/threadstorage.c =================================================================== --- main/threadstorage.c (revision 129568) +++ main/threadstorage.c (working copy) @@ -232,7 +232,7 @@ void threadstorage_init(void) { - ast_cli_register_multiple(cli, sizeof(cli) / sizeof(cli[0])); + ast_cli_register_multiple(cli, ARRAY_LEN(cli)); } #endif /* !defined(DEBUG_THREADLOCALS) */ Index: main/cli.c =================================================================== --- main/cli.c (revision 129568) +++ main/cli.c (working copy) @@ -1777,7 +1777,7 @@ char matchstr[80] = ""; int tws = 0; /* Split the argument into an array of words */ - char *dup = parse_args(text, &x, argv, sizeof(argv) / sizeof(argv[0]), &tws); + char *dup = parse_args(text, &x, argv, ARRAY_LEN(argv), &tws); if (!dup) /* malloc error */ return NULL; Index: utils/astman.c =================================================================== --- utils/astman.c (revision 129568) +++ utils/astman.c (working copy) @@ -258,14 +258,14 @@ fprintf(stderr, "Missing event in request"); return 0; } - for (x=0;x= sizeof(events) / sizeof(events[0])) + if (x >= ARRAY_LEN(events)) fprintf(stderr, "Ignoring unknown event '%s'", event); #if 0 for (x=0;xhdrcount;x++) { Index: codecs/codec_resample.c =================================================================== --- codecs/codec_resample.c (revision 129568) +++ codecs/codec_resample.c (working copy) @@ -166,7 +166,7 @@ .frametype = AST_FRAME_VOICE, .subclass = AST_FORMAT_SLINEAR16, .datalen = sizeof(slin16_slin8_ex), - .samples = sizeof(slin16_slin8_ex) / sizeof(slin16_slin8_ex[0]), + .samples = ARRAY_LEN(slin16_slin8_ex), .src = __PRETTY_FUNCTION__, .data.ptr = slin16_slin8_ex, }; @@ -180,7 +180,7 @@ .frametype = AST_FRAME_VOICE, .subclass = AST_FORMAT_SLINEAR, .datalen = sizeof(slin8_slin16_ex), - .samples = sizeof(slin8_slin16_ex) / sizeof(slin8_slin16_ex[0]), + .samples = ARRAY_LEN(slin8_slin16_ex), .src = __PRETTY_FUNCTION__, .data.ptr = slin8_slin16_ex, }; Index: codecs/codec_g722.c =================================================================== --- codecs/codec_g722.c (revision 129568) +++ codecs/codec_g722.c (working copy) @@ -166,7 +166,7 @@ .frametype = AST_FRAME_VOICE, .subclass = AST_FORMAT_SLINEAR, .datalen = sizeof(slin_g722_ex), - .samples = sizeof(slin_g722_ex) / sizeof(slin_g722_ex[0]), + .samples = ARRAY_LEN(slin_g722_ex), .src = __PRETTY_FUNCTION__, .data.ptr = slin_g722_ex, }; @@ -180,7 +180,7 @@ .frametype = AST_FRAME_VOICE, .subclass = AST_FORMAT_SLINEAR16, .datalen = sizeof(slin_g722_ex), - .samples = sizeof(slin_g722_ex) / sizeof(slin_g722_ex[0]), + .samples = ARRAY_LEN(slin_g722_ex), .src = __PRETTY_FUNCTION__, .data.ptr = slin_g722_ex, }; Index: codecs/codec_dahdi.c =================================================================== --- codecs/codec_dahdi.c (revision 129568) +++ codecs/codec_dahdi.c (working copy) @@ -466,7 +466,7 @@ static int unload_module(void) { - ast_cli_unregister_multiple(cli, sizeof(cli) / sizeof(cli[0])); + ast_cli_unregister_multiple(cli, ARRAY_LEN(cli)); unregister_translators(); return 0; @@ -477,7 +477,7 @@ if (parse_config(0)) return AST_MODULE_LOAD_DECLINE; find_transcoders(); - ast_cli_register_multiple(cli, sizeof(cli) / sizeof(cli[0])); + ast_cli_register_multiple(cli, ARRAY_LEN(cli)); return AST_MODULE_LOAD_SUCCESS; }