Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Teach me to remove bloat!

Name: Anonymous 2010-02-24 0:34

Hey guys, I would like some pointer (no, not that kind) on removing bloat in code. Here is a fully functional piece of code that I wrote which I'm worried about bloat in. How do I shorten this?

int get_input()
{
    int count, paren_count, total_count, c;
    char *input, *temp;

    input = (char *) malloc (500 * sizeof (char));

    if (input == NULL) return 0;
    printf("%% ");
    for (count = paren_count = total_count = 0; (c = getchar()) != EOF; count++, input++, total_count++)
    {
        if (count == 499)
        {
            input -= total_count;
            temp = (char *) realloc (input, (500 + total_count) * sizeof (char));
            if (temp == NULL)
                return 0;
            input = temp;
            input += total_count;
        }
        if (c == '\n')
        {
            *input = '\0';
            temp = input;
            temp -= (count);
            count = 0;
            for (; *temp != '\0'; temp++)
            {
                if (*temp == '(')
                    paren_count++;
                else if (*temp == ')')
                    paren_count--;
            }
            if (paren_count == 0)
                break;
            printf("  ");
        }
        *input = c;
    }
    *temp = '\0';
    input -= total_count;
    printf("%s\n", input);
    free(input);
    return 0;
}

Name: Anonymous 2010-02-24 6:40

First of all, remove all the useless white spaces. Also change all of your variable names to shorter ones.

int get_input(){int u,p,t,c;char *i,*m;i=(char*)malloc(500*sizeof(char));if(i==NULL)return 0;printf("%% ");for(u=p=t=0;(c=getchar())!=EOF;u++,i++,t++){if(u==499){i-=t;m=(char*)realloc(i,(500+t)*sizeof(char));if(m==NULL)return 0;i=m;i+=t;}if(c=='\n'){*i='\0';m=i;m-=(u);u=0;for(;*m!='\0';m++){if(*m=='(')p++;else if(*m==')')p--;}if(p==0)break;printf("  ");}*i=c;}*m='\0';i-=t;printf("%s\n",i);free(i);return 0;}

ENTERPRISE QUALITY OMPIMIZATION

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List