symlink.c

来自「zlib压缩原码」· C语言 代码 · 共 45 行

C
45
字号
/* * symlink.c * * Copyright (C) 1993 Alain Knaff */#define _LARGEFILE64_SOURCE#define _GNU_SOURCE#include "sysincludes.h"int symlink(__const char *file_name1, __const char *file_name2){  int st;  struct STAT32 buf;  /* file without z exists */  st = ___zlibc_stat(file_name1, &buf );  if ( st < 0 && errno == ENOENT ){    char newname1[MAXPATHLEN + MAXEXTLEN + 1];    char newname2[MAXPATHLEN + MAXEXTLEN + 1];    zlib_initialise();    if ( ! ( zlib_mode & CM_DISAB ) &&	(zlib_getfiletype(file_name1,-1) & PM_READ_MASK) != PM_LEAVE_COMPR){      strncpy(newname1,file_name1,1024);      strcat(newname1,zlib_ext);      st = ___zlibc_stat(newname1, &buf );            /* file with z exists */      if ( st >= 0 || errno != ENOENT ){	errno = 0;	strncpy(newname2,file_name2,1024);	strcat(newname2,zlib_ext);	return zlib_real_symlink(newname1, newname2);      }    }  }  /* neither file  exists */  errno = 0;  return zlib_real_symlink(file_name1, file_name2);}

⌨️ 快捷键说明

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