some data structures by now
[my-code/blackbook.git] / blackbook.c
1 /*
2  * blackbook - a minimal finance manager
3  *
4  * author: hackbard@hackdaworld.org
5  *
6  */
7
8 #include "blackbook.h"
9
10
11
12 int load_account(int fd,t_bb *bb) {
13
14   int i;
15   int ret;
16
17   if(read(fd,&(bb->account),sizeof(t_account))<sizeof(t_account)) {
18     bb_write(bb,"failed to read account information");
19     return -1;
20   }
21
22   i=bb->account.amount_categories;
23   bb->account.category=(t_category *)malloc(i*sizeof(t_category));
24   if(bb->account.category==NULL) {
25     bb_write(bb,"malloc failed (categories)");
26     return -1;
27   }
28
29   for(i=0;i<bb->account.amount_categories;i++) {
30     ret=read(fd,bb->account.category,sizeof(t_category));
31     if(ret!=sizeof(t_category)) {
32       bb_write(bb,"failed to read categories");
33       return -1;
34     }
35   }
36
37   i=bb->account.amount_transfers;
38   bb->account.transfer=(t_transfer *)malloc(i*sizeof(t_transfer));
39   if(bb->account.transfer==NULL) {
40     bb_write(bb,"malloc failed (transfers)");
41     return -1;
42   }
43
44   for(i=0;i<bb->account.amount_transfers;i++) {
45     ret=read(fd,bb->account.transfer,sizeof(t_transfer));
46     if(ret!=sizeof(t_transfer)) {
47       bb_write(bb,"failed to read transfers");
48       return -1;
49     }
50   }
51
52   bb_write(bb,"loaded account information");
53
54   return 1;
55 }
56
57 int save_account(int fd,t_bb *bb) {
58
59   int i;
60   int ret;
61   
62   if(write(fd,&(bb->account),sizeof(t_account))<sizeof(t_account)) {
63     bb_write(bb,"failed to write account information");
64     return -1;
65   }
66
67   for(i=0;i<bb->account.amount_categories;i++) {
68     ret=write(fd,bb->account.category[i],sizeof(t_category));
69     if(ret!=sizeof(t_category)) {
70       bb_write(bb,"failed to write categories");
71       return -1;
72     }
73   }
74
75   for(i=0;i<bb->account.amount_transfers;i++) {
76     ret=write(fd,bb->account.transfer[i],sizeof(t_transfer));
77     if(ret!=sizeof(t_transfer)) {
78       bb_write(bb,"failed to write transfers");
79       return -1;
80     }
81   }
82   
83   bb_write(bb,"saved account information");
84
85   return 1;
86 }
87
88
89
90 int main(int argc,char **argv) {
91
92   
93
94   return 1;
95 }