* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
/*
g_string_append_printf(header, "%s Channels (%d/%d):",
ctx->comment, ctx->num_analog_channels +
ctx->num_logic_channels, num_channels);
- for (i = 0, l = o->sdi->channels; l; l = l->next, i++) {
+ for (l = o->sdi->channels; l; l = l->next) {
ch = l->data;
if (ch->enabled)
g_string_append_printf(header, " %s,", ch->name);
for (j = ch = 0; ch < ctx->num_logic_channels; j++) {
if (ctx->channels[j].ch->type == SR_CHANNEL_LOGIC) {
- for (i = 0; i <= logic->length - logic->unitsize; i += logic->unitsize) {
- sample = logic->data + i;
- idx = ctx->channels[ch].ch->index;
+ for (i = 0; i < num_samples; i++) {
+ sample = logic->data + i * logic->unitsize;
+ idx = ctx->channels[j].ch->index;
if (ctx->label_do && !ctx->label_names)
- ctx->channels[i].label = "logic";
+ ctx->channels[j].label = "logic";
ctx->logic_samples[i * ctx->num_logic_channels + ch] = sample[idx / 8] & (1 << (idx % 8));
}
ch++;
}
if (ctx->time)
- g_string_append_printf(*out, "%lu%s",
+ g_string_append_printf(*out, "%" PRIu64 "%s",
ctx->sample_time, ctx->value);
for (j = 0; j < num_channels; j++) {
break;
case SR_DF_FRAME_BEGIN:
*out = g_string_new(ctx->frame);
- /* And then fall through to... */
+ /* Fallthrough */
case SR_DF_END:
/* Got to end of frame/session with part of the data. */
if (ctx->channels_seen)
g_free((gpointer)ctx->frame);
g_free((gpointer)ctx->comment);
g_free((gpointer)ctx->gnuplot);
+ g_free((gpointer)ctx->value);
g_free(ctx->previous_sample);
g_free(ctx->channels);
g_free(o->priv);