<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="FileUtil" rel="Chapter" href="FileUtil.html"> <link title="FileUtilStr" rel="Chapter" href="FileUtilStr.html"> <link title="FilePath" rel="Chapter" href="FilePath.html"><title>FileUtil.touch</title> </head> <body> <code class="code"><span class="keyword">let</span> touch <br> ?(atime=<span class="keyword">true</span>) <br> ?(mtime=<span class="keyword">true</span>) <br> ?(create=<span class="keyword">true</span>)<br> ?(time=<span class="constructor">Touch_now</span>)<br> fln =<br> <br> <span class="keyword">let</span> set_time () =<br> <span class="keyword">let</span> ftime = <br> <span class="keyword">match</span> time <span class="keyword">with</span><br> <span class="keywordsign">|</span> <span class="constructor">Touch_now</span> <span class="keywordsign">-></span> <br> <span class="constructor">Unix</span>.gettimeofday ()<br> <span class="keywordsign">|</span> <span class="constructor">Touch_timestamp</span> time_ref <span class="keywordsign">-></span><br> time_ref<br> <span class="keywordsign">|</span> <span class="constructor">Touch_file_time</span> fln_ref <span class="keywordsign">-></span><br> (<span class="constructor">Unix</span>.stat fln_ref).<span class="constructor">Unix</span>.st_mtime<br> <span class="keyword">in</span><br> <span class="keyword">let</span> cur_stat = <br> <span class="constructor">Unix</span>.stat fln<br> <span class="keyword">in</span><br> <span class="constructor">Unix</span>.utimes <br> fln<br> (<span class="keyword">if</span> atime <span class="keyword">then</span> ftime <span class="keyword">else</span> cur_stat.<span class="constructor">Unix</span>.st_atime)<br> (<span class="keyword">if</span> mtime <span class="keyword">then</span> ftime <span class="keyword">else</span> cur_stat.<span class="constructor">Unix</span>.st_mtime)<br> <span class="keyword">in</span><br> <span class="comment">(* Create file if required *)</span><br> <span class="keyword">if</span> test <span class="constructor">Exists</span> fln <span class="keyword">then</span><br> (<br> set_time ()<br> )<br> <span class="keyword">else</span> <span class="keyword">if</span> create <span class="keyword">then</span><br> (<br> close_out (open_out fln);<br> set_time ()<br> )<br> <span class="keyword">else</span><br> ()</code></body></html>