summaryrefslogtreecommitdiffstats
path: root/rtv4d-dl.c
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2020-12-30 23:16:43 +0100
committerAnton Luka Šijanec <anton@sijanec.eu>2020-12-30 23:16:43 +0100
commit3057776e493a862ffc39e59dd2254709eee7badc (patch)
tree5c663123a616e6e99a7531f6d3dd5f8db56a791e /rtv4d-dl.c
parentMerge pull request 'različica 0.0.3' (#1) from dev into master (diff)
parent0.0.4 sedaj pa res pripravljen (; (diff)
downloadrtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.tar
rtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.tar.gz
rtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.tar.bz2
rtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.tar.lz
rtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.tar.xz
rtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.tar.zst
rtv4d-dl-3057776e493a862ffc39e59dd2254709eee7badc.zip
Diffstat (limited to 'rtv4d-dl.c')
-rw-r--r--rtv4d-dl.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/rtv4d-dl.c b/rtv4d-dl.c
index 6da6a61..c4343bd 100644
--- a/rtv4d-dl.c
+++ b/rtv4d-dl.c
@@ -65,7 +65,7 @@
#define RTV_JWT_SIZEOF 43+1
#define RTV_PREDVAJALNIK_URL "http://4d." RTV_SLD "/arhiv/v/%u"
#define RTV_PREDVAJALNIK_URL_SIZEOF (32+1 + 12)
-#define RTV_VER "0.0.3"
+#define RTV_VER "0.0.4"
#define RTV_ZIVO_PROGRAM_SIZEOF 12
#define RTV_API_ZIVO_URL \
"http://api." RTV_SLD "/ava/getLiveStream/tv.%." \
@@ -122,6 +122,16 @@
#define RTV_FREE(param) do { free(param); param = NULL; } while (0)
#define RTV_HTTP_SUCCESS(koda) ((koda / 100) == 2) /* če je koda 2xx */
#define RTV_ZIVO_P_DOLZINA 10
+#define RTV_INT_V_SLO(niz) /* niz naj bo http url */ \
+ if (strstr(niz, "-int")) { /* je strstr-jati dvakrat potratno? */ \
+ strncpy(strstr(niz, "-int"), "-slo", strlen("-slo")); /* nast. pov. \/ */ \
+ niz[8]--; /* pri medn. je štev. ponav. za 1 večja */ /* kot mednarodno */ \
+ RTV_NAPISI(OPOZORILO, "izven Slovenije prenašate vsebino RTVSLO. Če ne " \
+ "plačujete RTV prispevka ali če za to niste pooblaščeni, KRŠITE" \
+ "AVTORSKE PRAVICE in STE V PREKRŠKU - v tem primeru nemudoma " \
+ "prenehajte uporabljati program s Ctrl-C! naslovi so bili spremenjeni, " \
+ "tako da bo prenos še vedno deloval, če pa ne, pa poglejte navodila."); \
+ }
struct meta_oddaja {
size_t naslov_sizeof;
char * naslov; /* Vreme ob 22h */
@@ -442,6 +452,7 @@ int rtv_meta_izpolni(struct meta_oddaja * m) {
int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnonnull"
+#pragma GCC diagnostic ignored "-Wstringop-truncation" /* za RTV_INT_V_SLO(u) */
int returnstatus = 0;
FILE * odgstream;
char * odg;
@@ -479,6 +490,9 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
/* če obstaja ?DVR na koncu, bo vsebina gzipana, to nas samo moti */
strchrnul(m->seznam_predvajanja_url, '?')[0] = '\0'; /* odstrani parametre */
RTV_HTTPS_V_HTTP(m->seznam_predvajanja_url);
+#ifndef RTV_NASTAVITEV_BREZ_LOKACIJSKIH_SPREMEMB
+ RTV_INT_V_SLO(m->seznam_predvajanja_url);
+#endif
rewind(odgstream);
http_get(m->seznam_predvajanja_url, odgstream);
for (i = 0; i < ftell(odgstream); i++) {
@@ -498,6 +512,9 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
break; /* spet, potrebujemo samo prvi t. i. "chunklist". */
}
}
+#ifndef RTV_NASTAVITEV_BREZ_LOKACIJSKIH_SPREMEMB
+ RTV_INT_V_SLO(m->kazalo_url);
+#endif
RTV_NAPISI(HROSC, "kazalo_url => %s", m->kazalo_url);
rewind(odgstream);
returnstatus = http_get(m->kazalo_url, odgstream);
@@ -557,6 +574,9 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
memmove(e+2, e+strlen(temp), strlen(temp)+1); /* naredimo prostor 2 */
e[0] = '%'; e[1] = 'u'; /* napišemo format v prostorček */
RTV_HTTPS_V_HTTP(m->kos_format);
+#ifndef RTV_NASTAVITEV_BREZ_LOKACIJSKIH_SPREMEMB
+ RTV_INT_V_SLO(m->kos_format);
+#endif
RTV_NAPISI(HROSC, "m->kos_format => %s", m->kos_format);
}
e = strrchr(m->kos_format+strlen("http://"), '/')+1;
@@ -585,7 +605,7 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
int main (int argc, char ** argv) {
if (argc < 1+1) {
- fprintf(stderr, "preberi README.md pred uporabo programa, saj vsebuje"
+ fprintf(stderr, "preberi README.md pred uporabo programa, saj vsebuje "
"navodila in ostalo.\n");
return 1;
}
@@ -854,6 +874,14 @@ int main (int argc, char ** argv) {
fclose(fd);
returnstatus = 0;
}
+ fprintf(stdout, "program: %s\nsedanjost: %u\nprvi: %u\ndolzina: %u\n"
+ "diskrepanca: %u\nprenesenih_kosov_preteklost: %u\n"
+ "prenesenih_kosov_prihodnost: %u\npreteklost: %u\nprihodnost: %u\n"
+ "seznam_predvajanja_url: %s\nkazalo_url: %s\nkos_format: %s\n"
+ "api_url: %s\n", z->program, z->sedanjost, z->prvi, z->dolzina,
+ z->diskrepanca, z->prenesenih_kosov_preteklost,
+ z->prenesenih_kosov_prihodnost, z->preteklost, z->prihodnost,
+ z->seznam_predvajanja_url, z->kazalo_url, z->kos_format, z->api_url);
fclose(fd2);
break;
default: