All pastes #39766 Raw Edit

Stuff

public text v1 · immutable
#39766 ·published 2006-02-03 15:57 UTC
rendered paste body
struct phonebook {
	char username[64];
	int code,time,region;
};

struct regions {
    char region[64];
    int code,used;
};    

int phone_size,regions_size;
struct regions *region_arr;
struct phonebook **entry;

int add_region (const char region[]) {
    int i,a=1;
    struct regions *temp;
    do {
        i=find_region_code(a);
		if (i==regions_size) {
		    break;
		}
		a++;
    }while (i<regions_size);
    regions_size++;
    temp=(struct regions *)realloc(region_arr,regions_size*sizeof(struct regions));
    if (temp==NULL) {
        printf("MEMORY ERROR!\n");
        regions_size--;
        return;
    }
    region_arr=temp;
    region_arr[regions_size-1].used=1;
    region_arr[regions_size-1].code=a;
    strcpy(region_arr[regions_size-1].region,region);
    return(regions_size-1);
}

void compact_region () {
    int i,j=regions_size-1;
    struct regions *temp;
    for (i=0; ((i<regions_size) && (region_arr[i].used!=0)); i++) {
    }
    if (i<regions_size) {
	    region_arr[i]=region_arr[j];
    }
    regions_size--;
    temp=(struct regions *)realloc(region_arr,regions_size*sizeof(struct regions));
    if (temp!=NULL) {
	    region_arr=temp;
    }
}

int find_region_code (int code) {
    int i;
    for (i=0; (i<regions_size) && (region_arr[i].code!=code); i++) {
    }
    return(i);
}