test: online/login describes returned error code
[libisds.git] / client / convertdocument.c
blobaaaca89e1a1a9e57ac029d24752d72aca76f83ed
1 #define _XOPEN_SOURCE 500
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <locale.h>
5 #include <time.h>
6 #include <string.h>
7 #include <isds.h>
8 #include "common.h"
11 int main(int argc, char **argv) {
12 struct isds_ctx *ctx = NULL;
13 isds_error err;
14 struct isds_document document;
15 int fd;
16 char *id = NULL;
17 struct tm *date = NULL;
19 setlocale(LC_ALL, "");
21 if (argc < 3) {
22 fprintf(stderr, "Usage: program FILE DESCRIPTION\n");
23 exit(EXIT_FAILURE);
26 err = isds_init();
27 if (err) {
28 printf("isds_init() failed: %s\n", isds_strerror(err));
29 exit(EXIT_FAILURE);
32 isds_set_logging(ILF_ALL & ~ILF_HTTP, ILL_ALL);
34 ctx = isds_ctx_create();
35 if (!ctx) {
36 printf("isds_ctx_create() failed");
39 err = isds_set_timeout(ctx, 10000);
40 if (err) {
41 printf("isds_set_timeout() failed: %s\n", isds_strerror(err));
44 /* err = isds_set_tls(ctx, ITLS_VERIFY_SERVER, 0);
45 if (err) {
46 printf("isds_set_tls(ITLS_VERIFY_SERVER) failed: %s\n",
47 isds_strerror(err));
50 err = isds_set_tls(ctx, ITLS_CA_FILE, "/etc/ssl/certs/ca-certificates.crt");
51 if (err) {
52 printf("isds_set_tls(ITLS_CA_FILE) failed: %s\n",
53 isds_strerror(err));
54 }*/
57 /* Load document */
58 if (mmap_file(argv[1], &fd, &document.data, &document.data_length)) {
59 fprintf(stderr, "Could not map file with document");
60 isds_ctx_free(&ctx);
61 isds_cleanup();
62 exit(EXIT_FAILURE);
64 document.dmFileDescr = argv[2];
67 /* Submit document for conversion */
68 printf("Submitting document for authorize conversion: "
69 "content=%s, description=%s\n", argv[1], argv[2]);
70 err = czp_convert_document(ctx, &document, &id, &date);
71 if (err)
72 printf("czp_convert_document() failed: %s: %s\n",
73 isds_strerror(err), isds_long_message(ctx));
74 else {
75 printf("czp_convert_document() succeeded:\n");
76 printf("\tidentifier = %s\n", id);
77 printf("\tsubmit date = ");
78 print_date(date);
81 free(id);
82 free(date);
83 munmap_file(fd, document.data, document.data_length);
87 err = czp_close_connection(ctx);
88 if (err) {
89 printf("czp_close_connetion() failed: %s\n", isds_strerror(err));
93 err = isds_ctx_free(&ctx);
94 if (err) {
95 printf("isds_ctx_free() failed: %s\n", isds_strerror(err));
99 err = isds_cleanup();
100 if (err) {
101 printf("isds_cleanup() failed: %s\n", isds_strerror(err));
104 exit (EXIT_SUCCESS);