Skip to content

Commit f3ba795

Browse files
committed
task 4
1 parent f801422 commit f3ba795

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

0x0E-structures_typedef/4-new_dog.c

+21-23
Original file line numberDiff line numberDiff line change
@@ -12,44 +12,42 @@
1212
*/
1313
dog_t *new_dog(char *name, float age, char *owner)
1414
{
15-
dog_t *newdog;
16-
int i;
17-
int _name;
18-
int _owner;
15+
dog_t *p_dog;
16+
int i, lname, lowner;
1917

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))
2220
{
23-
free(newdog);
21+
free(p_dog);
2422
return (NULL);
2523
}
2624

27-
for (_name = 0; name[_name]; _name++)
25+
for (lname = 0; name[lname]; lname++)
2826
;
2927

30-
for (_owner = 0; owner[_owner]; _owner++)
28+
for (lowner = 0; owner[lowner]; lowner++)
3129
;
3230

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);
3533

36-
if (!(newdog->name) || !(newdog->owner))
34+
if (!(p_dog->name) || !(p_dog->owner))
3735
{
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);
4139
return (NULL);
4240
}
4341

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';
4745

48-
newdog->age = age;
46+
p_dog->age = age;
4947

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';
5351

54-
return (newdog);
52+
return (p_dog);
5553
}

0 commit comments

Comments
 (0)