Пример #1
0
void display_close(time_t now)
{
  switch(DisplayMode) {
  case DisplayReport:
    report_close();
    break;
  case DisplayTXT:
    txt_close();
    break;
  case DisplayXML:
    xml_close();
    break;
  case DisplayJSON:
    json_close();
    break;
  case DisplayCSV:
    csv_close(now);
    break;
  case DisplayCurses:
#ifdef IPINFO
    if (ipinfo_no >= 0)
        asn_close();
#endif
    mtr_curses_close();
    break;
  case DisplaySplit:
    split_close();
    break;
  case DisplayGTK:
    gtk_close();
    break;
  }
}
Пример #2
0
void display_close(void)
{
  switch(DisplayMode) {
  case DisplayReport:
    report_close();
    break;
  case DisplayTXT:
    txt_close();
    break;
  case DisplayXML:
    xml_close();
    break;
  case DisplayCSV:
    csv_close();
    break;
  case DisplayCurses:
    mtr_curses_close();
    break;
  case DisplaySplit:            /* BL */
    split_close();
    break;
  case DisplayGTK:
    gtk_close();
    break;
  }
}
Пример #3
0
split_info_t* split_create(char *fname, u64 split_size, u64 total_size, bool overwrite)
{
	split_info_t *s = split_new();
	int ret = split_create_1(s, fname, split_size, total_size, overwrite);
	if (ret) {
		split_close(s);
		s = NULL;
	}
	return s;
}
Пример #4
0
split_info_t* split_open(char *fname)
{
	split_info_t *s = split_new();
	int ret = split_open_1(s, fname);
	if (ret) {
		split_close(s);
		s = NULL;
	}
	return s;
}
Пример #5
0
int split_open(split_info_t *s, char *fname)
{
	int i;
	u64 size = 0;
	u64 total_size = 0;
	u64 split_size = 0;
	int fd;
	split_init(s, fname);
	for (i=0; i<s->max_split; i++) {
		fd = split_open_file(s, i);
		if (fd<0) {
			if (i==0) goto err;
			break;
		}
		// check previous size - all splits except last must be same size
		if (i > 0 && size != split_size) {
			fprintf(stderr, "split %d: invalid size "FMT_lld"", i, size);
			goto err;
		}
		// get size
		//fseeko(f, 0, SEEK_END);
		//size = ftello(f);
		size = lseek(fd, 0, SEEK_END);
		// check sector alignment
		if (size % 512) {
			fprintf(stderr, "split %d: size ("FMT_lld") not sector (512) aligned!",
					i, size);
		}
		// first sets split size
		if (i==0) {
			split_size = size;
		}
		total_size += size;
	}
	split_set_size(s, split_size, total_size);
	return 0;
err:
	split_close(s);
	return -1;
}