diff options
Diffstat (limited to 'backend/escl/escl_reset.c')
-rw-r--r-- | backend/escl/escl_reset.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/backend/escl/escl_reset.c b/backend/escl/escl_reset.c index 7494dda..95e3f2d 100644 --- a/backend/escl/escl_reset.c +++ b/backend/escl/escl_reset.c @@ -44,10 +44,10 @@ write_callback(void __sane_unused__*str, * This function is called in the 'sane_cancel' function. */ void -escl_scanner(const ESCL_Device *device, char *result) +escl_scanner(const ESCL_Device *device, char *scanJob, char *result) { CURL *curl_handle = NULL; - const char *scan_jobs = "/eSCL/ScanJobs"; + const char *scan_jobs = "/eSCL/"; const char *scanner_start = "/NextDocument"; char scan_cmd[PATH_MAX] = { 0 }; int i = 0; @@ -58,10 +58,12 @@ escl_scanner(const ESCL_Device *device, char *result) CURL_CALL: curl_handle = curl_easy_init(); if (curl_handle != NULL) { - snprintf(scan_cmd, sizeof(scan_cmd), "%s%s%s", - scan_jobs, result, scanner_start); + snprintf(scan_cmd, sizeof(scan_cmd), "%s%s%s%s", + scan_jobs, scanJob, result, scanner_start); escl_curl_url(curl_handle, device, scan_cmd); curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_callback); + curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt(curl_handle, CURLOPT_MAXREDIRS, 3L); if (curl_easy_perform(curl_handle) == CURLE_OK) { curl_easy_getinfo(curl_handle, CURLINFO_RESPONSE_CODE, &answer); i++; |