#define CHANNEL "CHANNEL"
-static int fill_entry(struct dvb_entry *entry, int n_prop,
- char *key, char *value)
+static int fill_entry(struct dvb_entry *entry, char *key, char *value)
{
int i, j, len;
- int is_video = 0, is_audio = 0;
+ int is_video = 0, is_audio = 0, n_prop;
uint16_t *pid = NULL;
char *p;
if (i < ARRAY_SIZE(dvb_v5_name)) {
const char * const *attr_name = dvbv5_attr_names[i];
+ n_prop = entry->n_props;
entry->props[n_prop].cmd = i;
if (!attr_name || !*attr_name)
entry->props[n_prop].u.data = atol(value);
return -2;
entry->props[n_prop].u.data = j;
}
+ entry->n_props++;
return 0;
}
char *buf = NULL, *p, *key, *value;
size_t size = 0;
int len = 0;
- int line = 0, n_prop = 0, rc;
+ int line = 0, rc;
struct dvb_file *dvb_file;
FILE *fd;
struct dvb_entry *entry = NULL;
entry->next = calloc(sizeof(*entry), 1);
entry = entry->next;
}
- n_prop = 0;
p++;
p = strtok(p, "]");
if (!p) {
goto error;
}
p = &key[strlen(key) - 1];
- while (*p == ' ' || *p == '\t')
+ while (p > key && *(p - 1) == ' ' || *(p - 1) == '\t')
p--;
*p = 0;
value = strtok(NULL, "\n");
while (*value == ' ' || *value == '\t')
value++;
- rc = fill_entry(entry, n_prop, key, value);
+ rc = fill_entry(entry, key, value);
if (rc == -2) {
sprintf(err_msg, "value %s is invalid for %s",
value, key);
sprintf(err_msg, "key %s is unknown", key);
goto error;
}
- n_prop++;
}
} while (1);
fclose(fd);