ObjFW  Diff

Differences From Artifact [84262304c6]:

To Artifact [e437710ddc]:


88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
- (void)setReceived: (intmax_t)received
{
	_received = received;
}

- (void)_drawProgress
{
	size_t i;
	float bars, percent;
	unsigned short barWidth;
#ifdef HAVE_SYS_IOCTL_H
	struct winsize ws;

	if (ioctl(0, TIOCGWINSZ, &ws) == 0 && ws.ws_col > 37)
		barWidth = ws.ws_col - 37;
	else
		barWidth = 0;
#else
	barWidth = 43;
#endif

	bars = (float)(_resumedFrom + _received) /
	    (float)(_resumedFrom + _length) * barWidth;
	percent = (float)(_resumedFrom + _received) /
	    (float)(_resumedFrom + _length) * 100;

	[of_stdout writeString: @"\r  ▕"];

	for (i = 0; i < (size_t)bars; i++)
		[of_stdout writeString: @"█"];
	if (bars < barWidth) {
		float remainder = bars - floorf(bars);

		if (remainder >= 0.875)
			[of_stdout writeString: @"▉"];
		else if (remainder >= 0.75)







<




















|







88
89
90
91
92
93
94

95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
- (void)setReceived: (intmax_t)received
{
	_received = received;
}

- (void)_drawProgress
{

	float bars, percent;
	unsigned short barWidth;
#ifdef HAVE_SYS_IOCTL_H
	struct winsize ws;

	if (ioctl(0, TIOCGWINSZ, &ws) == 0 && ws.ws_col > 37)
		barWidth = ws.ws_col - 37;
	else
		barWidth = 0;
#else
	barWidth = 43;
#endif

	bars = (float)(_resumedFrom + _received) /
	    (float)(_resumedFrom + _length) * barWidth;
	percent = (float)(_resumedFrom + _received) /
	    (float)(_resumedFrom + _length) * 100;

	[of_stdout writeString: @"\r  ▕"];

	for (size_t i = 0; i < (size_t)bars; i++)
		[of_stdout writeString: @"█"];
	if (bars < barWidth) {
		float remainder = bars - floorf(bars);

		if (remainder >= 0.875)
			[of_stdout writeString: @"▉"];
		else if (remainder >= 0.75)
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
		else if (remainder >= 0.25)
			[of_stdout writeString: @"▎"];
		else if (remainder >= 0.125)
			[of_stdout writeString: @"▏"];
		else
			[of_stdout writeString: @" "];

		for (i = 0; i < barWidth - (size_t)bars - 1; i++)
			[of_stdout writeString: @" "];
	}

	[of_stdout writeFormat: @"▏ %6.2f%% ", percent];

	if (percent == 100) {
		double timeInterval = -[_startDate timeIntervalSinceNow];







|







130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
		else if (remainder >= 0.25)
			[of_stdout writeString: @"▎"];
		else if (remainder >= 0.125)
			[of_stdout writeString: @"▏"];
		else
			[of_stdout writeString: @" "];

		for (size_t i = 0; i < barWidth - (size_t)bars - 1; i++)
			[of_stdout writeString: @" "];
	}

	[of_stdout writeFormat: @"▏ %6.2f%% ", percent];

	if (percent == 100) {
		double timeInterval = -[_startDate timeIntervalSinceNow];