file_p tests

This commit is contained in:
2026-06-17 18:45:16 +03:00
parent 0040c07f81
commit 158899d2bf
10 changed files with 247 additions and 14 deletions
+12 -8
View File
@@ -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;
+1 -1
View File
@@ -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);
+1 -2
View File
@@ -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;