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 unlock</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 unlock</h1> </header> <p><strong><code>dav unlock [-pc] [-L <lock>] <url></code></strong></p> <p>Unlocks the specified <em>url</em> with a lock token. If no lock token is specified with the <code>-L</code> option, it read from stdin.</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>-L <lock></code></strong> use the specified lock token</p> <h3 id="example-1-unlock-with-lock-token-from-stdin">Example 1: unlock with lock token from stdin</h3> <pre><code>$ dav lock myserv/resource > locktoken $ dav unlock myserv/resource < locktoken</code></pre> <h3 id="example-2-unlock-with-lock-token-from-command-line-argument">Example 2: unlock with lock token from command line argument</h3> <pre><code>$ dav lock myserv/resource opaquelocktoken:0454905e-f2ff-45c4-a3d7-5c4e4db5ce37 $ dav unlock -L opaquelocktoken:0454905e-f2ff-45c4-a3d7-5c4e4db5ce37 myserv/resource</code></pre> </div> <!-- end content --> </body> </html>