int optimizeMenu(void)
{
    int retval = 0;
    char buf[255];

    printf("\fOptimize options.\n");
    printf("-----------------\n");

    printf("[1m1. [0mOptimize: %s      ", optimizename[optimizeMode]);

    if(maxOptPasses == EMPTY)
        printf("[1m2. [0mMax optimize passes: Default\n");
    else
        printf("[1m2. [0mMax optimize passes: %d\n", maxOptPasses);


    if(inlineSize == EMPTY)
        printf("[1m3. [0mInline size: Default\n");
    else
        printf("[1m3. [0mInline size: %d\n", inlineSize);


    printf("\n");
    back_help_quit();

    switch(getch())
    {
        case '1': add(optimizeMode, 4);
                  break;

        case '2': printf("\nSpecify maxoptpasses: ");
                  gets(buf);
                  if(buf[0] == 0)
                      maxOptPasses = EMPTY;
                  else
                      maxOptPasses = strtol(buf, NULL, 10);
                  break;

        case '3': printf("\nSpecify inline size: ");
                  gets(buf);
                  if(buf[0] == 0)
                      inlineSize = EMPTY;
                  else
                      inlineSize = strtol(buf, NULL, 10);
                  break;


        case 'h':
        case 'H': help(OPTIMIZE); break;

        case ESC:
        case 'B':
        case 'b': retval = 1; break; /* go out */

        case 'Q':
        case 'q': exit(0); break;

    }

    return(retval);
}

