/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-05-boxee2.patch
http://github.com/OpenELEC/OpenELEC.tv · Patch · 90 lines · 81 code · 9 blank · 0 comment · 0 complexity · 566c8cfdd2d07555485aebe2a256150c MD5 · raw file
- diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c
- --- afpfs-ng-0.8.1/lib/afp.c 2011-09-10 12:14:34.181716631 +0200
- +++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:23:15.935726602 +0200
- @@ -68,7 +68,7 @@
- afp_getsessiontoken_reply,afp_blank_reply, NULL, NULL,
- afp_enumerateext2_reply, NULL, NULL, NULL, /*64 - 71 */
- afp_listextattrs_reply, NULL, NULL, NULL,
- - afp_blank_reply, NULL, NULL, NULL, /*72 - 79 */
- + afp_blank_reply, NULL, afp_blank_reply, afp_blank_reply, /*72 - 79 */
-
- NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL,
- @@ -320,8 +320,16 @@
-
- struct dsi_request * p;
- struct afp_server *s2;
- +
- +
- + if (s==NULL)
- + goto out;
- +
- for (p=s->command_requests;p;p=p->next) {
- - pthread_cond_signal(&p->condition_cond);
- + pthread_mutex_lock(&p->waiting_mutex);
- + p->done_waiting=1;
- + pthread_cond_signal(&p->waiting_cond);
- + pthread_mutex_unlock(&p->waiting_mutex);
- }
-
- if (s==server_base) {
- @@ -354,7 +362,7 @@
- s->exit_flag = 0;
- s->path_encoding=kFPUTF8Name; /* This is a default */
- s->next=NULL;
- - s->bufsize=2048;
- + s->bufsize=4096;
- s->incoming_buffer=malloc(s->bufsize);
-
- s->attention_quantum=AFP_DEFAULT_ATTENTION_QUANTUM;
- @@ -524,13 +532,14 @@
- kFPVolCreateDateBit|kFPVolIDBit |
- kFPVolNameBit;
- char new_encoding;
- + int ret;
-
- if (server->using_version->av_number>=30)
- bitmap|= kFPVolNameBit|kFPVolBlockSizeBit;
-
- - switch (afp_volopen(volume,bitmap,
- - (strlen(volume->volpassword)>0) ? volume->volpassword : NULL))
- - {
- + ret = afp_volopen(volume,bitmap,
- + (strlen(volume->volpassword)>0) ? volume->volpassword : NULL);
- + switch(ret){
- case kFPAccessDenied:
- *l+=snprintf(mesg,max-*l,
- "Incorrect volume password\n");
- @@ -544,6 +553,10 @@
- *l+=snprintf(mesg,max-*l,
- "Could not open volume\n");
- goto error;
- + case ETIMEDOUT:
- + *l+=snprintf(mesg,max-*l,
- + "Timed out waiting to open volume\n");
- + goto error;
- }
-
- /* It is said that if a volume's encoding will be the same
- @@ -641,7 +654,6 @@
- add_server(server);
-
- add_fd_and_signal(server->fd);
- -
- if (!full) {
- return 0;
- }
- @@ -649,10 +661,13 @@
- /* Get the status, and calculate the transmit time. We use this to
- * calculate our rx quantum. */
- gettimeofday(&t1,NULL);
- +
- if ((error=dsi_getstatus(server))!=0)
- goto error;
- gettimeofday(&t2,NULL);
-
- + afp_server_identify(server);
- +
- if ((t2.tv_sec - t1.tv_sec) > 0)
- server->tx_delay= (t2.tv_sec - t1.tv_sec) * 1000;
- else