jingle-ft/filetransfer.c
changeset 147 c72010633a86
parent 146 2200a1c96af3
child 151 b1acef78e4f5
equal deleted inserted replaced
146:2200a1c96af3 147:c72010633a86
   311   if (!info_list)
   311   if (!info_list)
   312     scr_LogPrint(LPRINT_LOGNORM, "JFT: no file");
   312     scr_LogPrint(LPRINT_LOGNORM, "JFT: no file");
   313 
   313 
   314   for (el = info_list; el; el = el->next) {
   314   for (el = info_list; el; el = el->next) {
   315     JingleFTInfo *jftio = el->data;
   315     JingleFTInfo *jftio = el->data;
   316     gchar *strsize = _convert_size(jftio->jft->size);
   316     JingleFT *jft = jftio->jft;
   317     const gchar *dir = (jftio->jft->dir == JINGLE_FT_INCOMING) ? "<==" : "-->";
   317     gchar *strsize = _convert_size(jft->size);
   318     gfloat percent = (gfloat)jftio->jft->transmit/(gfloat)jftio->jft->size*100;
   318     const gchar *dir = (jft->dir == JINGLE_FT_INCOMING) ? "<==" : "-->";
   319     const gchar *state = strstate[jftio->jft->state];
   319     gfloat percent = ((gfloat)jft->transmit / (gfloat)jft->size) * 100;
   320     const gchar *desc = jftio->jft->desc?jftio->jft->desc:"";
   320     const gchar *state = strstate[jft->state];
       
   321     const gchar *desc = jft->desc ? jft->desc : "";
   321     const gchar *hash = "";
   322     const gchar *hash = "";
   322     if (jftio->jft->dir == JINGLE_FT_INCOMING &&
   323     if (jft->dir == JINGLE_FT_INCOMING &&
   323         jftio->jft->state == JINGLE_FT_ENDING) {
   324         jft->state == JINGLE_FT_ENDING) {
   324       if (_check_hash(jftio->jft->hash,jftio->jft->md5) == FALSE)
   325       if (_check_hash(jft->hash, jft->md5) == FALSE)
   325         hash = "corrupt";
   326         hash = "corrupt";
   326       else
   327       else
   327         hash = "checked";
   328         hash = "checked";
   328     }
   329     }
   329 
   330 
   382   jft->type = JINGLE_FT_OFFER;
   383   jft->type = JINGLE_FT_OFFER;
   383   jft->name = g_path_get_basename(filename);
   384   jft->name = g_path_get_basename(filename);
   384   jft->date = fileinfo.st_mtime;
   385   jft->date = fileinfo.st_mtime;
   385   jft->size = fileinfo.st_size;
   386   jft->size = fileinfo.st_size;
   386   jft->transmit = 0;
   387   jft->transmit = 0;
       
   388   jft->hash = NULL;
       
   389   jft->md5 = NULL;
   387   jft->state = JINGLE_FT_PENDING;
   390   jft->state = JINGLE_FT_PENDING;
   388   jft->dir = JINGLE_FT_OUTGOING;
   391   jft->dir = JINGLE_FT_OUTGOING;
   389   jft->outfile = g_io_channel_new_file(filename, "r", &err);
   392   jft->outfile = g_io_channel_new_file(filename, "r", &err);
   390   if (jft->outfile == NULL || err != NULL) {
   393   if (jft->outfile == NULL || err != NULL) {
   391     scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: %s %s", err->message,
   394     scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: %s %s", err->message,