Example #1
0
int main ()
{
	a->f(foo);		// gets bogus error because foo's size unknown.
	a->f(baz);
	a->f(fred);
	bing(fred);
	bing(foo);
	bing(baz);
}
int main()
{
    int t,aa,bb;
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        mm=0;
        if(i!=1)
            printf("\n");
        scanf("%d%d",&m,&n);
        for(int i=1;i<=m;i++)
        {
            pa[i]=i;
            pa1[i]=0;
        }
        for(int i=1;i<=n;i++)
        {
            scanf("%d%d",&aa,&bb);
            if(cha(aa)==cha(bb))
            {
                if(pa1[aa]==pa1[bb])
                    mm=1;
            }
            else
                bing(aa,bb);
        }
        printf("Scenario #%d:\n",i);
        if(mm)
            printf("Suspicious bugs found!\n");
        else
            printf("No suspicious bugs found!\n");
    }
    return 0;
}
Example #3
0
int
vcprintf(const char *fmt, va_list args)
{
    int len, DynamicColourFlag = 0, ColourCount;
    unsigned long num;
    int i, base;
    char *s;

    int flags;			/* flags to number() */
    int field_width;		/* width of output field */
    int precision;		/* min. # of digits for integers; max
				 * number of chars for from string 
				 */
    int qualifier;		/* 'h', 'l', or 'L' for integer fields */

    for (; *fmt; ++fmt) {
	ColourCount = 0;
	if (*fmt != '%') {
	    if (*fmt == 1) {
		if (*(fmt + 1) == '%') {
		    DynamicColourFlag = 1;	/*
						 * Tricky stuff... 
						 */
		} else {
		    DynamicColourFlag = 0;
		    ColourChar(*(++fmt));
		}
	    } else
		bing(*fmt);
	    continue;
	}
	/*
	 * process flags 
	 */
	flags = 0;
      repeat:
	++fmt;			/*
				 * this also skips first '%' 
				 */
	switch (*fmt) {
	    case '-':
		flags |= LEFT;
		goto repeat;
	    case '+':
		flags |= PLUS;
		goto repeat;
	    case ' ':
		flags |= SPACE;
		goto repeat;
	    case '#':
		flags |= SPECIAL;
		goto repeat;
	    case '0':
		flags |= ZEROPAD;
		goto repeat;
	}

	/*
	 * get field width 
	 */
	field_width = -1;
	if (is_digit(*fmt))
	    field_width = skip_atoi(&fmt);
	else if (*fmt == '*') {
	    ++fmt;
	    /*
	     * it's the next argument 
	     */
	    field_width = va_arg(args, int);
	    if (field_width < 0) {
		field_width = -field_width;
		flags |= LEFT;
	    }
	}
	/*
	 * get the precision 
	 */
	precision = -1;
	if (*fmt == '.') {
	    ++fmt;
	    if (is_digit(*fmt))
		precision = skip_atoi(&fmt);
	    else if (*fmt == '*') {
		++fmt;
		/*
		 * it's the next argument 
		 */
		precision = va_arg(args, int);
	    }
Example #4
0
void
number(long num, int base, int size, int precision
       ,int type)
{
    char c, sign, tmp[36];
    const char *digits = "0123456789abcdefghijklmnopqrstuvwxyz";
    int i;

    if (type & LARGE)
	digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    if (type & LEFT)
	type &= ~ZEROPAD;
    if (base < 2 || base > 36)
	return;
    c = (type & ZEROPAD) ? '0' : ' ';
    sign = 0;
    if (type & SIGN) {
	if (num < 0) {
	    sign = '-';
	    num = -num;
	    size--;
	} else if (type & PLUS) {
	    sign = '+';
	    size--;
	} else if (type & SPACE) {
	    sign = ' ';
	    size--;
	}
    }
    if (type & SPECIAL) {
	if (base == 16)
	    size -= 2;
	else if (base == 8)
	    size--;
    }
    i = 0;
    if (num == 0)
	tmp[i++] = '0';
    else
	while (num != 0)
	    tmp[i++] = digits[do_div(num, base)];
    if (i > precision)
	precision = i;
    size -= precision;
    if (!(type & (ZEROPAD + LEFT)))
	while (size-- > 0)
	    putchar(' ');
    if (sign)
	putchar(sign);
    if (type & SPECIAL) {
	if (base == 8)
	    putchar('0');
	else if (base == 16) {
	    putchar('0');
	    putchar(digits[33]);
	}
    }
    if (!(type & LEFT))
	while (size-- > 0)
	    bing(c);
    while (i < precision--)
	putchar('0');
    while (i-- > 0)
	bing(tmp[i]);
    while (size-- > 0)
	putchar(' ');
    return;
}