mirror of
git://git.gnupg.org/gnupg.git
synced 2024-09-24 15:31:41 +02:00
deb6c94362
* common/w32-misc.c: New. * common/t-w32-cmdline.c: New. * common/init.c: Include w32help.h. (prepare_w32_commandline): New. (_init_common_subsystems) [W32]: Call prepare_w32_commandline. * common/Makefile.am (common_sources) [W32]: Add w32-misc.c (module_tests): Add t-w32-cmdline (t_w32_cmdline_LDADD): New. -- The rules for the command line parser are not cleary specified - if at all. See the comment in t-w32-cmdline.c. We can't use the mingw version because that would require to change all argv handling to be wchar_t and that only for Windows. That would be too ugly. Parsing the command line into argv by us is much easier and we can do that only if needed - i.e. if globing is required (we are prepared for this) or a non-ASCII character has been encountered. This way we keep things stable and only fix the currently not working Unicode problem. GnuPG-bug-id: 4398
64 lines
1.7 KiB
C
64 lines
1.7 KiB
C
/* w32help.h - W32 speicif functions
|
|
* Copyright (C) 2007 Free Software Foundation, Inc.
|
|
*
|
|
* This file is part of GnuPG.
|
|
*
|
|
* GnuPG is free software; you can redistribute and/or modify this
|
|
* part of GnuPG under the terms of either
|
|
*
|
|
* - the GNU Lesser General Public License as published by the Free
|
|
* Software Foundation; either version 3 of the License, or (at
|
|
* your option) any later version.
|
|
*
|
|
* or
|
|
*
|
|
* - the GNU General Public License as published by the Free
|
|
* Software Foundation; either version 2 of the License, or (at
|
|
* your option) any later version.
|
|
*
|
|
* or both in parallel, as here.
|
|
*
|
|
* GnuPG 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 copies of the GNU General Public License
|
|
* and the GNU Lesser General Public License along with this program;
|
|
* if not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef GNUPG_COMMON_W32HELP_H
|
|
#define GNUPG_COMMON_W32HELP_H
|
|
|
|
/*-- w32-misc.c --*/
|
|
/* This module is also part of the Unix tests. */
|
|
char **w32_parse_commandline (char *cmdline, int globing, int *r_argc);
|
|
|
|
|
|
|
|
#ifdef HAVE_W32_SYSTEM
|
|
|
|
/*-- w32-reg.c --*/
|
|
char *read_w32_registry_string (const char *root,
|
|
const char *dir, const char *name );
|
|
|
|
/* Other stuff. */
|
|
#ifdef HAVE_W32CE_SYSTEM
|
|
/* Setmode is missing in cegcc but available since CE 5.0. */
|
|
int _setmode (int handle, int mode);
|
|
# define setmode(a,b) _setmode ((a),(b))
|
|
|
|
static inline int
|
|
umask (int a)
|
|
{
|
|
(void)a;
|
|
return 0;
|
|
}
|
|
|
|
|
|
#endif /*HAVE_W32CE_SYSTEM*/
|
|
|
|
#endif /*HAVE_W32_SYSTEM*/
|
|
#endif /*GNUPG_COMMON_MISCHELP_H*/
|