|
12 | 12 | */
|
13 | 13 | dog_t *new_dog(char *name, float age, char *owner)
|
14 | 14 | {
|
15 |
| - dog_t *newdog; |
16 |
| - int i; |
17 |
| - int _name; |
18 |
| - int _owner; |
| 15 | +dog_t *p_dog; |
| 16 | + int i, lname, lowner; |
19 | 17 |
|
20 |
| - newdog = malloc(sizeof(newdog)); |
21 |
| - if (newdog == NULL || !(name) || !(owner)) |
| 18 | + p_dog = malloc(sizeof(*p_dog)); |
| 19 | + if (p_dog == NULL || !(name) || !(owner)) |
22 | 20 | {
|
23 |
| - free(newdog); |
| 21 | + free(p_dog); |
24 | 22 | return (NULL);
|
25 | 23 | }
|
26 | 24 |
|
27 |
| - for (_name = 0; name[_name]; _name++) |
| 25 | + for (lname = 0; name[lname]; lname++) |
28 | 26 | ;
|
29 | 27 |
|
30 |
| - for (_owner = 0; owner[_owner]; _owner++) |
| 28 | + for (lowner = 0; owner[lowner]; lowner++) |
31 | 29 | ;
|
32 | 30 |
|
33 |
| - newdog->name = malloc(_name + 1); |
34 |
| - newdog->owner = malloc(_owner + 1); |
| 31 | + p_dog->name = malloc(lname + 1); |
| 32 | + p_dog->owner = malloc(lowner + 1); |
35 | 33 |
|
36 |
| - if (!(newdog->name) || !(newdog->owner)) |
| 34 | + if (!(p_dog->name) || !(p_dog->owner)) |
37 | 35 | {
|
38 |
| - free(newdog->owner); |
39 |
| - free(newdog->name); |
40 |
| - free(newdog); |
| 36 | + free(p_dog->owner); |
| 37 | + free(p_dog->name); |
| 38 | + free(p_dog); |
41 | 39 | return (NULL);
|
42 | 40 | }
|
43 | 41 |
|
44 |
| - for (i = 0; i < _name; i++) |
45 |
| - newdog->name[i] = name[i]; |
46 |
| - newdog->name[i] = '\0'; |
| 42 | + for (i = 0; i < lname; i++) |
| 43 | + p_dog->name[i] = name[i]; |
| 44 | + p_dog->name[i] = '\0'; |
47 | 45 |
|
48 |
| - newdog->age = age; |
| 46 | + p_dog->age = age; |
49 | 47 |
|
50 |
| - for (i = 0; i < _owner; i++) |
51 |
| - newdog->owner[i] = owner[i]; |
52 |
| - newdog->owner[i] = '\0'; |
| 48 | + for (i = 0; i < lowner; i++) |
| 49 | + p_dog->owner[i] = owner[i]; |
| 50 | + p_dog->owner[i] = '\0'; |
53 | 51 |
|
54 |
| - return (newdog); |
| 52 | + return (p_dog); |
55 | 53 | }
|
0 commit comments