mirror of https://github.com/GOSTSec/sgminer
Ycros
14 years ago
committed by
Con Kolivas
15 changed files with 1868 additions and 15 deletions
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
/Makefile.am |
||||
/dummy.c |
||||
/memchr.c |
||||
/memchr.valgrind |
||||
/memmem.c |
||||
/stddef.in.h |
||||
/stdint.in.h |
||||
/str-two-way.h |
||||
/string.in.h |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
|
||||
that the values passed as arguments n, ..., m must be non-NULL pointers. |
||||
n = 1 stands for the first argument, n = 2 for the second argument etc. */ |
||||
#ifndef _GL_ARG_NONNULL |
||||
# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 |
||||
# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) |
||||
# else |
||||
# define _GL_ARG_NONNULL(params) |
||||
# endif |
||||
#endif |
@ -0,0 +1,255 @@
@@ -0,0 +1,255 @@
|
||||
#ifndef _GL_CXXDEFS_H |
||||
#define _GL_CXXDEFS_H |
||||
|
||||
/* The three most frequent use cases of these macros are:
|
||||
|
||||
* For providing a substitute for a function that is missing on some |
||||
platforms, but is declared and works fine on the platforms on which |
||||
it exists: |
||||
|
||||
#if @GNULIB_FOO@ |
||||
# if !@HAVE_FOO@ |
||||
_GL_FUNCDECL_SYS (foo, ...); |
||||
# endif |
||||
_GL_CXXALIAS_SYS (foo, ...); |
||||
_GL_CXXALIASWARN (foo); |
||||
#elif defined GNULIB_POSIXCHECK |
||||
... |
||||
#endif |
||||
|
||||
* For providing a replacement for a function that exists on all platforms, |
||||
but is broken/insufficient and needs to be replaced on some platforms: |
||||
|
||||
#if @GNULIB_FOO@ |
||||
# if @REPLACE_FOO@ |
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
||||
# undef foo |
||||
# define foo rpl_foo |
||||
# endif |
||||
_GL_FUNCDECL_RPL (foo, ...); |
||||
_GL_CXXALIAS_RPL (foo, ...); |
||||
# else |
||||
_GL_CXXALIAS_SYS (foo, ...); |
||||
# endif |
||||
_GL_CXXALIASWARN (foo); |
||||
#elif defined GNULIB_POSIXCHECK |
||||
... |
||||
#endif |
||||
|
||||
* For providing a replacement for a function that exists on some platforms |
||||
but is broken/insufficient and needs to be replaced on some of them and |
||||
is additionally either missing or undeclared on some other platforms: |
||||
|
||||
#if @GNULIB_FOO@ |
||||
# if @REPLACE_FOO@ |
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
||||
# undef foo |
||||
# define foo rpl_foo |
||||
# endif |
||||
_GL_FUNCDECL_RPL (foo, ...); |
||||
_GL_CXXALIAS_RPL (foo, ...); |
||||
# else |
||||
# if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ |
||||
_GL_FUNCDECL_SYS (foo, ...); |
||||
# endif |
||||
_GL_CXXALIAS_SYS (foo, ...); |
||||
# endif |
||||
_GL_CXXALIASWARN (foo); |
||||
#elif defined GNULIB_POSIXCHECK |
||||
... |
||||
#endif |
||||
*/ |
||||
|
||||
/* _GL_EXTERN_C declaration;
|
||||
performs the declaration with C linkage. */ |
||||
#if defined __cplusplus |
||||
# define _GL_EXTERN_C extern "C" |
||||
#else |
||||
# define _GL_EXTERN_C extern |
||||
#endif |
||||
|
||||
/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
|
||||
declares a replacement function, named rpl_func, with the given prototype, |
||||
consisting of return type, parameters, and attributes. |
||||
Example: |
||||
_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) |
||||
_GL_ARG_NONNULL ((1))); |
||||
*/ |
||||
#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ |
||||
_GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) |
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ |
||||
_GL_EXTERN_C rettype rpl_func parameters_and_attributes |
||||
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
|
||||
declares the system function, named func, with the given prototype, |
||||
consisting of return type, parameters, and attributes. |
||||
Example: |
||||
_GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) |
||||
_GL_ARG_NONNULL ((1))); |
||||
*/ |
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ |
||||
_GL_EXTERN_C rettype func parameters_and_attributes |
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func |
||||
that redirects to rpl_func, if GNULIB_NAMESPACE is defined. |
||||
Example: |
||||
_GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); |
||||
*/ |
||||
#define _GL_CXXALIAS_RPL(func,rettype,parameters) \ |
||||
_GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ |
||||
namespace GNULIB_NAMESPACE \ |
||||
{ \ |
||||
rettype (*const func) parameters = ::rpl_func; \ |
||||
} \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#else |
||||
# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
|
||||
is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); |
||||
except that the C function rpl_func may have a slightly different |
||||
declaration. A cast is used to silence the "invalid conversion" error |
||||
that would otherwise occur. */ |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ |
||||
namespace GNULIB_NAMESPACE \ |
||||
{ \ |
||||
rettype (*const func) parameters = \ |
||||
reinterpret_cast<rettype(*)parameters>(::rpl_func); \ |
||||
} \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#else |
||||
# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
/* _GL_CXXALIAS_SYS (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func |
||||
that redirects to the system provided function func, if GNULIB_NAMESPACE |
||||
is defined. |
||||
Example: |
||||
_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); |
||||
*/ |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
/* If we were to write
|
||||
rettype (*const func) parameters = ::func; |
||||
like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls |
||||
better (remove an indirection through a 'static' pointer variable), |
||||
but then the _GL_CXXALIASWARN macro below would cause a warning not only |
||||
for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ |
||||
# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ |
||||
namespace GNULIB_NAMESPACE \ |
||||
{ \ |
||||
static rettype (*func) parameters = ::func; \ |
||||
} \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#else |
||||
# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
|
||||
is like _GL_CXXALIAS_SYS (func, rettype, parameters); |
||||
except that the C function func may have a slightly different declaration. |
||||
A cast is used to silence the "invalid conversion" error that would |
||||
otherwise occur. */ |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ |
||||
namespace GNULIB_NAMESPACE \ |
||||
{ \ |
||||
static rettype (*func) parameters = \ |
||||
reinterpret_cast<rettype(*)parameters>(::func); \ |
||||
} \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#else |
||||
# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
|
||||
is like _GL_CXXALIAS_SYS (func, rettype, parameters); |
||||
except that the C function is picked among a set of overloaded functions, |
||||
namely the one with rettype2 and parameters2. Two consecutive casts |
||||
are used to silence the "cannot find a match" and "invalid conversion" |
||||
errors that would otherwise occur. */ |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
/* The outer cast must be a reinterpret_cast.
|
||||
The inner cast: When the function is defined as a set of overloaded |
||||
functions, it works as a static_cast<>, choosing the designated variant. |
||||
When the function is defined as a single variant, it works as a |
||||
reinterpret_cast<>. The parenthesized cast syntax works both ways. */ |
||||
# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ |
||||
namespace GNULIB_NAMESPACE \ |
||||
{ \ |
||||
static rettype (*func) parameters = \ |
||||
reinterpret_cast<rettype(*)parameters>( \ |
||||
(rettype2(*)parameters2)(::func)); \ |
||||
} \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#else |
||||
# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
/* _GL_CXXALIASWARN (func);
|
||||
causes a warning to be emitted when ::func is used but not when |
||||
GNULIB_NAMESPACE::func is used. func must be defined without overloaded |
||||
variants. */ |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
# define _GL_CXXALIASWARN(func) \ |
||||
_GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) |
||||
# define _GL_CXXALIASWARN_1(func,namespace) \ |
||||
_GL_CXXALIASWARN_2 (func, namespace) |
||||
/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
|
||||
we enable the warning only when not optimizing. */ |
||||
# if !__OPTIMIZE__ |
||||
# define _GL_CXXALIASWARN_2(func,namespace) \ |
||||
_GL_WARN_ON_USE (func, \ |
||||
"The symbol ::" #func " refers to the system function. " \ |
||||
"Use " #namespace "::" #func " instead.") |
||||
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING |
||||
# define _GL_CXXALIASWARN_2(func,namespace) \ |
||||
extern __typeof__ (func) func |
||||
# else |
||||
# define _GL_CXXALIASWARN_2(func,namespace) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
# endif |
||||
#else |
||||
# define _GL_CXXALIASWARN(func) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
|
||||
causes a warning to be emitted when the given overloaded variant of ::func |
||||
is used but not when GNULIB_NAMESPACE::func is used. */ |
||||
#if defined __cplusplus && defined GNULIB_NAMESPACE |
||||
# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ |
||||
_GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ |
||||
GNULIB_NAMESPACE) |
||||
# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ |
||||
_GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) |
||||
/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
|
||||
we enable the warning only when not optimizing. */ |
||||
# if !__OPTIMIZE__ |
||||
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ |
||||
_GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ |
||||
"The symbol ::" #func " refers to the system function. " \ |
||||
"Use " #namespace "::" #func " instead.") |
||||
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING |
||||
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ |
||||
extern __typeof__ (func) func |
||||
# else |
||||
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
# endif |
||||
#else |
||||
# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ |
||||
_GL_EXTERN_C int _gl_cxxalias_dummy |
||||
#endif |
||||
|
||||
#endif /* _GL_CXXDEFS_H */ |
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
#ifndef _GL_WARN_ON_USE |
||||
|
||||
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) |
||||
/* A compiler attribute is available in gcc versions 4.3.0 and later. */ |
||||
# define _GL_WARN_ON_USE(function, message) \ |
||||
extern __typeof__ (function) function __attribute__ ((__warning__ (message))) |
||||
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING |
||||
/* Verify the existence of the function. */ |
||||
# define _GL_WARN_ON_USE(function, message) \ |
||||
extern __typeof__ (function) function |
||||
# else /* Unsupported. */ |
||||
# define _GL_WARN_ON_USE(function, message) \ |
||||
_GL_WARN_EXTERN_C int _gl_warn_on_use |
||||
# endif |
||||
#endif |
||||
|
||||
/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
|
||||
is like _GL_WARN_ON_USE (function, "string"), except that the function is |
||||
declared with the given prototype, consisting of return type, parameters, |
||||
and attributes. |
||||
This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does |
||||
not work in this case. */ |
||||
#ifndef _GL_WARN_ON_USE_CXX |
||||
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) |
||||
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ |
||||
extern rettype function parameters_and_attributes \ |
||||
__attribute__ ((__warning__ (msg))) |
||||
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING |
||||
/* Verify the existence of the function. */ |
||||
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ |
||||
extern rettype function parameters_and_attributes |
||||
# else /* Unsupported. */ |
||||
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ |
||||
_GL_WARN_EXTERN_C int _gl_warn_on_use |
||||
# endif |
||||
#endif |
||||
|
||||
/* _GL_WARN_EXTERN_C declaration;
|
||||
performs the declaration with C linkage. */ |
||||
#ifndef _GL_WARN_EXTERN_C |
||||
# if defined __cplusplus |
||||
# define _GL_WARN_EXTERN_C extern "C" |
||||
# else |
||||
# define _GL_WARN_EXTERN_C extern |
||||
# endif |
||||
#endif |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
/00gnulib.m4 |
||||
/extensions.m4 |
||||
/gnulib-common.m4 |
||||
/gnulib-comp.m4 |
||||
/gnulib-tool.m4 |
||||
/include_next.m4 |
||||
/longlong.m4 |
||||
/memchr.m4 |
||||
/memmem.m4 |
||||
/mmap-anon.m4 |
||||
/multiarch.m4 |
||||
/onceonly.m4 |
||||
/stddef_h.m4 |
||||
/stdint.m4 |
||||
/string_h.m4 |
||||
/warn-on-use.m4 |
||||
/wchar_t.m4 |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
# Copyright (C) 2002-2011 Free Software Foundation, Inc. |
||||
# |
||||
# This file is free software, distributed under the terms of the GNU |
||||
# General Public License. As a special exception to the GNU General |
||||
# Public License, this file may be distributed as part of a program |
||||
# that contains a configuration script generated by Autoconf, under |
||||
# the same distribution terms as the rest of that program. |
||||
# |
||||
# Generated by gnulib-tool. |
||||
# |
||||
# This file represents the specification of how gnulib-tool is used. |
||||
# It acts as a cache: It is written and read by gnulib-tool. |
||||
# In projects that use version control, this file is meant to be put under |
||||
# version control, like the configure.ac and various Makefile.am files. |
||||
|
||||
|
||||
# Specification in the form of a command-line invocation: |
||||
# gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --no-conditional-dependencies --no-libtool --macro-prefix=gl memmem |
||||
|
||||
# Specification in the form of a few gnulib-tool.m4 macro invocations: |
||||
gl_LOCAL_DIR([]) |
||||
gl_MODULES([ |
||||
memmem |
||||
]) |
||||
gl_AVOID([]) |
||||
gl_SOURCE_BASE([lib]) |
||||
gl_M4_BASE([m4]) |
||||
gl_PO_BASE([]) |
||||
gl_DOC_BASE([doc]) |
||||
gl_TESTS_BASE([tests]) |
||||
gl_LIB([libgnu]) |
||||
gl_MAKEFILE_NAME([]) |
||||
gl_MACRO_PREFIX([gl]) |
||||
gl_PO_DOMAIN([]) |
||||
gl_WITNESS_C_DOMAIN([]) |
@ -0,0 +1,162 @@
@@ -0,0 +1,162 @@
|
||||
#! /bin/sh |
||||
# mkinstalldirs --- make directory hierarchy |
||||
|
||||
scriptversion=2009-04-28.21; # UTC |
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu> |
||||
# Created: 1993-05-16 |
||||
# Public domain. |
||||
# |
||||
# This file is maintained in Automake, please report |
||||
# bugs to <bug-automake@gnu.org> or send patches to |
||||
# <automake-patches@gnu.org>. |
||||
|
||||
nl=' |
||||
' |
||||
IFS=" "" $nl" |
||||
errstatus=0 |
||||
dirmode= |
||||
|
||||
usage="\ |
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... |
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all |
||||
leading file name components. |
||||
|
||||
Report bugs to <bug-automake@gnu.org>." |
||||
|
||||
# process command line arguments |
||||
while test $# -gt 0 ; do |
||||
case $1 in |
||||
-h | --help | --h*) # -h for help |
||||
echo "$usage" |
||||
exit $? |
||||
;; |
||||
-m) # -m PERM arg |
||||
shift |
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } |
||||
dirmode=$1 |
||||
shift |
||||
;; |
||||
--version) |
||||
echo "$0 $scriptversion" |
||||
exit $? |
||||
;; |
||||
--) # stop option processing |
||||
shift |
||||
break |
||||
;; |
||||
-*) # unknown option |
||||
echo "$usage" 1>&2 |
||||
exit 1 |
||||
;; |
||||
*) # first non-opt arg |
||||
break |
||||
;; |
||||
esac |
||||
done |
||||
|
||||
for file |
||||
do |
||||
if test -d "$file"; then |
||||
shift |
||||
else |
||||
break |
||||
fi |
||||
done |
||||
|
||||
case $# in |
||||
0) exit 0 ;; |
||||
esac |
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and |
||||
# mkdir -p a/c at the same time, both will detect that a is missing, |
||||
# one will create a, then the other will try to create a and die with |
||||
# a "File exists" error. This is a problem when calling mkinstalldirs |
||||
# from a parallel make. We use --version in the probe to restrict |
||||
# ourselves to GNU mkdir, which is thread-safe. |
||||
case $dirmode in |
||||
'') |
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then |
||||
echo "mkdir -p -- $*" |
||||
exec mkdir -p -- "$@" |
||||
else |
||||
# On NextStep and OpenStep, the `mkdir' command does not |
||||
# recognize any option. It will interpret all options as |
||||
# directories to create, and then abort because `.' already |
||||
# exists. |
||||
test -d ./-p && rmdir ./-p |
||||
test -d ./--version && rmdir ./--version |
||||
fi |
||||
;; |
||||
*) |
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && |
||||
test ! -d ./--version; then |
||||
echo "mkdir -m $dirmode -p -- $*" |
||||
exec mkdir -m "$dirmode" -p -- "$@" |
||||
else |
||||
# Clean up after NextStep and OpenStep mkdir. |
||||
for d in ./-m ./-p ./--version "./$dirmode"; |
||||
do |
||||
test -d $d && rmdir $d |
||||
done |
||||
fi |
||||
;; |
||||
esac |
||||
|
||||
for file |
||||
do |
||||
case $file in |
||||
/*) pathcomp=/ ;; |
||||
*) pathcomp= ;; |
||||
esac |
||||
oIFS=$IFS |
||||
IFS=/ |
||||
set fnord $file |
||||
shift |
||||
IFS=$oIFS |
||||
|
||||
for d |
||||
do |
||||
test "x$d" = x && continue |
||||
|
||||
pathcomp=$pathcomp$d |
||||
case $pathcomp in |
||||
-*) pathcomp=./$pathcomp ;; |
||||
esac |
||||
|
||||
if test ! -d "$pathcomp"; then |
||||
echo "mkdir $pathcomp" |
||||
|
||||
mkdir "$pathcomp" || lasterr=$? |
||||
|
||||
if test ! -d "$pathcomp"; then |
||||
errstatus=$lasterr |
||||
else |
||||
if test ! -z "$dirmode"; then |
||||
echo "chmod $dirmode $pathcomp" |
||||
lasterr= |
||||
chmod "$dirmode" "$pathcomp" || lasterr=$? |
||||
|
||||
if test ! -z "$lasterr"; then |
||||
errstatus=$lasterr |
||||
fi |
||||
fi |
||||
fi |
||||
fi |
||||
|
||||
pathcomp=$pathcomp/ |
||||
done |
||||
done |
||||
|
||||
exit $errstatus |
||||
|
||||
# Local Variables: |
||||
# mode: shell-script |
||||
# sh-indentation: 2 |
||||
# eval: (add-hook 'write-file-hooks 'time-stamp) |
||||
# time-stamp-start: "scriptversion=" |
||||
# time-stamp-format: "%:y-%02m-%02d.%02H" |
||||
# time-stamp-time-zone: "UTC" |
||||
# time-stamp-end: "; # UTC" |
||||
# End: |
Loading…
Reference in new issue