]>
git.ipfire.org Git - thirdparty/strongswan.git/blob - scripts/fetch.c
2 * Copyright (C) 2010 Martin Willi
3 * Copyright (C) 2010 revosec AG
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 #include <utils/debug.h>
24 static bool cb(void *userdata
, chunk_t chunk
)
26 if (write(1, chunk
.ptr
, chunk
.len
) == chunk
.len
)
34 int main(int argc
, char *argv
[])
38 library_init(NULL
, "fetch");
39 atexit(library_deinit
);
40 lib
->plugins
->load(lib
->plugins
, PLUGINS
);
42 if (argc
!= 3 || (!streq(argv
[1], "a") && !streq(argv
[1], "s")))
44 fprintf(stderr
, "usage: %s a|s <url>\n", argv
[0]);
47 if (streq(argv
[1], "a"))
49 if (lib
->fetcher
->fetch(lib
->fetcher
, argv
[2], &res
,
50 FETCH_END
) == SUCCESS
)
52 ignore_result(write(1, res
.ptr
, res
.len
));
59 if (lib
->fetcher
->fetch(lib
->fetcher
, argv
[2], NULL
,
60 FETCH_CALLBACK
, cb
, FETCH_END
) == SUCCESS
)
62 fprintf(stderr
, "received %d chunks\n", count
);