void inc2(char *mdate) {
	int i = 0, j = 0;
        int nb_days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	int year = 0, month = 0;
	int max[] = {9,9,9,9,1,2,3,1,2,3,5,9,5,9};

	while (mdate[i] != '\0') {
		if (i < 4) year = year*10 + (mdate[i]-'0');
		else if (mdate[i] > '9' || mdate[i] < '0') { }
		else if (j < 2) {month = (month*10)+(mdate[i]-'0'); j++;}
		i++;
	}
	i--;
	nb_days[1]=((year%4)==0 && ((year%100)!=0 || (year%400)==0)) ? 29:28;
	max[6] = nb_days[month-1]/10; max[7] = nb_days[month-1]%10;

	j = 13;
	while(i >= 0) {
		if (mdate[i] > '9' || mdate[i] < '0') {i--; continue;}
		if (mdate[i] - '0' < max[j]) { 
			mdate[i]++; break; 
		} else if (mdate[i] != '9' &&
		            ((j==7 && mdate[i-1]-'0' < max[6]) ||
		             (j==5 && mdate[i-1]-'0' < max[4]))) {
			mdate[i]++; break;
		} else {
			mdate[i] = ((j==7 && mdate[i-1]-'0' == max[6]) ||
				    (j==5 && mdate[i-1]-'0' == max[4]))?'1':'0';
		}
		i--; j--;
	}
}	
