rendered paste bodystruct 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;
}
}