y_file_handler: return symlink cible with readlink
This commit is contained in:
@@ -536,6 +536,7 @@ void* y_socket_send_file_for_node(void* arg){
|
||||
|
||||
struct pollfd *fds=argS->fds;
|
||||
y_NODE_T node=argS->node;
|
||||
|
||||
char * filename=argS->filename;
|
||||
#if TEMP_ADDR
|
||||
char tempAddr[64];
|
||||
@@ -605,10 +606,27 @@ for(int tour_i=0;(tour_i<4) && (check_if_in_ok_header_l_(argS->m_ok_head_l_t, na
|
||||
++seq;
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"tm\" : \"%ld\" }",filename, seq, timeid);
|
||||
}
|
||||
char linkedFileName[BUF_SIZE+1];
|
||||
linkedFileName[0]='\0';
|
||||
ssize_t lenLinkedFileName = readlink(argS->filename, linkedFileName, BUF_SIZE);
|
||||
|
||||
if(argS->dst_dir){
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"EOF\" : true , \"tm\" : \"%ld\" , \"dst_dir\" : \"%s\" }",filename, seq, timeid, argS->dst_dir);
|
||||
if(lenLinkedFileName==-1)
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"EOF\" : true , \"tm\" : \"%ld\" , \"dst_dir\" : \"%s\" }",filename, seq, timeid, argS->dst_dir);
|
||||
else{
|
||||
char *optLinked=malloc(lenLinkedFileName+1);
|
||||
strcpy(optLinked, linkedFileName);
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"EOF\" : true , \"tm\" : \"%ld\" , \"dst_dir\" : \"%s\" , \"readlink\" : \"%s\" }",filename, seq, timeid, argS->dst_dir, optLinked);
|
||||
free(optLinked);
|
||||
}
|
||||
}else{
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"EOF\" : true , \"tm\" : \"%ld\" }",filename, seq, timeid);
|
||||
if(lenLinkedFileName==-1)
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"EOF\" : true , \"tm\" : \"%ld\" }",filename, seq, timeid);
|
||||
else {
|
||||
char *optLinked=malloc(lenLinkedFileName+1);
|
||||
len_local_header_ = sprintf(buf_send, "{ \"cmd\" : \"post file %s\", \"seq\" : %ld , \"EOF\" : true , \"tm\" : \"%ld\" , \"readlink\" : \"%s\" }",filename, seq, timeid, optLinked);
|
||||
free(optLinked);
|
||||
}
|
||||
}
|
||||
if(sendto(fds[(c_af==AF_INET6)].fd,
|
||||
buf_send, len_local_header_,
|
||||
|
||||
Reference in New Issue
Block a user