mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
d043d53948
Fixes https://github.com/profanity-im/profanity/issues/1794 Explanation The problem is the download's identifier. Downloads are given an ID so they can be referenced later when their progress changes. Currently, the download's ID is the download's URL. When you download the same file twice, you have two downloads with the same ID. Download progress updates are shown on the first of both downloads with the same ID. Solution Change the download's ID from its URL to a random number. A random ID is generated when get_random_string() is called from cmd_funcs.c. Several other functions are updated to cope with the new ID format.
29 lines
531 B
C
29 lines
531 B
C
#ifndef TOOLS_AESGCM_DOWNLOAD_H
|
|
#define TOOLS_AESGCM_DOWNLOAD_H
|
|
|
|
#include <pthread.h>
|
|
|
|
typedef struct prof_win_t ProfWin;
|
|
typedef struct http_download_t HTTPDownload;
|
|
|
|
typedef struct aesgcm_download_t
|
|
{
|
|
char* id;
|
|
char* url;
|
|
char* filename;
|
|
ProfWin* window;
|
|
pthread_t worker;
|
|
HTTPDownload* http_dl;
|
|
} AESGCMDownload;
|
|
|
|
void*
|
|
aesgcm_file_get(void* userdata)
|
|
{
|
|
return NULL;
|
|
};
|
|
|
|
void aesgcm_download_cancel_processes(ProfWin* window){};
|
|
void aesgcm_download_add_download(AESGCMDownload* download){};
|
|
|
|
#endif
|