reduce complexity + just free() in a single place

- therefor if the program gets extended, its unlikly that
  someone will forget to call free()
- also this gets rid of copy-paste free() calls (which look stupid)
This commit is contained in:
anthraxx 2014-06-10 13:01:34 +02:00
parent bf5f98649d
commit ea0b0d95e6

View file

@ -3,30 +3,24 @@
#include <stdlib.h>
int main() {
int bytes_read;
int ret;
size_t nbytes = 0;
char *my_string = NULL;
char *password = "23door42\n";
puts("Please enter Password: ");
ret = getline(&my_string, &nbytes, stdin);
bytes_read = getline(&my_string, &nbytes, stdin);
if(bytes_read == -1) {
if (ret == -1) {
puts("Error");
free(my_string);
return -1;
} else if (strcmp(my_string, password) == 0) {
puts("Success");
ret = 0;
} else {
if (strcmp(my_string, password) == 0) {
puts("Success");
free(my_string);
return 0;
} else {
puts("How about no?!");
free(my_string);
return -1;
}
puts("How about no?!");
ret = -1;
}
return 0;
free(my_string);
return ret;
}