diff options
author | Denis Bitouzé <dbitouze@wanadoo.fr> | 2021-02-25 18:23:07 +0000 |
---|---|---|
committer | Denis Bitouzé <dbitouze@wanadoo.fr> | 2021-02-25 18:23:07 +0000 |
commit | c6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch) | |
tree | 1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/texk/web2c/luatexdir/luafontloader/fontforge/gutils | |
parent | 07ee7222e389b0777456b427a55c22d0e6ffd267 (diff) |
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader/fontforge/gutils')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luafontloader/fontforge/gutils/fsys.c | 489 |
1 files changed, 0 insertions, 489 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/gutils/fsys.c b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/gutils/fsys.c deleted file mode 100644 index ba846e2c571..00000000000 --- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/gutils/fsys.c +++ /dev/null @@ -1,489 +0,0 @@ -/* Copyright (C) 2000-2004 by George Williams */ -/* - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - - * The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "basics.h" -#include "ustring.h" -#include "gfile.h" -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> /* for mkdir */ -#include <unistd.h> - -#ifdef _WIN32 -#define MKDIR(A,B) mkdir(A) -#else -#define MKDIR(A,B) mkdir(A,B) -#endif - -static char dirname_[1024]; - -char *GFileGetAbsoluteName(char *name, char *result, int rsiz) { - /* result may be the same as name */ - char buffer[1000]; - - if ( *name!='/' ) { - char *pt, *spt, *rpt, *bpt; - - if ( dirname_[0]=='\0' ) { - if (getcwd(dirname_,sizeof(dirname_)) == NULL) -return(result); - } - strcpy(buffer,dirname_); - if ( buffer[strlen(buffer)-1]!='/' ) - strcat(buffer,"/"); - strcat(buffer,name); - - /* Normalize out any .. */ - spt = rpt = buffer; - while ( *spt!='\0' ) { - if ( *spt=='/' ) ++spt; - for ( pt = spt; *pt!='\0' && *pt!='/'; ++pt ); - if ( pt==spt ) /* Found // in a path spec, reduce to / (we've*/ - strcpy(spt,pt); /* skipped past the :// of the machine name) */ - else if ( pt==spt+1 && spt[0]=='.' ) /* Noop */ - strcpy(spt,pt); - else if ( pt==spt+2 && spt[0]=='.' && spt[1]=='.' ) { - for ( bpt=spt-2 ; bpt>rpt && *bpt!='/'; --bpt ); - if ( bpt>=rpt && *bpt=='/' ) { - strcpy(bpt,pt); - spt = bpt; - } else { - rpt = pt; - spt = pt; - } - } else - spt = pt; - } - name = buffer; - if ( rsiz>sizeof(buffer)) rsiz = sizeof(buffer); /* Else valgrind gets unhappy */ - } - if (result!=name) { - strncpy(result,name,rsiz); - result[rsiz-1]='\0'; - } -return(result); -} - -char *GFileMakeAbsoluteName(char *name) { - char buffer[1025]; - - GFileGetAbsoluteName(name,buffer,sizeof(buffer)); -return( copy(buffer)); -} - -char *GFileBuildName(char *dir,char *fname,char *buffer,int size) { - int len; - - if ( dir==NULL || *dir=='\0' ) { - if ( strlen( fname )<size-1 ) /* valgrind didn't like my strncpies but this complication makes it happy */ - strcpy(buffer,fname); - else { - strncpy(buffer,fname,size-1); - buffer[size-1]='\0'; - } - } else { - if ( buffer!=dir ) { - if ( strlen( dir )<size-3 ) - strcpy(buffer,dir); - else { - strncpy(buffer,dir,size-3); - buffer[size-3]='\0'; - } - } - len = strlen(buffer); - if ( buffer[len-1]!='/' ) - buffer[len++] = '/'; - if ( strlen( fname )<size-1 ) - strcpy(buffer+len,fname); - else { - strncpy(buffer+len,fname,size-len-1); - buffer[size-1]='\0'; - } - } -return( buffer ); -} - -/* Given a filename in a directory, pick the directory out of it, and */ -/* create a new filename using that directory and the given nametail */ -char *GFileReplaceName(char *oldname,char *fname,char *buffer,int size) { - int len; - char *dirend; - - dirend = strrchr(oldname,'/'); - if ( dirend == NULL ) { - strncpy(buffer,fname,size-1); - buffer[size-1]='\0'; - } else { - *dirend = '\0'; - if ( buffer!=oldname ) { - strncpy(buffer,oldname,size-3); - buffer[size-3]='\0'; - } - len = strlen(buffer); - *dirend = '/'; - buffer[len++] = '/'; - strncpy(buffer+len,fname,size-len-1); - buffer[size-1]='\0'; - } -return( buffer ); -} - -char *GFileNameTail(const char *oldname) { - char *pt; - - pt = strrchr(oldname,'/'); - if ( pt !=NULL ) -return( pt+1); - else -return( (char *)oldname ); -} - -char *GFileAppendFile(char *dir,char *name,int isdir) { - char *ret, *pt; - - ret = xmalloc((strlen(dir)+strlen(name)+3)); - strcpy(ret,dir); - pt = ret+strlen(ret); - if ( pt>ret && pt[-1]!='/' ) - *pt++ = '/'; - strcpy(pt,name); - if ( isdir ) { - pt += strlen(pt); - if ( pt>ret && pt[-1]!='/' ) { - *pt++ = '/'; - *pt = '\0'; - } - } -return(ret); -} - -int GFileIsAbsolute(const char *file) { - if ( *file=='/' ) -return( true ); - if ( strstr(file,"://")!=NULL ) -return( true ); - -return( false ); -} - -int GFileIsDir(const char *file) { -#ifdef _WIN32 - struct stat info; - if (stat(file, &info)) -return 0; - else -return ((info.st_mode&_S_IFDIR)); -#else - char buffer[1000]; - sprintf(buffer,"%s/.",file); -return( access(buffer,0)==0 ); -#endif -} - -int GFileExists(const char *file) { -return( access(file,0)==0 ); -} - -int GFileModifyable(const char *file) { -return( access(file,02)==0 ); -} - -int GFileModifyableDir(const char *file) { - char buffer[1024], *pt; - - strcpy(buffer,file); - pt = strrchr(buffer,'/'); - if ( pt==NULL ) - strcpy(buffer,"."); - else - *pt='\0'; -return( GFileModifyable(buffer)); -} - -int GFileReadable(char *file) { -return( access(file,04)==0 ); -} - -int GFileMkDir(char *name) { -return( MKDIR(name,0755)); -} - -int GFileRmDir(char *name) { -return(rmdir(name)); -} - -int GFileUnlink(char *name) { -return(unlink(name)); -} - -char *_GFile_find_program_dir(char *prog) { - char *pt, *path, *program_dir=NULL; - char filename[2000]; - - if ( (pt = strrchr(prog,'/'))!=NULL ) - program_dir = copyn(prog,pt-prog); - else if ( (path = getenv("PATH"))!=NULL ) { - while ((pt = strchr(path,':'))!=NULL ) { - sprintf(filename,"%.*s/%s", (int)(pt-path), path, prog); - /* Under cygwin, applying access to "potrace" will find "potrace.exe" */ - /* no need for special check to add ".exe" */ - if ( access(filename,1)!= -1 ) { - program_dir = copyn(path,pt-path); - break; - } - path = pt+1; - } - if ( program_dir==NULL ) { - sprintf(filename,"%s/%s", path, prog); - if ( access(filename,1)!= -1 ) - program_dir = copy(path); - } - } - if ( program_dir==NULL ) -return( NULL ); - GFileGetAbsoluteName(program_dir,filename,sizeof(filename)); - gfree(program_dir); - program_dir = copy(filename); -return( program_dir ); -} - -unichar_t *u_GFileGetAbsoluteName(unichar_t *name, unichar_t *result, int rsiz) { - /* result may be the same as name */ - unichar_t buffer[1000]; - - if ( *name!='/' ) { - unichar_t *pt, *spt, *rpt, *bpt; - - if ( dirname_[0]=='\0' ) { - if (getcwd(dirname_,sizeof(dirname_)) == NULL) -return(result); - } - uc_strcpy(buffer,dirname_); - if ( buffer[u_strlen(buffer)-1]!='/' ) - uc_strcat(buffer,"/"); - u_strcat(buffer,name); - - /* Normalize out any .. */ - spt = rpt = buffer; - while ( *spt!='\0' ) { - if ( *spt=='/' ) ++spt; - for ( pt = spt; *pt!='\0' && *pt!='/'; ++pt ); - if ( pt==spt ) /* Found // in a path spec, reduce to / (we've*/ - u_strcpy(spt,pt); /* skipped past the :// of the machine name) */ - else if ( pt==spt+1 && spt[0]=='.' ) /* Noop */ - u_strcpy(spt,pt); - else if ( pt==spt+2 && spt[0]=='.' && spt[1]=='.' ) { - for ( bpt=spt-2 ; bpt>rpt && *bpt!='/'; --bpt ); - if ( bpt>=rpt && *bpt=='/' ) { - u_strcpy(bpt,pt); - spt = bpt; - } else { - rpt = pt; - spt = pt; - } - } else - spt = pt; - } - name = buffer; - } - if (result!=name) { - u_strncpy(result,name,rsiz); - result[rsiz-1]='\0'; - } -return(result); -} - -unichar_t *u_GFileBuildName(unichar_t *dir,unichar_t *fname,unichar_t *buffer,int size) { - int len; - - if ( dir==NULL || *dir=='\0' ) { - u_strncpy(buffer,fname,size-1); - buffer[size-1]='\0'; - } else { - if ( buffer!=dir ) { - u_strncpy(buffer,dir,size-3); - buffer[size-3]='\0'; - } - len = u_strlen(buffer); - if ( buffer[len-1]!='/' ) - buffer[len++] = '/'; - u_strncpy(buffer+len,fname,size-len-1); - buffer[size-1]='\0'; - } -return( buffer ); -} - -/* Given a filename in a directory, pick the directory out of it, and */ -/* create a new filename using that directory and the given nametail */ -unichar_t *u_GFileReplaceName(unichar_t *oldname,unichar_t *fname,unichar_t *buffer,int size) { - int len; - unichar_t *dirend; - - dirend = u_strrchr(oldname,'/'); - if ( dirend == NULL ) { - u_strncpy(buffer,fname,size-1); - buffer[size-1]='\0'; - } else { - *dirend = '\0'; - if ( buffer!=oldname ) { - u_strncpy(buffer,oldname,size-3); - buffer[size-3]='\0'; - } - len = u_strlen(buffer); - *dirend = '/'; - buffer[len++] = '/'; - u_strncpy(buffer+len,fname,size-len-1); - buffer[size-1]='\0'; - } -return( buffer ); -} - -unichar_t *u_GFileNameTail(const unichar_t *oldname) { - unichar_t *pt; - - pt = u_strrchr(oldname,'/'); - if ( pt !=NULL ) -return( pt+1); - else -return( (unichar_t *)oldname ); -} - -unichar_t *u_GFileNormalize(unichar_t *name) { - unichar_t *pt, *base, *ppt; - - if ( (pt = uc_strstr(name,"://"))!=NULL ) { - base = u_strchr(pt+3,'/'); - if ( base==NULL ) -return( name ); - ++base; - } else if ( *name=='/' ) - base = name+1; - else - base = name; - for ( pt=base; *pt!='\0'; ) { - if ( *pt=='/' ) - u_strcpy(pt,pt+1); - else if ( uc_strncmp(pt,"./",2)==0 ) - u_strcpy(pt,pt+2); - else if ( uc_strncmp(pt,"../",2)==0 ) { - for ( ppt=pt-2; ppt>=base && *ppt!='/'; --ppt ); - ++ppt; - if ( ppt>=base ) { - u_strcpy(ppt,pt+3); - pt = ppt; - } else - pt += 3; - } else { - while ( *pt!='/' && *pt!='\0' ) ++pt; - if ( *pt == '/' ) ++pt; - } - } -return( name ); -} - -unichar_t *u_GFileAppendFile(unichar_t *dir,unichar_t *name,int isdir) { - unichar_t *ret, *pt; - - ret = xmalloc((u_strlen(dir)+u_strlen(name)+3)*sizeof(unichar_t)); - u_strcpy(ret,dir); - pt = ret+u_strlen(ret); - if ( pt>ret && pt[-1]!='/' ) - *pt++ = '/'; - u_strcpy(pt,name); - if ( isdir ) { - pt += u_strlen(pt); - if ( pt>ret && pt[-1]!='/' ) { - *pt++ = '/'; - *pt = '\0'; - } - } -return(ret); -} - -int u_GFileIsAbsolute(const unichar_t *file) { - if ( *file=='/' ) -return( true ); - if ( uc_strstr(file,"://")!=NULL ) -return( true ); - -return( false ); -} - -int u_GFileIsDir(const unichar_t *file) { - char buffer[1024]; - cu_strcpy(buffer,file); - strcat(buffer,"/."); -return( access(buffer,0)==0 ); -} - -int u_GFileExists(const unichar_t *file) { - char buffer[1024]; - cu_strcpy(buffer,file); -return( access(buffer,0)==0 ); -} - -int u_GFileModifyable(const unichar_t *file) { - char buffer[1024]; - cu_strcpy(buffer,file); -return( access(buffer,02)==0 ); -} - -int u_GFileModifyableDir(const unichar_t *file) { - char buffer[1024], *pt; - - cu_strcpy(buffer,file); - pt = strrchr(buffer,'/'); - if ( pt==NULL ) - strcpy(buffer,"."); - else - *pt='\0'; -return( GFileModifyable(buffer)); -} - -int u_GFileReadable(unichar_t *file) { - char buffer[1024]; - cu_strcpy(buffer,file); -return( access(buffer,04)==0 ); -} - -int u_GFileMkDir(unichar_t *name) { - char buffer[1024]; - cu_strcpy(buffer,name); -return( MKDIR(buffer,0755)); -} - -int u_GFileRmDir(unichar_t *name) { - char buffer[1024]; - cu_strcpy(buffer,name); -return(rmdir(buffer)); -} - -int u_GFileUnlink(unichar_t *name) { - char buffer[1024]; - cu_strcpy(buffer,name); -return(unlink(buffer)); -} |