diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-08-26 18:45:54 +0200 | 
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-08-26 18:45:54 +0200 | 
| commit | febb26d4b711762b1ee605705e7fa949b9871df1 (patch) | |
| tree | 440b73a864b8251070f7988c5c64b1dd5b513d2f /dep/mysqllite/mysys/my_getwd.c | |
| parent | 10dfe19f9c77d5599d854865200bb48353d6b249 (diff) | |
Core/Deps: MySQL sources out.
Windows users are now required to download and install mysql server with headers and libraries
Diffstat (limited to 'dep/mysqllite/mysys/my_getwd.c')
| -rw-r--r-- | dep/mysqllite/mysys/my_getwd.c | 167 | 
1 files changed, 0 insertions, 167 deletions
diff --git a/dep/mysqllite/mysys/my_getwd.c b/dep/mysqllite/mysys/my_getwd.c deleted file mode 100644 index ace14c8a3c9..00000000000 --- a/dep/mysqllite/mysys/my_getwd.c +++ /dev/null @@ -1,167 +0,0 @@ -/* Copyright (C) 2000 MySQL AB - -   This program is free software; you can redistribute it and/or modify -   it under the terms of the GNU General Public License as published by -   the Free Software Foundation; version 2 of the License. - -   This program is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -   GNU General Public License for more details. - -   You should have received a copy of the GNU General Public License -   along with this program; if not, write to the Free Software -   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */ - -/* my_setwd() and my_getwd() works with intern_filenames !! */ - -#include "mysys_priv.h" -#include <m_string.h> -#include "mysys_err.h" -#ifdef HAVE_GETWD -#include <sys/param.h> -#endif -#if defined(__WIN__) -#include <m_ctype.h> -#include <dos.h> -#include <direct.h> -#endif - -/* Gets current working directory in buff. - -  SYNPOSIS -    my_getwd() -    buf		Buffer to store result. Can be curr_dir[]. -    size	Size of buffer -    MyFlags	Flags - -  NOTES -    Directory is allways ended with FN_LIBCHAR - -  RESULT -    0  ok -    #  error -*/ - -int my_getwd(char * buf, size_t size, myf MyFlags) -{ -  char * pos; -  DBUG_ENTER("my_getwd"); -  DBUG_PRINT("my",("buf: 0x%lx  size: %u  MyFlags %d", -                   (long) buf, (uint) size, MyFlags)); - -  if (size < 1) -    DBUG_RETURN(-1); - -  if (curr_dir[0])				/* Current pos is saved here */ -    (void) strmake(buf,&curr_dir[0],size-1); -  else -  { -#if defined(HAVE_GETCWD) -    if (size < 2) -      DBUG_RETURN(-1); -    if (!getcwd(buf,(uint) (size-2)) && MyFlags & MY_WME) -    { -      my_errno=errno; -      my_error(EE_GETWD,MYF(ME_BELL+ME_WAITTANG),errno); -      DBUG_RETURN(-1); -    } -#elif defined(HAVE_GETWD) -    { -      char pathname[MAXPATHLEN]; -      getwd(pathname); -      strmake(buf,pathname,size-1); -    } -#else -#error "No way to get current directory" -#endif -    if (*((pos=strend(buf))-1) != FN_LIBCHAR)  /* End with FN_LIBCHAR */ -    { -      pos[0]= FN_LIBCHAR; -      pos[1]=0; -    } -    (void) strmake(&curr_dir[0],buf, (size_t) (FN_REFLEN-1)); -  } -  DBUG_RETURN(0); -} /* my_getwd */ - - -/* Set new working directory */ - -int my_setwd(const char *dir, myf MyFlags) -{ -  int res; -  size_t length; -  char *start, *pos; -  DBUG_ENTER("my_setwd"); -  DBUG_PRINT("my",("dir: '%s'  MyFlags %d", dir, MyFlags)); - -  start=(char *) dir; -  if (! dir[0] || (dir[0] == FN_LIBCHAR && dir[1] == 0)) -    dir=FN_ROOTDIR; -  if ((res=chdir((char*) dir)) != 0) -  { -    my_errno=errno; -    if (MyFlags & MY_WME) -      my_error(EE_SETWD,MYF(ME_BELL+ME_WAITTANG),start,errno); -  } -  else -  { -    if (test_if_hard_path(start)) -    {						/* Hard pathname */ -      pos= strmake(&curr_dir[0],start,(size_t) FN_REFLEN-1); -      if (pos[-1] != FN_LIBCHAR) -      { -	length=(uint) (pos-(char*) curr_dir); -	curr_dir[length]=FN_LIBCHAR;		/* must end with '/' */ -	curr_dir[length+1]='\0'; -      } -    } -    else -      curr_dir[0]='\0';				/* Don't save name */ -  } -  DBUG_RETURN(res); -} /* my_setwd */ - - - -	/* Test if hard pathname */ -	/* Returns 1 if dirname is a hard path */ - -int test_if_hard_path(register const char *dir_name) -{ -  if (dir_name[0] == FN_HOMELIB && dir_name[1] == FN_LIBCHAR) -    return (home_dir != NullS && test_if_hard_path(home_dir)); -  if (dir_name[0] == FN_LIBCHAR) -    return (TRUE); -#ifdef FN_DEVCHAR -  return (strchr(dir_name,FN_DEVCHAR) != 0); -#else -  return FALSE; -#endif -} /* test_if_hard_path */ - - -/* -  Test if a name contains an (absolute or relative) path. - -  SYNOPSIS -    has_path() -    name                The name to test. - -  RETURN -    TRUE        name contains a path. -    FALSE       name does not contain a path. -*/ - -my_bool has_path(const char *name) -{ -  return test(strchr(name, FN_LIBCHAR))  -#if FN_LIBCHAR != '/' -    || test(strchr(name,'/')) -#endif -#ifdef FN_DEVCHAR -    || test(strchr(name, FN_DEVCHAR)) -#endif -    ; -}  | 
