Sun, 17 Dec 2023 15:33:50 +0100
fix faulty string to int conversion utilities
Probably it was expected that errno is set to EINVAL when illegal characters are encountered. But this is not standard and does not happen on every system, allowing illegal strings to be parsed as valid integers.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> <head> <meta charset="utf-8" /> <meta name="generator" content="pandoc" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> <title>dav lock</title> <style type="text/css"> code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} </style> <link rel="stylesheet" href="davdoc.css" /> <!--[if lt IE 9]> <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> <![endif]--> </head> <body> <div class="header"> <a href="./index.html"><span>DavUtils documentation</span></a> </div> <div class="sidebar"> <div class="nav"> <h3>dav</h3> <ul> <li><a href="getting-started.html">Getting started</a></li> <li><a href="commands.html">Commands</a></li> <ul> <li><a href="list.html">list</a></li> <li><a href="get.html">get</a></li> <li><a href="put.html">put</a></li> <li><a href="mkdir.html">mkdir</a></li> <li><a href="remove.html">remove</a></li> <li><a href="copy.html">copy</a></li> <li><a href="move.html">move</a></li> <li><a href="rename.html">rename</a></li> <li><a href="export.html">export</a></li> <li><a href="import.html">import</a></li> <li><a href="get-property.html">get-property</a></li> <li><a href="set-property.html">set-property</a></li> <li><a href="remove-property.html">remove-property</a></li> <li><a href="lock.html">lock</a></li> <li><a href="unlock.html">unlock</a></li> <li><a href="info.html">info</a></li> <li><a href="date.html">date</a></li> <li><a href="versioncontrol.html">versioncontrol</a></li> <li><a href="list-versions.html">list-versions</a></li> <li><a href="checkout.html">checkout</a></li> <li><a href="checkin.html">checkin</a></li> <li><a href="uncheckout.html">uncheckout</a></li> <li><a href="add-repository.html">add-repository</a></li> <li><a href="remove-repository.html">remove-repository</a></li> <li><a href="list-repositories.html">list-repositories</a></li> <li><a href="repository-url.html">repository-url</a></li> <li><a href="add-user.html">add-user</a></li> <li><a href="remove-user.html">remove-user</a></li> <li><a href="edit-user.html">edit-user</a></li> <li><a href="list-users.html">list-users</a></li> <li><a href="check-config.html">check-config</a></li> </ul> <li><a href="configuration.html">Configuration</a></li> <li><a href="encryption.html">Encryption</a></li> </ul> </div> <div class="nav"> <h3>dav-sync</h3> <ul> <li><a href="introduction.html">Introduction</a></li> <li><a href="sync-commands.html">Commands</a></li> <ul> <li><a href="pull.html">pull</a></li> <li><a href="push.html">push</a></li> <li><a href="archive.html">archive</a></li> <li><a href="restore.html">restore</a></li> <li><a href="list-conflicts.html">list-conflicts</a></li> <li><a href="resolve-conflicts.html">resolve-conflicts</a></li> <li><a href="delete-conflicts.html">delete-conflicts</a></li> <li><a href="trash-info.html">trash-info</a></li> <li><a href="empty-trash.html">empty-trash</a></li> <li><a href="list-versions.html">list-versions</a></li> <li><a href="add-tag.html">add-tag</a></li> <li><a href="remove-tag.html">remove-tag</a></li> <li><a href="set-tags.html">set-tags</a></li> <li><a href="list-tags.html">list-tags</a></li> <li><a href="add-directory.html">add-directory</a></li> <li><a href="list-directories.html">list-directories</a></li> <li><a href="sync-check-config.html">check-config</a></li> <li><a href="check-repositories.html">check-repositories</a></li> </ul> <li><a href="sync-configuration.html">Configuration</a></li> </ul> </div> </div> <!-- begin content --> <div class="content"> <header> <h1 class="title">dav lock</h1> </header> <p><strong><code>dav lock [-pc] <url></code></strong></p> <p>Creates a lock on the resource specified by the <em>url</em>. The lock is an exclusive write lock with infinite depth.</p> <p>If the resource is successfully locked, a lock token for this resource is printed to stdout. This lock token should be saved somewhere to unlock the resource eventually.</p> <p><strong><code>-p</code></strong> disable file name and path decryption if enabled</p> <p><strong><code>-c</code></strong> enable file name and path decryption</p> <p><strong><code>-T <seconds></code></strong> specify the lock token timeout in seconds</p> <h3 id="example-1-lock-resource-and-use-the-lock-token">Example 1: lock resource and use the lock token</h3> <pre><code>$ dav lock myserv/resource opaquelocktoken:0454905e-f2ff-45c4-a3d7-5c4e4db5ce37 $ dav put -L opaquelocktoken:0454905e-f2ff-45c4-a3d7-5c4e4db5ce37 myserv/resource newfile $ dav unlock -L opaquelocktoken:0454905e-f2ff-45c4-a3d7-5c4e4db5ce37 myserv/resource</code></pre> </div> <!-- end content --> </body> </html>