[Pkg-owncloud-commits] [owncloud-client] 41/332: CSync: Remove unused std functions
Sandro Knauß
hefee-guest at moszumanska.debian.org
Thu Aug 14 21:06:36 UTC 2014
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 7428a8fa63eca9dd2693b6acb19efb9242acc050
Author: Markus Goetz <markus at woboq.com>
Date: Wed Jun 4 10:33:19 2014 +0200
CSync: Remove unused std functions
---
csync/src/std/CMakeLists.txt | 2 -
csync/src/std/c_dir.c | 189 -----------------
csync/src/std/c_dir.h | 86 --------
csync/src/std/c_file.c | 346 -------------------------------
csync/src/std/c_file.h | 102 ---------
csync/src/std/c_lib.h | 36 ----
csync/src/std/c_path.c | 156 --------------
csync/src/std/c_path.h | 22 --
csync/src/std/c_string.c | 63 ------
csync/src/std/c_string.h | 31 ---
csync/tests/CMakeLists.txt | 2 -
csync/tests/std_tests/check_std_c_dir.c | 176 ----------------
csync/tests/std_tests/check_std_c_file.c | 180 ----------------
csync/tests/std_tests/check_std_c_path.c | 27 ---
csync/tests/std_tests/check_std_c_str.c | 86 --------
15 files changed, 1504 deletions(-)
diff --git a/csync/src/std/CMakeLists.txt b/csync/src/std/CMakeLists.txt
index d9cef2d..184eb29 100644
--- a/csync/src/std/CMakeLists.txt
+++ b/csync/src/std/CMakeLists.txt
@@ -20,8 +20,6 @@ set(CSTDLIB_LINK_LIBRARIES
set(cstdlib_SRCS
c_alloc.c
- c_dir.c
- c_file.c
c_list.c
c_path.c
c_rbtree.c
diff --git a/csync/src/std/c_dir.c b/csync/src/std/c_dir.c
deleted file mode 100644
index 2edbebc..0000000
--- a/csync/src/std/c_dir.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * cynapses libc functions
- *
- * Copyright (c) 2008-2013 by Andreas Schneider <asn at cryptomilk.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <dirent.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "c_private.h"
-#include "c_macro.h"
-#include "c_alloc.h"
-#include "c_dir.h"
-#include "c_string.h"
-
-int c_mkdirs(const char *path, mode_t mode) {
- int tmp;
- csync_stat_t sb;
- mbchar_t *wpath = c_utf8_to_locale(path);
- mbchar_t *swpath = NULL;
-
- if (path == NULL) {
- errno = EINVAL;
- return -1;
- }
-
- if (_tstat(wpath, &sb) == 0) {
- if (! S_ISDIR(sb.st_mode)) {
- errno = ENOTDIR;
- c_free_locale_string(wpath);
- return -1;
- }
- }
-
- tmp = strlen(path);
- while(tmp > 0 && path[tmp - 1] == '/') --tmp;
- while(tmp > 0 && path[tmp - 1] != '/') --tmp;
- while(tmp > 0 && path[tmp - 1] == '/') --tmp;
-
- if (tmp > 0) {
- char subpath[tmp + 1];
- memcpy(subpath, path, tmp);
- subpath[tmp] = '\0';
- swpath = c_utf8_to_locale(subpath);
- if (_tstat(swpath, &sb) == 0) {
- if (! S_ISDIR(sb.st_mode)) {
- c_free_locale_string(swpath);
- c_free_locale_string(wpath);
- errno = ENOTDIR;
- return -1;
- }
- } else if (errno != ENOENT) {
- c_free_locale_string(wpath);
- c_free_locale_string(swpath);
- return -1;
- } else if (c_mkdirs(subpath, mode) < 0) {
- c_free_locale_string(swpath);
- c_free_locale_string(wpath);
- return -1;
- }
- }
- tmp = _tmkdir(wpath, mode);
-
- c_free_locale_string(swpath);
- c_free_locale_string(wpath);
-
- if ((tmp < 0) && (errno == EEXIST)) {
- return 0;
- }
- return tmp;
-}
-
-int c_rmdirs(const char *path) {
- _TDIR *d;
- struct _tdirent *dp;
- csync_stat_t sb;
- char *fname = NULL;
- mbchar_t *wfname = NULL;
- mbchar_t *wpath = c_utf8_to_locale(path);
- char *rd_name = NULL;
-
- if ((d = _topendir(wpath)) != NULL) {
- while( _tstat(wpath, &sb) == 0) {
- /* if we can remove the directory we're done */
- if (_trmdir(wpath) == 0) {
- break;
- }
- switch (errno) {
- case ENOTEMPTY:
- case EEXIST:
- case EBADF:
- break; /* continue */
- default:
- _tclosedir(d);
- c_free_locale_string(wpath);
- return 0;
- }
-
- while ((dp = _treaddir(d)) != NULL) {
- size_t len;
- rd_name = c_utf8_from_locale(dp->d_name);
- /* skip '.' and '..' */
- if( c_streq( rd_name, "." ) || c_streq( rd_name, ".." ) ) {
- c_free_locale_string(rd_name);
- continue;
- }
-
- len = strlen(path) + strlen(rd_name) + 2;
- fname = c_malloc(len);
- if (fname == NULL) {
- _tclosedir(d);
- c_free_locale_string(rd_name);
- c_free_locale_string(wpath);
- return -1;
- }
- snprintf(fname, len, "%s/%s", path, rd_name);
- wfname = c_utf8_to_locale(fname);
-
- /* stat the file */
- if (_tstat(wfname, &sb) != -1) {
-#ifdef __unix__
- if (S_ISDIR(sb.st_mode) && !S_ISLNK(sb.st_mode)) {
-#else
- if (S_ISDIR(sb.st_mode)) {
-#endif
- if (_trmdir(wfname) < 0) { /* can't be deleted */
- if (errno == EACCES) {
- _tclosedir(d);
- SAFE_FREE(fname);
- c_free_locale_string(wfname);
- c_free_locale_string(rd_name);
- c_free_locale_string(wpath);
- return -1;
- }
- c_rmdirs(fname);
- }
- } else {
- _tunlink(wfname);
- }
- } /* lstat */
- SAFE_FREE(fname);
- c_free_locale_string(wfname);
- c_free_locale_string(rd_name);
- } /* readdir */
-
- _trewinddir(d);
- }
- } else {
- c_free_locale_string(wpath);
- return -1;
- }
- c_free_locale_string(wpath);
- _tclosedir(d);
- return 0;
-}
-
-int c_isdir(const char *path) {
- csync_stat_t sb;
- mbchar_t *wpath = c_utf8_to_locale(path);
- int re = 0;
-
- if (path != NULL) {
- if (_tstat (wpath, &sb) == 0 && S_ISDIR(sb.st_mode)) {
- re = 1;
- }
- }
- c_free_locale_string(wpath);
- return re;
-}
-
diff --git a/csync/src/std/c_dir.h b/csync/src/std/c_dir.h
deleted file mode 100644
index 4b2333b..0000000
--- a/csync/src/std/c_dir.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * cynapses libc functions
- *
- * Copyright (c) 2008-2013 by Andreas Schneider <asn at cryptomilk.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/**
- * @file c_dir.h
- *
- * @brief Interface of the cynapses libc directory function
- *
- * @defgroup cynDirInternals cynapses libc directory functions
- * @ingroup cynLibraryAPI
- *
- * @{
- */
-
-#ifndef _C_DIR_H
-#define _C_DIR_H
-
-#include <sys/types.h>
-
-
-/**
- * @brief Create parent directories as needed.
- *
- * The newly created directory will be owned by the effective user ID of the
- * process.
- *
- * @param path The path to the directory to create.
- *
- * @param mode Specifies the permissions to use. It is modified
- * by the process's umask in the usual way: the
- * permissions of the created file are (mode & ~umask).
- *
- * @return 0 on success, < 0 on error with errno set:
- * - EACCES The parent directory does not allow write
- * permission to the process, or one of the directories
- * - ENOTDIR if durl is not a directory
- * - EINVAL NULL durl passed or smbc_init not called.
- * - ENOMEM Insufficient memory was available.
- *
- * @see mkdir()
- */
-int c_mkdirs(const char *path, mode_t mode);
-
-/**
- * @brief Remove the directory and subdirectories including the content.
- *
- * This removes all directories and files recursivly.
- *
- * @param dir The directory to remove recusively.
- *
- * @return 0 on success, < 0 on error with errno set.
- */
-int c_rmdirs(const char *dir);
-
-/**
- * @brief Check if a path is a directory.
- *
- * @param path The path to check.
- *
- * @return 1 if the path is a directory, 0 if the path doesn't exist, is a
- * file or can't be accessed.
- */
-int c_isdir(const char *path);
-
-/**
- * }@
- */
-#endif /* _CDIR_H */
-
diff --git a/csync/src/std/c_file.c b/csync/src/std/c_file.c
deleted file mode 100644
index 61984b3..0000000
--- a/csync/src/std/c_file.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * cynapses libc functions
- *
- * Copyright (c) 2008-2013 by Andreas Schneider <asn at cryptomilk.org>
- * Copyright (c) 2012-2013 by Klaas Freitag <freitag at owncloud.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef _WIN32
-#include <windef.h>
-#include <winbase.h>
-#endif
-
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "c_file.h"
-#include "c_string.h"
-
-#include "c_private.h"
-
-#ifdef _WIN32
-/* check if path is a symlink */
-int c_islink(const char *path) {
- int re = 0;
-
- mbchar_t *wpath = 0;
- DWORD dwAttrs;
- WIN32_FIND_DATAW FindFileData;
- HANDLE hFind;
-
- wpath = c_utf8_to_locale(path);
-
- dwAttrs = GetFileAttributesW(wpath);
- if (dwAttrs != INVALID_FILE_ATTRIBUTES) {
-
- if ((dwAttrs & FILE_ATTRIBUTE_REPARSE_POINT)) {
- hFind = FindFirstFileW(wpath, &FindFileData );
- if (hFind != INVALID_HANDLE_VALUE) {
- if( (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) &&
- (FindFileData.dwReserved0 & IO_REPARSE_TAG_SYMLINK) ) {
- re = 1;
- }
- }
- FindClose(hFind);
- }
- }
- c_free_locale_string(wpath);
- return re;
-}
-#endif
-
-/* check if path is a file */
-int c_isfile(const char *path) {
- csync_stat_t sb;
- mbchar_t *wpath = c_utf8_to_locale(path);
-
- int re = _tstat(wpath, &sb);
- c_free_locale_string(wpath);
-
- if (re< 0) {
- return 0;
- }
-
-#ifdef __unix__
- if (S_ISREG(sb.st_mode) || S_ISLNK(sb.st_mode)) {
-#else
- if (S_ISREG(sb.st_mode)) {
-#endif
- return 1;
- }
-
- return 0;
-}
-
-/* copy file from src to dst, overwrites dst */
-#ifdef _WIN32
-int c_copy(const char* src, const char *dst, mode_t mode) {
- int rc = -1;
- mbchar_t *wsrc = 0;
- mbchar_t *wdst = 0;
- (void) mode; /* unused on win32 */
- if(src && dst) {
- wsrc = c_utf8_to_locale(src);
- wdst = c_utf8_to_locale(dst);
- if (CopyFileW(wsrc, wdst, FALSE)) {
- rc = 0;
- }
- c_free_locale_string(wsrc);
- c_free_locale_string(wdst);
- if( rc < 0 ) {
- errno = GetLastError();
- }
- }
- return rc;
-}
-#else
-int c_copy(const char* src, const char *dst, mode_t mode) {
- int srcfd = -1;
- int dstfd = -1;
- int rc = -1;
- ssize_t bread, bwritten;
- csync_stat_t sb;
- char buf[4096];
-
- if (c_streq(src, dst)) {
- return -1;
- }
-
- srcfd = open(src, O_RDONLY, 0);
- if (srcfd < 0) {
- goto out;
- }
-
- rc = _tfstat(srcfd, &sb);
- if (rc < 0) {
- goto out;
- }
-
- if (S_ISDIR(sb.st_mode)) {
- errno = EISDIR;
- rc = -1;
- goto out;
- }
-
- if (mode == 0) {
- mode = sb.st_mode;
- }
-
- dstfd = open(dst, O_CREAT|O_WRONLY|O_TRUNC, mode);
- if (dstfd < 0) {
- rc = -1;
- goto out;
- }
-
- rc = _tfstat(dstfd, &sb);
- if (rc == 0) {
- if (S_ISDIR(sb.st_mode)) {
- errno = EISDIR;
- rc = -1;
- goto out;
- }
- }
-
- for (;;) {
- bread = read(srcfd, buf, sizeof(buf));
- if (bread == 0) {
- /* done */
- break;
- } else if (bread < 0) {
- errno = ENODATA;
- rc = -1;
- goto out;
- }
-
- bwritten = write(dstfd, buf, bread);
- if (bwritten < 0) {
- errno = ENODATA;
- rc = -1;
- goto out;
- }
-
- if (bread != bwritten) {
- errno = EFAULT;
- rc = -1;
- goto out;
- }
- }
-
-#ifdef __unix__
- fsync(dstfd);
-#endif
-
- rc = 0;
-out:
- if (srcfd >= 0) {
- close(srcfd);
- }
- if (dstfd >= 0) {
- close(dstfd);
- }
- if (rc < 0 && c_isfile(dst)) {
- unlink(dst);
- }
- return rc;
-}
-#endif
-
-int c_rename( const char *src, const char *dst ) {
- mbchar_t *nuri = NULL;
- mbchar_t *ouri = NULL;
- int rc = 0;
-
- nuri = c_utf8_to_locale(dst);
- if (nuri == NULL) {
- return -1;
- }
-
- ouri = c_utf8_to_locale(src);
- if (ouri == NULL) {
- c_free_locale_string(nuri);
- return -1;
- }
-
-#ifdef _WIN32
- {
-#define MAX_TRIES_RENAME 3
- int err = 0;
- int cnt = 0;
-
- do {
- BOOL ok;
- ok = MoveFileExW(ouri,
- nuri,
- MOVEFILE_COPY_ALLOWED +
- MOVEFILE_REPLACE_EXISTING +
- MOVEFILE_WRITE_THROUGH);
- if (!ok) {
- /* error */
- err = GetLastError();
- if( (err == ERROR_ACCESS_DENIED ||
- err == ERROR_LOCK_VIOLATION ||
- err == ERROR_SHARING_VIOLATION) && cnt < MAX_TRIES_RENAME ) {
- cnt++;
- Sleep(cnt*100);
- continue;
- }
- }
- break;
- } while( 1 );
- if( err != 0 ) {
- errno = err;
- rc = -1;
- }
- }
-#else
- rc = rename(ouri, nuri);
-#endif
-
- c_free_locale_string(nuri);
- c_free_locale_string(ouri);
-
- return rc;
-}
-
-int c_compare_file( const char *f1, const char *f2 ) {
- mbchar_t *wf1, *wf2;
- int fd1 = -1, fd2 = -1;
- size_t size1, size2;
- char buffer1[BUFFER_SIZE];
- char buffer2[BUFFER_SIZE];
- csync_stat_t stat1;
- csync_stat_t stat2;
-
- int rc = -1;
-
- if(f1 == NULL || f2 == NULL) return -1;
-
- wf1 = c_utf8_to_locale(f1);
- if(wf1 == NULL) {
- return -1;
- }
-
- wf2 = c_utf8_to_locale(f2);
- if(wf2 == NULL) {
- c_free_locale_string(wf1);
- return -1;
- }
-
-#ifdef _WIN32
- _fmode = _O_BINARY;
-#endif
-
- fd1 = _topen(wf1, O_RDONLY);
- if(fd1 < 0) {
- rc = -1;
- goto out;
- }
-
- fd2 = _topen(wf2, O_RDONLY);
- if(fd2 < 0) {
- rc = -1;
- goto out;
- }
-
- /* compare size first. */
- rc = _tfstat(fd1, &stat1);
- if (rc < 0) {
- goto out;
- }
-
- rc = _tfstat(fd2, &stat2);
- if (rc < 0) {
- goto out;
- }
-
- /* if sizes are different, the files can not be equal. */
- if (stat1.st_size != stat2.st_size) {
- rc = 0;
- goto out;
- }
-
- while( (size1 = read(fd1, buffer1, BUFFER_SIZE)) > 0 ) {
- size2 = read( fd2, buffer2, BUFFER_SIZE );
-
- if( size1 != size2 ) {
- rc = 0;
- goto out;
- }
- if(memcmp(buffer1, buffer2, size1) != 0) {
- /* buffers are different */
- rc = 0;
- goto out;
- }
- }
-
- rc = 1;
-
-out:
-
- if(fd1 > -1) close(fd1);
- if(fd2 > -1) close(fd2);
-
- c_free_locale_string( wf1 );
- c_free_locale_string( wf2 );
- return rc;
-
-}
diff --git a/csync/src/std/c_file.h b/csync/src/std/c_file.h
deleted file mode 100644
index d952b39..0000000
--- a/csync/src/std/c_file.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * cynapses libc functions
- *
- * Copyright (c) 2008-2013 by Andreas Schneider <asn at cryptomilk.org>
- * Copyright (c) 2012-2013 by Klaas Freitag <freitag at owncloud.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/**
- * @file c_file.h
- *
- * @brief Interface of the cynapses libc file function
- *
- * @defgroup cynFileInternals cynapses libc file functions
- * @ingroup cynLibraryAPI
- *
- * @{
- */
-
-#ifndef _C_FILE_H
-#define _C_FILE_H
-
-#include <sys/types.h>
-#include <stdio.h>
-
-#ifndef BUFFER_SIZE
-#define BUFFER_SIZE (16 * 1024)
-#endif
-
-#ifdef _WIN32
-/**
- * @brief Check if a path is a link.
- *
- * @param path The path to check.
- *
- * @return 1 if the path is a symbolic link, 0 if the path doesn't
- * exist or is something else.
- */
-int c_islink(const char *path);
-#endif
-
-/**
- * @brief Check if a path is a regular file or a link.
- *
- * @param path The path to check.
- *
- * @return 1 if the path is a file, 0 if the path doesn't exist, is
- * something else or can't be accessed.
- */
-int c_isfile(const char *path);
-
-/**
- * @brief copy a file from source to destination.
- *
- * @param src Path to the source file
- * @param dst Path to the destination file
- * @param mode File creation mode of the destination. If mode is 0 then the
- * mode from the source will be used.
- *
- * @return 0 on success, less than 0 on error with errno set.
- * EISDIR if src or dst is a file.
- */
-int c_copy(const char *src, const char *dst, mode_t mode);
-
-/**
- * @brief Compare the content of two files byte by byte.
- * @param f1 Path of file 1
- * @param f2 Path of file 2
- *
- * @return 0 if the files differ, 1 if the files are equal or -1 on
- * error with errno set.
- */
-int c_compare_file( const char *f1, const char *f2 );
-
-/**
- * @brief move a file from source to destination.
- *
- * @param src Path to the source file
- * @param dst Path to the destination file
- *
- * @return 0 on success, less than 0 on error with errno set.
- */
-int c_rename( const char *src, const char *dst );
-
-/**
- * }@
- */
-#endif /* _C_FILE_H */
-
diff --git a/csync/src/std/c_lib.h b/csync/src/std/c_lib.h
index 3df4c59..83591c5 100644
--- a/csync/src/std/c_lib.h
+++ b/csync/src/std/c_lib.h
@@ -23,45 +23,9 @@
#include "c_macro.h"
#include "c_alloc.h"
-#include "c_dir.h"
-#include "c_file.h"
#include "c_list.h"
#include "c_path.h"
#include "c_rbtree.h"
#include "c_string.h"
#include "c_time.h"
#include "c_private.h"
-
-#ifndef UNIT_TESTING
-#ifdef malloc
-#undef malloc
-#endif
-#define malloc(x) DO_NOT_CALL_MALLOC__USE_C_MALLOC_INSTEAD
-
-#ifdef calloc
-#undef calloc
-#endif
-#define calloc(x,y) DO_NOT_CALL_CALLOC__USE_C_CALLOC_INSTEAD
-
-#endif
-
-#ifdef realloc
-#undef realloc
-#endif
-#define realloc(x,y) DO_NOT_CALL_REALLOC__USE_C_REALLOC_INSTEAD
-
-#ifdef dirname
-#undef dirname
-#endif
-#define dirname(x) DO_NOT_CALL_MALLOC__USE_C_DIRNAME_INSTEAD
-
-#ifdef basename
-#undef basename
-#endif
-#define basename(x) DO_NOT_CALL_MALLOC__USE_C_BASENAME_INSTEAD
-
-#ifdef strdup
-#undef strdup
-#endif
-#define strdup(x) DO_NOT_CALL_STRDUP__USE_C_STRDUP_INSTEAD
-
diff --git a/csync/src/std/c_path.c b/csync/src/std/c_path.c
index f0c422d..c0e414a 100644
--- a/csync/src/std/c_path.c
+++ b/csync/src/std/c_path.c
@@ -117,81 +117,6 @@ char *c_basename (const char *path) {
return newbuf;
}
-
-char *c_tmpname(const char *templ) {
- char *tmp = NULL;
- char *target = NULL;
- int rc;
- int i = 0;
-
- if (!templ) {
- goto err;
- }
-
- /* If the template does not contain the XXXXXX it will be appended. */
- if( !strstr( templ, "XXXXXX" )) {
- /* split up the path */
- char *path = c_dirname(templ);
- char *base = c_basename(templ);
-
- if (!base) {
- if (path) {
- SAFE_FREE(path);
- }
- goto err;
- }
- /* Create real hidden files for unixoide. */
- if( path ) {
-#ifdef _WIN32
- rc = asprintf(&target, "%s/%s.~XXXXXX", path, base);
-#else
- rc = asprintf(&target, "%s/.%s.~XXXXXX", path, base);
-#endif
- } else {
-#ifdef _WIN32
- rc = asprintf(&target, "%s.~XXXXXX", base);
-#else
- rc = asprintf(&target, ".%s.~XXXXXX", base);
-#endif
-
- }
- SAFE_FREE(path);
- SAFE_FREE(base);
-
- if (rc < 0) {
- goto err;
- }
- } else {
- target = c_strdup(templ);
- }
-
- if (!target) {
- goto err;
- }
- tmp = strstr( target, "XXXXXX" );
- if (!tmp) {
- goto err;
- }
-
- for (i = 0; i < 6; ++i) {
-#ifdef _WIN32
- /* in win32 MAX_RAND is 32767, thus we can not shift that far,
- * otherwise the last three chars are 0
- */
- int hexdigit = (rand() >> (i * 2)) & 0x1f;
-#else
- int hexdigit = (rand() >> (i * 5)) & 0x1f;
-#endif
- tmp[i] = hexdigit > 9 ? hexdigit + 'a' - 10 : hexdigit + '0';
- }
-
- return target;
-
-err:
- errno = EINVAL;
- return NULL;
-}
-
int c_parse_uri(const char *uri,
char **scheme,
char **user, char **passwd,
@@ -470,84 +395,3 @@ int c_parse_uri(const char *uri,
return -1;
}
-
-/*
- * http://refactormycode.com/codes/1345-extracting-directory-filename-and-extension-from-a-path
- * Allocate a block of memory that holds the PATHINFO at the beginning
- * followed by the actual path. Two extra bytes are allocated (+3 instead
- * of just +1) to deal with shifting the filename and extension to protect the trailing '/'
- * and the leading '.'. These extra bytes also double as the empty string, as
- * well as a pad to keep from reading past the memory block.
- *
- */
-C_PATHINFO * c_split_path(const char* pathSrc)
-{
- size_t length = strlen(pathSrc);
- size_t len=0;
- C_PATHINFO * pathinfo = (C_PATHINFO *) c_malloc(sizeof(C_PATHINFO) + length + 3);
-
- if (pathinfo)
- {
- char * path = (char *) &pathinfo[1]; // copy of the path
- char * theEnd = &path[length + 1]; // second null terminator
- char * extension;
- char * lastSep;
-
- // Copy the original string and double null terminate it.
- strcpy(path, pathSrc);
- *theEnd = '\0';
- pathinfo->directory = theEnd; // Assume no path
- pathinfo->extension = theEnd; // Assume no extension
- pathinfo->filename = path; // Assume filename only
-
- lastSep = strrchr(path, '/');
- if (lastSep)
- {
- pathinfo->directory = path; // Pick up the path
-
- memmove(lastSep + 1, lastSep, strlen(lastSep));
- *lastSep++ ='/';
- *lastSep++ ='\0'; // Truncate directory
-
- pathinfo->filename = lastSep; // Pick up name after path
- }
-
- // Start at the second character of the filename to handle
- // filenames that start with '.' like ".login".
- // We don't overrun the buffer in the cases of an empty path
- // or a path that looks like "/usr/bin/" because of the extra
- // byte.
-
-
- extension = strrchr(&pathinfo->filename[1], '.');
- if (extension)
- {
- // Shift the extension over to protect the leading '.' since
- // we need to truncate the filename.
- memmove(extension + 1, extension, strlen(extension));
- pathinfo->extension = extension + 1;
-
- *extension = '\0'; // Truncate filename
- }
- else
- {
- len=strlen(pathinfo->filename);
- if(len>1)
- {
- //tmp files from kate/kwrite "somefile~": '~' should be the extension
- if(pathinfo->filename[len-1]=='~')
- {
- extension = &pathinfo->filename[len-1];
- memmove(extension + 1, extension, strlen(extension));
- pathinfo->extension = extension + 1;
- *extension = '\0'; // Truncate filename
- }
- }
- }
-
- }
-
- return pathinfo;
-}
-
-
diff --git a/csync/src/std/c_path.h b/csync/src/std/c_path.h
index e2d25eb..479dbdf 100644
--- a/csync/src/std/c_path.h
+++ b/csync/src/std/c_path.h
@@ -67,19 +67,6 @@ char *c_dirname(const char *path);
char *c_basename (const char *path);
/**
- * @brief Make a temporary filename.
- *
- * @param templ The template to replace. If the template contains six X like
- * 'XXXXXX', these are replaced by a random string. If not, the
- * templ is interpreted as a path, and a name to a hidden file
- * with six random is returned.
- * The caller has to free the memory.
- *
- * @return a poitner to the random hidden filename or NULL.
- */
-char *c_tmpname(const char *templ);
-
-/**
* @brief parse a uri and split it into components.
*
* parse_uri parses an uri in the format
@@ -120,15 +107,6 @@ typedef struct
char * extension;
} C_PATHINFO;
-/**
- * @brief Extracting directory, filename and extension from a path.
- *
- * @param pathSrc The path to parse.
- *
- * @return Returns a C_PATHINFO structure that should be freed using SAFE_FREE().
- */
-C_PATHINFO * c_split_path(const char* pathSrc);
-
/**
* }@
diff --git a/csync/src/std/c_string.c b/csync/src/std/c_string.c
index da81d6e..9d2c087 100644
--- a/csync/src/std/c_string.c
+++ b/csync/src/std/c_string.c
@@ -239,69 +239,6 @@ void c_strlist_destroy(c_strlist_t *strlist) {
SAFE_FREE(strlist);
}
-char *c_strreplace(char *src, const char *pattern, const char *repl) {
- char *p = NULL;
-
- while ((p = strstr(src, pattern)) != NULL) {
- size_t of = p - src;
- size_t l = strlen(src);
- size_t pl = strlen(pattern);
- size_t rl = strlen(repl);
-
- if (rl > pl) {
- src = (char *) c_realloc(src, strlen(src) + rl - pl + 1);
- }
-
- if (rl != pl) {
- memmove(src + of + rl, src + of + pl, l - of - pl + 1);
- }
-
- strncpy(src + of, repl, rl);
- }
-
- return src;
-}
-
-char *c_uppercase(const char* str) {
- char *new;
- char *p;
-
- if (str == NULL) {
- return NULL;
- }
-
- new = c_strdup(str);
- if (new == NULL) {
- return NULL;
- }
-
- for (p = new; *p; p++) {
- *p = toupper(*p);
- }
-
- return new;
-}
-
-char *c_lowercase(const char* str) {
- char *new;
- char *p;
-
- if (str == NULL) {
- return NULL;
- }
-
- new = c_strdup(str);
- if (new == NULL) {
- return NULL;
- }
-
- for (p = new; *p; p++) {
- *p = tolower(*p);
- }
-
- return new;
-}
-
/* Convert a wide multibyte String to UTF8 */
char* c_utf8_from_locale(const mbchar_t *wstr)
{
diff --git a/csync/src/std/c_string.h b/csync/src/std/c_string.h
index 159ba86..d80727a 100644
--- a/csync/src/std/c_string.h
+++ b/csync/src/std/c_string.h
@@ -120,37 +120,6 @@ void c_strlist_clear(c_strlist_t *strlist);
void c_strlist_destroy(c_strlist_t *strlist);
/**
- * @breif Replace a string with another string in a source string.
- *
- * @param src String to search for pattern.
- *
- * @param pattern Pattern to search for in the source string.
- *
- * @param repl The string which which should replace pattern if found.
- *
- * @return Return a pointer to the source string.
- */
-char *c_strreplace(char *src, const char *pattern, const char *repl);
-
-/**
- * @brief Uppercase a string.
- *
- * @param str The String to uppercase.
- *
- * @return The malloced uppered string or NULL on error.
- */
-char *c_uppercase(const char* str);
-
-/**
- * @brief Lowercase a string.
- *
- * @param str The String to lowercase.
- *
- * @return The malloced lowered string or NULL on error.
- */
-char *c_lowercase(const char* str);
-
-/**
* @brief Convert a platform locale string to utf8.
*
* This function is part of the multi platform abstraction of basic file
diff --git a/csync/tests/CMakeLists.txt b/csync/tests/CMakeLists.txt
index 22394f2..7a79b48 100644
--- a/csync/tests/CMakeLists.txt
+++ b/csync/tests/CMakeLists.txt
@@ -21,8 +21,6 @@ set(TEST_TARGET_LIBRARIES ${TORTURE_LIBRARY})
# std
add_cmocka_test(check_std_c_alloc std_tests/check_std_c_alloc.c ${TEST_TARGET_LIBRARIES})
-add_cmocka_test(check_std_c_dir std_tests/check_std_c_dir.c ${TEST_TARGET_LIBRARIES})
-add_cmocka_test(check_std_c_file std_tests/check_std_c_file.c ${TEST_TARGET_LIBRARIES})
add_cmocka_test(check_std_c_jhash std_tests/check_std_c_jhash.c ${TEST_TARGET_LIBRARIES})
add_cmocka_test(check_std_c_list std_tests/check_std_c_list.c ${TEST_TARGET_LIBRARIES})
add_cmocka_test(check_std_c_path std_tests/check_std_c_path.c ${TEST_TARGET_LIBRARIES})
diff --git a/csync/tests/std_tests/check_std_c_dir.c b/csync/tests/std_tests/check_std_c_dir.c
deleted file mode 100644
index 95f9618..0000000
--- a/csync/tests/std_tests/check_std_c_dir.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * libcsync -- a library to sync a directory with another
- *
- * Copyright (c) 2008-2013 by Andreas Schneider <asn at cryptomilk.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <errno.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include "torture.h"
-
-#include "std/c_private.h"
-#include "std/c_dir.h"
-#include "std/c_string.h"
-
-const char *check_dir = "/tmp/check/c_mkdirs//with/check//";
-const char *check_file = "/tmp/check/c_mkdirs/with/check/foobar.txt";
-
-static void setup(void **state) {
- int rc;
-
- (void) state; /* unused */
-
- rc = c_mkdirs(check_dir, 0755);
- assert_int_equal(rc, 0);
- rc = system("touch /tmp/check/c_mkdirs/with/check/foobar.txt");
- assert_int_equal(rc, 0);
-}
-
-static void teardown(void **state) {
- int rc;
-
- (void) state; /* unused */
-
- rc = c_rmdirs(check_dir);
- assert_int_equal(rc, 0);
-}
-
-static int test_dir(const char *path, mode_t mode) {
- csync_stat_t sb;
- if (lstat(path, &sb) < 0) {
- return -1;
- }
-
- if (! S_ISDIR(sb.st_mode)) {
- return -1;
- }
-
- /* FIXME */
- if ((sb.st_mode & mode) == mode) {
- return 0;
- }
-
- return -1;
-}
-
-static void check_c_mkdirs_rmdirs(void **state)
-{
- csync_stat_t sb;
- int rc;
- mbchar_t *wcheck_dir;
-
- (void) state; /* unused */
-
- rc = c_mkdirs(check_dir, 0755);
- assert_int_equal(rc, 0);
- rc = test_dir(check_dir, 0755);
- assert_int_equal(rc, 0);
- rc = c_rmdirs(check_dir);
- assert_int_equal(rc, 0);
- wcheck_dir = c_utf8_to_locale(check_dir);
- rc = _tstat(wcheck_dir, &sb);
- c_free_locale_string(wcheck_dir);
- assert_int_equal(rc, -1);
-}
-
-static void check_c_mkdirs_mode(void **state)
-{
- csync_stat_t sb;
- int rc;
- mbchar_t *wcheck_dir;
-
- (void) state; /* unused */
- rc = c_mkdirs(check_dir, 0700);
- assert_int_equal(rc, 0);
- rc = test_dir(check_dir, 0700);
- assert_int_equal(rc, 0);
- rc = c_rmdirs(check_dir);
- assert_int_equal(rc, 0);
- wcheck_dir = c_utf8_to_locale(check_dir);
- rc = _tstat(wcheck_dir, &sb);
- assert_int_equal(rc, -1);
- c_free_locale_string(wcheck_dir);
-}
-
-static void check_c_mkdirs_existing_path(void **state)
-{
- int rc;
-
- (void) state; /* unused */
-
- rc = c_mkdirs(check_dir, 0755);
- assert_int_equal(rc, 0);
-}
-
-static void check_c_mkdirs_file(void **state)
-{
- int rc;
-
- (void) state; /* unused */
-
- rc = c_mkdirs(check_file, 0755);
- assert_int_equal(rc, -1);
- assert_int_equal(errno, ENOTDIR);
-}
-
-static void check_c_mkdirs_null(void **state)
-{
- (void) state; /* unused */
-
- assert_int_equal(c_mkdirs(NULL, 0755), -1);
-}
-
-static void check_c_isdir(void **state)
-{
- (void) state; /* unused */
-
- assert_int_equal(c_isdir(check_dir), 1);
-}
-
-static void check_c_isdir_on_file(void **state)
-{
- (void) state; /* unused */
-
- assert_int_equal(c_isdir(check_file), 0);
-}
-
-static void check_c_isdir_null(void **state)
-{
- (void) state; /* unused */
-
- assert_int_equal(c_isdir(NULL), 0);
-}
-
-int torture_run_tests(void)
-{
- const UnitTest tests[] = {
- unit_test(check_c_mkdirs_rmdirs),
- unit_test(check_c_mkdirs_mode),
- unit_test_setup_teardown(check_c_mkdirs_existing_path, setup, teardown),
- unit_test_setup_teardown(check_c_mkdirs_file, setup, teardown),
- unit_test(check_c_mkdirs_null),
- unit_test_setup_teardown(check_c_isdir, setup, teardown),
- unit_test_setup_teardown(check_c_isdir_on_file, setup, teardown),
- unit_test(check_c_isdir_null),
- };
-
- return run_tests(tests);
-}
-
diff --git a/csync/tests/std_tests/check_std_c_file.c b/csync/tests/std_tests/check_std_c_file.c
deleted file mode 100644
index a9f4f57..0000000
--- a/csync/tests/std_tests/check_std_c_file.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * libcsync -- a library to sync a directory with another
- *
- * Copyright (c) 2008-2013 by Andreas Schneider <asn at cryptomilk.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include <errno.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include "torture.h"
-
-#include "std/c_private.h"
-#include "std/c_file.h"
-#include "std/c_string.h"
-
-const char *check_dir = "/tmp/check";
-const char *check_src_file = "/tmp/check/foo.txt";
-const char *check_dst_file = "/tmp/check/bar.txt";
-
-static int test_file(const char *path, mode_t mode) {
- csync_stat_t sb;
- mbchar_t *mbpath = c_utf8_to_locale(path);
- int rc = _tstat(mbpath, &sb);
- c_free_locale_string(mbpath);
-
- if (rc < 0) {
- return -1;
- }
-
- if (! S_ISREG(sb.st_mode)) {
- return -1;
- }
-
- if ((sb.st_mode & mode) == mode) {
- return 0;
- }
-
- return -1;
-}
-
-static void setup(void **state) {
- int rc;
-
- (void) state; /* unused */
-
- rc = system("mkdir -p /tmp/check");
- assert_int_equal(rc, 0);
- rc = system("echo 42 > /tmp/check/foo.txt");
- assert_int_equal(rc, 0);
-}
-
-static void teardown(void **state) {
- int rc;
-
- (void) state; /* unused */
-
- rc = system("rm -rf /tmp/check");
- assert_int_equal(rc, 0);
-}
-
-static void check_c_copy(void **state)
-{
- int rc;
-
- (void) state; /* unused */
-
- rc = c_copy(check_src_file, check_dst_file, 0644);
- assert_int_equal(rc, 0);
- rc = test_file(check_dst_file, 0644);
- assert_int_equal(rc, 0);
-}
-
-static void check_c_copy_same_file(void **state)
-{
- int rc;
-
- (void) state; /* unused */
-
- rc = c_copy(check_src_file, check_src_file, 0644);
- assert_int_equal(rc, -1);
-}
-
-static void check_c_copy_isdir(void **state)
-{
- int rc;
-
- (void) state; /* unused */
-
- rc = c_copy(check_src_file, check_dir, 0644);
- assert_int_equal(rc, -1);
- assert_int_equal(errno, EISDIR);
-
- rc = c_copy(check_dir, check_dst_file, 0644);
- assert_int_equal(rc, -1);
- assert_int_equal(errno, ENOENT);
-}
-
-static void check_c_compare_file(void **state)
-{
- int rc;
- (void) state;
-
- rc = c_copy(check_src_file, check_dst_file, 0644);
- assert_int_equal(rc, 0);
-
- rc = c_compare_file( check_src_file, check_dst_file );
- assert_int_equal(rc, 1);
-
- /* Check error conditions */
- rc = c_compare_file( NULL, check_dst_file );
- assert_int_equal(rc, -1);
- rc = c_compare_file( check_dst_file, NULL );
- assert_int_equal(rc, -1);
- rc = c_compare_file( NULL, NULL );
- assert_int_equal(rc, -1);
-
- rc = c_compare_file( check_src_file, "/I_do_not_exist_in_the_filesystem.dummy");
- assert_int_equal(rc, -1);
- rc = c_compare_file( "/I_do_not_exist_in_the_filesystem.dummy", check_dst_file);
- assert_int_equal(rc, -1);
-
- rc = system("echo \"hallo42\" > /tmp/check/foo.txt");
- assert_int_equal(rc, 0);
- rc = system("echo \"hallo52\" > /tmp/check/bar.txt");
- assert_int_equal(rc, 0);
- rc = c_compare_file( check_src_file, check_dst_file );
- assert_int_equal(rc, 0);
-
- /* Create two 1MB random files */
- rc = system("dd if=/dev/urandom of=/tmp/check/foo.txt bs=1024 count=1024");
- assert_int_equal(rc, 0);
- rc = system("dd if=/dev/urandom of=/tmp/check/bar.txt bs=1024 count=1024");
- assert_int_equal(rc, 0);
- rc = c_compare_file( check_src_file, check_dst_file );
- assert_int_equal(rc, 0);
-
- /* Create two 1MB random files with different size */
- rc = system("dd if=/dev/urandom of=/tmp/check/foo.txt bs=1024 count=1024");
- assert_int_equal(rc, 0);
- rc = system("dd if=/dev/urandom of=/tmp/check/bar.txt bs=1024 count=1020");
- assert_int_equal(rc, 0);
- rc = c_compare_file( check_src_file, check_dst_file );
- assert_int_equal(rc, 0);
-
- /* compare two big files which are equal */
- rc = c_copy(check_src_file, check_dst_file, 0644);
- assert_int_equal(rc, 0);
-
- rc = c_compare_file( check_src_file, check_dst_file );
- assert_int_equal(rc, 1);
-}
-
-int torture_run_tests(void)
-{
- const UnitTest tests[] = {
- unit_test_setup_teardown(check_c_copy, setup, teardown),
- unit_test(check_c_copy_same_file),
- unit_test_setup_teardown(check_c_copy_isdir, setup, teardown),
- unit_test_setup_teardown(check_c_compare_file, setup, teardown),
- };
-
- return run_tests(tests);
-}
-
diff --git a/csync/tests/std_tests/check_std_c_path.c b/csync/tests/std_tests/check_std_c_path.c
index bf5db11..208a0b9 100644
--- a/csync/tests/std_tests/check_std_c_path.c
+++ b/csync/tests/std_tests/check_std_c_path.c
@@ -130,32 +130,6 @@ static void check_c_dirname_uri(void **state)
free(dname);
}
-static void check_c_tmpname(void **state)
-{
- char tmpl[22]={0};
- char prev[22]={0};
- char *tmp;
- int i = 0;
-
- (void) state; /* unused */
-
- srand((unsigned)time(NULL));
-
- /* remember the last random value and compare the new one against.
- * They may never be the same. */
- for(i = 0; i < 100; i++){
- strcpy(tmpl, "check_tmpname.XXXXXX");
- tmp = c_tmpname(tmpl);
- assert_non_null(tmp);
-
- if (strlen(prev)) {
- assert_string_not_equal(tmp, prev);
- }
- strcpy(prev, tmp);
- SAFE_FREE(tmp);
- }
-}
-
static void check_c_parse_uri(void **state)
{
const char *test_scheme = "git+ssh";
@@ -204,7 +178,6 @@ int torture_run_tests(void)
unit_test(check_c_dirname),
unit_test(check_c_dirname_uri),
unit_test(check_c_parse_uri),
- unit_test(check_c_tmpname),
};
return run_tests(tests);
diff --git a/csync/tests/std_tests/check_std_c_str.c b/csync/tests/std_tests/check_std_c_str.c
index 723dd3e..08cb1aa 100644
--- a/csync/tests/std_tests/check_std_c_str.c
+++ b/csync/tests/std_tests/check_std_c_str.c
@@ -113,85 +113,6 @@ static void check_c_strlist_expand(void **state)
c_strlist_destroy(strlist);
}
-static void check_c_strreplace(void **state)
-{
- char *str = strdup("/home/%(USER)");
-
- (void) state; /* unused */
-
- str = c_strreplace(str, "%(USER)", "csync");
- assert_string_equal(str, "/home/csync");
-
- free(str);
-}
-
-static void check_c_lowercase(void **state)
-{
- char *str;
-
- (void) state; /* unused */
-
- str = c_lowercase("LoWeRcASE");
- assert_string_equal(str, "lowercase");
-
- free(str);
-}
-
-static void check_c_lowercase_empty(void **state)
-{
- char *str;
-
- (void) state; /* unused */
-
- str = c_lowercase("");
- assert_string_equal(str, "");
-
- free(str);
-}
-
-static void check_c_lowercase_null(void **state)
-{
- char *str;
-
- (void) state; /* unused */
-
- str = c_lowercase(NULL);
- assert_null(str);
-}
-
-static void check_c_uppercase(void **state)
-{
- char *str;
-
- (void) state; /* unused */
-
- str = c_uppercase("upperCASE");
- assert_string_equal(str, "UPPERCASE");
-
- free(str);
-}
-
-static void check_c_uppercase_empty(void **state)
-{
- char *str;
-
- (void) state; /* unused */
-
- str = c_uppercase("");
- assert_string_equal(str, "");
-
- free(str);
-}
-
-static void check_c_uppercase_null(void **state)
-{
- char *str;
-
- (void) state; /* unused */
-
- str = c_uppercase(NULL);
- assert_null(str);
-}
int torture_run_tests(void)
@@ -203,13 +124,6 @@ int torture_run_tests(void)
unit_test(check_c_strlist_new),
unit_test(check_c_strlist_add),
unit_test(check_c_strlist_expand),
- unit_test(check_c_strreplace),
- unit_test(check_c_lowercase),
- unit_test(check_c_lowercase_empty),
- unit_test(check_c_lowercase_null),
- unit_test(check_c_uppercase),
- unit_test(check_c_uppercase_empty),
- unit_test(check_c_uppercase_null),
};
return run_tests(tests);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list