Simplify lock condition

Change to handle as LOCK is not suuported for the case response of LOCK is
unimplemented.
Then
  * LOCKSUPPORT == FALSE:	LOCK is not suuported
  * LOCKSUPPORT == TRUE:  	LOCK is supported
  * lock == 0:  		no LOCK error
  * lock == -1: 		failed to LOCK

Signed-off-by: OBATA Akio <obache@wizdas.com>
(cherry picked from commit b03db89643)
r14.0.x
OBATA Akio 5 years ago committed by Slávek Banko
parent ae9320b870
commit c4edcdff75
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -217,13 +217,16 @@ gboolean carddav_delete(carddav_settings* settings, carddav_error* error) {
* hoping for the best.
*/
else if (lock_error.code == 501) {
lock_token = g_strdup("");
lock_error.code = 0;
g_free(lock_error.str);
lock_error.str = NULL;
LOCKSUPPORT = FALSE;
}
else {
lock = -1;
}
}
if (! LOCKSUPPORT || (LOCKSUPPORT && lock_token && lock_error.code != 423)) {
if (lock == 0) {
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_header);
curl_easy_setopt(curl, CURLOPT_URL, rebuild_url(settings, url));
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
@ -233,7 +236,7 @@ gboolean carddav_delete(carddav_settings* settings, carddav_error* error) {
curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 1);
curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
res = curl_easy_perform(curl);
if (LOCKSUPPORT && lock_token) {
if (LOCKSUPPORT) {
carddav_unlock_object(
lock_token, url, settings, &lock_error);
}
@ -402,13 +405,16 @@ gboolean carddav_delete_by_uri(carddav_settings* settings, carddav_error* error)
* hoping for the best.
*/
else if (lock_error.code == 501) {
lock_token = g_strdup("");
lock_error.code = 0;
g_free(lock_error.str);
lock_error.str = NULL;
LOCKSUPPORT = FALSE;
}
else {
lock = -1;
}
}
if (! LOCKSUPPORT || (LOCKSUPPORT && lock_token && lock_error.code != 423)) {
if (lock == 0) {
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_header);
curl_easy_setopt(curl, CURLOPT_URL, rebuild_url(settings, url));
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
@ -418,7 +424,7 @@ gboolean carddav_delete_by_uri(carddav_settings* settings, carddav_error* error)
curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 1);
curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
res = curl_easy_perform(curl);
if (LOCKSUPPORT && lock_token) {
if (LOCKSUPPORT) {
carddav_unlock_object(
lock_token, url, settings, &lock_error);
}

@ -217,13 +217,16 @@ gboolean carddav_modify(carddav_settings* settings, carddav_error* error) {
* hoping for the best.
*/
else if (lock_error.code == 501) {
lock_token = g_strdup("");
lock_error.code = 0;
g_free(lock_error.str);
lock_error.str = NULL;
LOCKSUPPORT = FALSE;
}
else {
lock = -1;
}
}
if (! LOCKSUPPORT || (LOCKSUPPORT && lock_token && lock_error.code != 423)) {
if (lock == 0) {
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_header);
curl_easy_setopt(curl, CURLOPT_URL, rebuild_url(settings, url));
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, settings->file);
@ -234,7 +237,7 @@ gboolean carddav_modify(carddav_settings* settings, carddav_error* error) {
curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
res = curl_easy_perform(curl);
if (LOCKSUPPORT && lock_token) {
if (LOCKSUPPORT) {
carddav_unlock_object(
lock_token, url, settings, &lock_error);
}
@ -415,13 +418,13 @@ gboolean carddav_modify_by_uri(carddav_settings* settings, carddav_error* error)
* hoping for the best.
*/
else if (lock_error.code == 501) {
lock_token = g_strdup("");
LOCKSUPPORT = FALSE;
}
else {
lock = -1;
}
}
if (! LOCKSUPPORT || (LOCKSUPPORT && lock_token && lock_error.code != 423)) {
if (lock == 0) {
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_header);
curl_easy_setopt(curl, CURLOPT_URL, rebuild_url(settings, url));
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, settings->file);
@ -432,7 +435,7 @@ gboolean carddav_modify_by_uri(carddav_settings* settings, carddav_error* error)
curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
res = curl_easy_perform(curl);
if (LOCKSUPPORT && lock_token) {
if (LOCKSUPPORT) {
carddav_unlock_object(
lock_token, url, settings, &lock_error);
}

Loading…
Cancel
Save