~ubuntu-branches/ubuntu/saucy/libhdhomerun/saucy

« back to all changes in this revision

Viewing changes to hdhomerun_channelscan.c

  • Committer: Package Import Robot
  • Author(s): Francois Marier
  • Date: 2013-05-19 18:04:56 UTC
  • mfrom: (1.1.16) (0.1.14 sid)
  • Revision ID: package-import@ubuntu.com-20130519180456-y73jtd4wr5lmo6v5
Tags: 20130328-1
* New upstream release
* Add CPPFLAGS to the upstream Makefile
* Bump Standards-Version up to 3.9.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
 
61
61
void channelscan_destroy(struct hdhomerun_channelscan_t *scan)
62
62
{
 
63
        hdhomerun_channel_list_destroy(scan->channel_list);
63
64
        free(scan);
64
65
}
65
66
 
67
68
{
68
69
        /* Set channel. */
69
70
        char channel_str[64];
70
 
        sprintf(channel_str, "auto:%ld", (unsigned long)frequency);
 
71
        hdhomerun_sprintf(channel_str, channel_str + sizeof(channel_str), "auto:%u", (unsigned int)frequency);
71
72
 
72
73
        int ret = hdhomerun_device_set_tuner_channel(scan->hd, channel_str);
73
74
        if (ret <= 0) {
175
176
                struct hdhomerun_channelscan_program_t program;
176
177
                memset(&program, 0, sizeof(program));
177
178
 
178
 
                strncpy(program.program_str, line, sizeof(program.program_str));
179
 
                program.program_str[sizeof(program.program_str) - 1] = 0;
 
179
                hdhomerun_sprintf(program.program_str, program.program_str + sizeof(program.program_str), "%s", line);
180
180
 
181
181
                unsigned int program_number;
182
182
                unsigned int virtual_major, virtual_minor;
237
237
 
238
238
        /* Combine channels with same frequency. */
239
239
        result->frequency = hdhomerun_channel_entry_frequency(entry);
240
 
        strncpy(result->channel_str, hdhomerun_channel_entry_name(entry), sizeof(result->channel_str) - 1);
241
 
        result->channel_str[sizeof(result->channel_str) - 1] = 0;
 
240
 
 
241
        char *ptr = result->channel_str;
 
242
        char *end = result->channel_str + sizeof(result->channel_str);
 
243
        hdhomerun_sprintf(ptr, end, hdhomerun_channel_entry_name(entry));
242
244
 
243
245
        while (1) {
244
246
                entry = hdhomerun_channel_list_prev(scan->channel_list, entry);
252
254
                        break;
253
255
                }
254
256
 
255
 
                char *ptr = strchr(result->channel_str, 0);
256
 
                sprintf(ptr, ", %s", hdhomerun_channel_entry_name(entry));
 
257
                ptr = strchr(ptr, 0);
 
258
                hdhomerun_sprintf(ptr, end, ", %s", hdhomerun_channel_entry_name(entry));
257
259
        }
258
260
 
259
261
        return 1;