⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 link-follow.m4

📁 Linux下文件工具。
💻 M4
字号:
#serial 3dnl Run a program to determine whether whether link(2) follows symlinks.dnl Set LINK_FOLLOWS_SYMLINKS accordingly.AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],[dnl  AC_CACHE_CHECK(    [whether link(2) dereferences a symlink specified with a trailing slash],		 jm_ac_cv_func_link_follows_symlink,  [    dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides    dnl the appropriate framework.    test -z "$ac_cv_header_unistd_h" \      && AC_CHECK_HEADERS(unistd.h)    # Create a regular file.    echo > conftest.file    AC_TRY_RUN(      [#       include <sys/types.h>#       include <sys/stat.h>#       ifdef HAVE_UNISTD_H#        include <unistd.h>#       endif#       define SAME_INODE(Stat_buf_1, Stat_buf_2) \	  ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \	   && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)	int	main ()	{	  const char *file = "conftest.file";	  const char *sym = "conftest.sym";	  const char *hard = "conftest.hard";	  struct stat sb_file, sb_hard;	  /* Create a symlink to the regular file. */	  if (symlink (file, sym))	    abort ();	  /* Create a hard link to that symlink.  */	  if (link (sym, hard))	    abort ();	  if (lstat (hard, &sb_hard))	    abort ();	  if (lstat (file, &sb_file))	    abort ();	  /* If the dev/inode of hard and file are the same, then	     the link call followed the symlink.  */	  return SAME_INODE (sb_hard, sb_file) ? 0 : 1;	}      ],      jm_ac_cv_func_link_follows_symlink=yes,      jm_ac_cv_func_link_follows_symlink=no,      jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.    )  ])  if test $jm_ac_cv_func_link_follows_symlink = yes; then    AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,      [Define if `link(2)' dereferences symbolic links.])  fi])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -