file_p tests
This commit is contained in:
@@ -30,18 +30,24 @@
|
||||
char *extract_second_arg(char *);
|
||||
size_t get_file_size(char *, char *);
|
||||
|
||||
void clear_list(fl_t *start) {
|
||||
if (start) {
|
||||
void clear_list(fl_t **a_start, fl_t **a_current) {
|
||||
if (a_start == NULL) return;
|
||||
fl_t *start = *a_start;
|
||||
if (start != NULL) {
|
||||
fl_t *curr = start;
|
||||
fl_t *next;
|
||||
do {
|
||||
next = curr->next;
|
||||
free(curr->description);
|
||||
free(curr->name);
|
||||
free(curr->owner);
|
||||
if (curr->description != NULL) free(curr->description);
|
||||
if (curr->name != NULL) free(curr->name);
|
||||
if (curr->owner != NULL) free(curr->owner);
|
||||
free(curr);
|
||||
} while ((curr = next) != NULL);
|
||||
}
|
||||
*a_start = NULL;
|
||||
if (a_current != NULL) {
|
||||
*a_current = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void file_list(session *sess, server_data_t *s_d, i_file_list_t *f_args) {
|
||||
@@ -54,9 +60,7 @@ void file_list(session *sess, server_data_t *s_d, i_file_list_t *f_args) {
|
||||
fl_current = NULL;
|
||||
|
||||
if (sess->fl_start) {
|
||||
clear_list(fl_start);
|
||||
sess->fl_start = NULL;
|
||||
sess->fl_current = NULL;
|
||||
clear_list(&fl_start, &fl_current);
|
||||
}
|
||||
|
||||
args.limit = f_args->limit;
|
||||
|
||||
@@ -17,7 +17,7 @@ enum f_actions {
|
||||
F_DOWNLOAD,
|
||||
};
|
||||
|
||||
void clear_list(fl_t *start);
|
||||
void clear_list(fl_t **a_start, fl_t **a_current);
|
||||
void file_list(session *, server_data_t *, i_file_list_t *l_args);
|
||||
int file_send_prepare(session *, char *, server_data_t *);
|
||||
int file_receive_prepare(session *sess, char *line, server_data_t *s_d);
|
||||
|
||||
@@ -232,8 +232,7 @@ void close_session(session *connections[], int sd) {
|
||||
connections[sd]->sd = -1;
|
||||
free(connections[sd]->uname);
|
||||
if (connections[sd]->fl_start != NULL) {
|
||||
fl_t *fl_start = connections[sd]->fl_start;
|
||||
clear_list(fl_start);
|
||||
clear_list(&(connections[sd]->fl_start), NULL);
|
||||
}
|
||||
free(connections[sd]);
|
||||
connections[sd] = NULL;
|
||||
|
||||
Reference in New Issue
Block a user