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, |