static int sleepcmd(FILE *input, BSOCK *UA_sock);
-#define CONFIG_FILE "./bconsole.conf" /* default configuration file */
+#define CONFIG_FILE "bconsole.conf" /* default configuration file */
static void usage()
{
extern URES res_all;
#endif
-#define CONFIG_FILE "./bacula-dir.conf" /* default configuration file */
+#define CONFIG_FILE "bacula-dir.conf" /* default configuration file */
static void usage()
{
JOB *job;
int i;
JCR *jcr = ua->jcr;
+ char *escaped_bsr_name = NULL;
+ char *escaped_where_name = NULL;
memset(&rx, 0, sizeof(rx));
rx.path = get_pool_memory(PM_FNAME);
goto bail_out;
}
+ escaped_bsr_name = escape_filename(jcr->RestoreBootstrap);
+ escaped_where_name = escape_filename(rx.where);
+
/* Build run command */
if (rx.where) {
if (!acl_access_ok(ua, Where_ACL, rx.where)) {
bsendmsg(ua, _("Forbidden \"where\" specified.\n"));
goto bail_out;
}
+
Mmsg(ua->cmd,
"run job=\"%s\" client=\"%s\" storage=\"%s\" bootstrap=\"%s\""
" where=\"%s\" files=%d catalog=\"%s\"",
job->name(), rx.ClientName, rx.store?rx.store->name():"",
- jcr->RestoreBootstrap, rx.where, rx.selected_files, ua->catalog->name());
+ escaped_bsr_name ? escaped_bsr_name : jcr->RestoreBootstrap,
+ escaped_where_name ? escaped_where_name : rx.where,
+ rx.selected_files, ua->catalog->name());
} else {
Mmsg(ua->cmd,
"run job=\"%s\" client=\"%s\" storage=\"%s\" bootstrap=\"%s\""
" files=%d catalog=\"%s\"",
job->name(), rx.ClientName, rx.store?rx.store->name():"",
- jcr->RestoreBootstrap, rx.selected_files, ua->catalog->name());
+ escaped_bsr_name ? escaped_bsr_name : jcr->RestoreBootstrap,
+ rx.selected_files, ua->catalog->name());
+ }
+
+ if (escaped_bsr_name != NULL) {
+ bfree(escaped_bsr_name);
+ }
+
+ if (escaped_where_name != NULL) {
+ bfree(escaped_where_name);
}
+
if (find_arg(ua, NT_("yes")) > 0) {
pm_strcat(ua->cmd, " yes"); /* pass it on to the run command */
}
return 1;
bail_out:
+ if (escaped_bsr_name != NULL) {
+ bfree(escaped_bsr_name);
+ }
+
+ if (escaped_where_name != NULL) {
+ bfree(escaped_where_name);
+ }
+
free_rx(&rx);
return 0;
bool no_signals = false;
-#define CONFIG_FILE "./bacula-fd.conf" /* default config file */
+#define CONFIG_FILE "bacula-fd.conf" /* default config file */
char *configfile = NULL;
static bool foreground = false;
/* Separate pathname and filename */
for (q=p=f=ofile; *p; p++) {
- if (*p == '/') {
- f = q; /* possible filename */
- }
#ifdef HAVE_WIN32
- if (*p == '\\') { /* strip backslashes on Win32 */
- continue;
+ if (*p == '\\' || *p == '/') {
+ f = q;
+ if (p[1] == '\\' || p[1] == '/') {
+ p++;
+ }
}
*q++ = *p; /* copy data */
#else
+ if (*p == '/') {
+ f = q; /* possible filename */
+ }
q++;
#endif
}
}
/* Skip over leading slashes. */
+#if defined(HAVE_WIN32)
+ while (*slash == '/' || *slash == '\\')
+ slash++;
+#else
while (*slash == '/')
slash++;
-
+#endif
while (1) {
int newly_created_dir;
int fail;
/* slash points to the leftmost unprocessed component of dirpath. */
basename_dir = slash;
+#if defined(HAVE_WIN32)
+ slash = strpbrk(slash, ":/\\");
+ if (slash == NULL) {
+ break;
+ }
+#else
slash = strchr (slash, '/');
if (slash == NULL) {
break;
}
+#endif
/* If we're *not* doing chdir before each mkdir, then we have to refer
to the target using the full (multi-component) directory name. */
/* Avoid unnecessary calls to `stat' when given
pathnames containing multiple adjacent slashes. */
- while (*slash == '/')
- slash++;
+#if defined(HAVE_WIN32)
+ while (*slash == '/' || *slash == '\\')
+ slash++;
+#else
+ while (*slash == '/')
+ slash++;
+#endif
} /* end while (1) */
if (!cwd.do_chdir) {
{
Mmsg(name, "%s/%s.%s.%d.tmp", working_directory, my_name, what, Id);
}
+
+char *escape_filename(const char *file_path)
+{
+ if (file_path == NULL || strpbrk(file_path, "\"\\") == NULL) {
+ return NULL;
+ }
+
+ char *escaped_path = (char *)bmalloc(2 * (strlen(file_path) + 1));
+ char *cur_char = escaped_path;
+
+ while (*file_path) {
+ if (*file_path == '\\' || *file_path == '"') {
+ *cur_char++ = '\\';
+ }
+
+ *cur_char++ = *file_path++;
+ }
+
+ *cur_char = '\0';
+
+ return escaped_path;
+}
+
+
#include "bacula.h"
+#if defined(HAVE_WIN32)
+#include "shlobj.h"
+#else
+#define MAX_PATH 1024
+#endif
+
/* Each daemon has a slightly different set of
* resources, so it will define the following
* global values.
extern RES **res_head;
#if defined(_MSC_VER)
-// work around visual studio name manling preventing external linkage since res_all
+// work around visual studio name mangling preventing external linkage since res_all
// is declared as a different type when instantiated.
extern "C" CURES res_all;
#else
/* Forward referenced subroutines */
static void scan_types(LEX *lc, MSGS *msg, int dest, char *where, char *cmd);
-
+static const char *get_default_configdir();
+static bool find_config_file(const char *config_file, char *full_path);
/* Common Resource definitions */
if (items[i].handler == store_bit) {
*(int *)(items[i].value) |= items[i].code;
} else if (items[i].handler == store_bool) {
- *(bool *)(items[i].value) = items[i].default_value;
+ *(bool *)(items[i].value) = items[i].default_value != 0;
} else if (items[i].handler == store_pint ||
items[i].handler == store_int) {
*(int *)(items[i].value) = items[i].default_value;
RES_ITEM *items = NULL;
int level = 0;
+ char *full_path = (char *)alloca(MAX_PATH);
+
+ if (find_config_file(cf, full_path)) {
+ cf = full_path;
+ }
+
/* Make two passes. The first builds the name symbol table,
* and the second picks up the items.
*/
return 1;
}
+const char *get_default_configdir()
+{
+#if defined(HAVE_WIN32)
+#define DEFAULT_CONFIGDIR "C:\\Documents and Settings\\All Users\\Application Data\\Bacula"
+
+ HRESULT hr;
+ static char szConfigDir[MAX_PATH + 1] = { 0 };
+
+ if (szConfigDir[0] == '\0') {
+ hr = SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, szConfigDir);
+
+ if (SUCCEEDED(hr)) {
+ bstrncat(szConfigDir, "\\Bacula", sizeof(szConfigDir));
+ } else {
+ bstrncpy(szConfigDir, DEFAULT_CONFIGDIR, sizeof(szConfigDir));
+ }
+ }
+ return szConfigDir;
+#else
+ return "/etc/bacula";
+#endif
+}
+
+bool
+find_config_file(const char *config_file, char *full_path)
+{
+#if defined(HAVE_WIN32)
+ if (strpbrk(config_file, ":/\\") != NULL) {
+ return false;
+ }
+#else
+ if (strchr(config_file, '/') != NULL) {
+ return false;
+ }
+#endif
+
+ struct stat st;
+
+ if (stat(config_file, &st) == 0) {
+ return false;
+ }
+
+ const char *config_dir = get_default_configdir();
+ size_t dir_length = strlen(config_dir);
+ size_t file_length = strlen(config_file);
+
+ if ((dir_length + 1 + file_length + 1) > MAX_PATH) {
+ return false;
+ }
+
+ memcpy(full_path, config_dir, dir_length + 1);
+
+ if (full_path[dir_length - 1] != '/' &&
+ full_path[dir_length - 1] != '\\') {
+ full_path[dir_length++] = '/';
+ }
+
+ memcpy(&full_path[dir_length], config_file, file_length + 1);
+
+ return true;
+}
+
/*********************************************************************
*
* Free configuration resources
#endif
void read_state_file(char *dir, const char *progname, int port);
int bstrerror(int errnum, char *buf, size_t bufsiz);
+char *escape_filename(const char *file_path);
/* bnet.c */
int32_t bnet_recv (BSOCK *bsock);
-#!/bin/sh\r
-#\r
-# This script dumps your Bacula catalog in ASCII format\r
-# It works for MySQL, SQLite, and PostgreSQL\r
-#\r
-# $1 is the name of the database to be backed up and the name\r
-# of the output file (default = bacula\r
-# $2 is the user name with which to access the database\r
-# (default = bacula).\r
-# $3 is the password with which to access the database or "" if no password\r
-# (default "")\r
-#\r
-#\r
-cd %WORKING_DIR%\r
-del /f bacula.sql\r
+@echo off\r
+rem \r
+rem This script dumps your Bacula catalog in ASCII format\r
+rem It works for MySQL, SQLite, and PostgreSQL\r
+rem \r
+rem %1 is the name of the database to be backed up and the name\r
+rem of the output file (default = bacula\r
+rem %2 is the user name with which to access the database\r
+rem (default = bacula).\r
+rem %3 is the password with which to access the database or "" if no password\r
+rem (default "")\r
+rem \r
+rem \r
+@echo on\r
+\r
+cd @working_dir@\r
+del /f bacula.sql 2>nul\r
\r
set MYSQLPASSWORD=\r
\r
-if "%3"!="" set MYSQLPASSWORD=" --password=%3"\r
-%SQL_BINDIR%/mysqldump -u %2 %MYSQLPASSWORD% -f --opt %1 >%1.sql\r
+if not "%3"=="" set MYSQLPASSWORD=--password=%3\r
+"@SQL_BINDIR@\mysqldump" -u %2 %MYSQLPASSWORD% -f --opt %1 >%1.sql\r
\r
-#\r
-# To read back a MySQL database use: \r
-# cd @working_dir@\r
-# rm -f @SQL_BINDIR@/../var/bacula/*\r
-# mysql <bacula.sql\r
-#\r
-# To read back a SQLite database use:\r
-# cd @working_dir@\r
-# rm -f bacula.db\r
-# sqlite bacula.db <bacula.sql\r
-#\r
-# To read back a PostgreSQL database use:\r
-# cd @working_dir@\r
-# dropdb bacula\r
-# createdb bacula\r
-# psql bacula <bacula.sql\r
-#\r
+@echo off\r
+rem \r
+rem To read back a MySQL database use: \r
+rem cd @working_dir@\r
+rem rd /s /q -f @SQL_BINDIR@\..\data\bacula\r
+rem mysql <bacula.sql\r
+rem \r
+rem To read back a SQLite database use:\r
+rem cd @working_dir@\r
+rem rm -f bacula.db\r
+rem sqlite bacula.db <bacula.sql\r
+rem \r
+rem To read back a PostgreSQL database use:\r
+rem cd @working_dir@\r
+rem dropdb bacula\r
+rem createdb bacula\r
+rem psql bacula <bacula.sql\r
+rem \r
wchar_t *win32_name = (wchar_t *)pwszBuf+nParseOffset;
+ wchar_t *name_start = name;
while (*name) {
- /* Check for Unix separator and convert to Win32 */
- if (*name == '/') {
+ /* Check for Unix separator and convert to Win32, eliminating
+ * duplicate separators.
+ */
+ if (*name == '/' || *name == '\\') {
*win32_name++ = '\\'; /* convert char */
- /* If Win32 separated that is "quoted", remove quote */
-/* HELPME (Thorsten Engel): I don't understand the following part
- * and it removes a backslash from e.g. "\\.\c:" which I need for
- * RAW device access. So I took it out.
- */
-#ifdef needed
- } else if (*name == '\\' && name[1] == '\\') {
- *win32_name++ = '\\';
- name++; /* skip first \ */
-#endif
+
+ /* Eliminate consecutive slashes, but not at the start so that
+ * \\.\ still works.
+ */
+ if (name_start != name && (name[1] == '/' || name[1] == '\\')) {
+ name++;
+ }
} else {
*win32_name++ = *name; /* copy character */
}
name++;
}
-
+
/* null terminate string */
*win32_name = 0;
/>\r
<Tool\r
Name="VCCustomBuildTool"\r
+ Description="Copying dird scripts"\r
+ CommandLine="copy ..\..\dird\query.sql ..\installer"\r
+ AdditionalDependencies="..\..\dird\query.sql"\r
+ Outputs="..\installer\query.sql"\r
/>\r
<Tool\r
Name="VCXMLDataGeneratorTool"\r
/>\r
<Tool\r
Name="VCCustomBuildTool"\r
+ Description="Copying dird scripts"\r
+ CommandLine="copy ..\..\dird\query.sql ..\installer"\r
+ AdditionalDependencies="..\..\dird\query.sql"\r
+ Outputs="..\installer\query.sql"\r
/>\r
<Tool\r
Name="VCXMLDataGeneratorTool"\r
_Z11bmicrosleepll
_Z15create_pid_filePcPKci
_Z15delete_pid_filePcPKci
+_Z15escape_filenamePKc
_Z15read_state_filePcPKci
_Z16write_state_filePcPKci
_Z2_pPP16pthread_mutex_t_
../cats/make_catalog_backup.cmd \
../cats/delete_catalog_backup.cmd
+DIRD_FILES := \
+ query.sql
+
SSL_FILES := \
openssl.cnf
$(foreach file,$(addprefix $(DEPKGS)/ssl/, $(SSL_FILES)),$(eval $(call Copy_Binary,$(file))))
-$(INSTALL_EXE): winbacula.nsi $(BACULA_BINARIES) $(SCRIPTS) $(DEPKGS_BINARIES) $(NONGCC_BINARIES) $(NONGCC_LIBRARIES) $(SSL_FILES)
+$(foreach file,$(addprefix ../../dird/, $(DIRD_FILES)),$(eval $(call Copy_Binary,$(file))))
+
+$(INSTALL_EXE): winbacula.nsi $(BACULA_BINARIES) $(SCRIPTS) $(DEPKGS_BINARIES) $(NONGCC_BINARIES) $(NONGCC_LIBRARIES) $(SSL_FILES) $(DIRD_FILES)
NSISDIR=$(NSIS_DIR) \
$(NSIS_DIR)/makensis -V3 $(DEFINES) winbacula.nsi
Storage = File
Pool = Default
Messages = Standard
- Where = C:\\tmp\\bacula-restores
+ Where = "C:\\tmp\\bacula-restores"
}
# directory to give a reasonable FileSet to backup to
# disk storage during initial testing.
#
- File = @BUILD_DIR@
+ File = "@bin_dir@"
}
#
Options {
signature = MD5
}
- File = "@working_dir@/bacula.sql"
+ File = "@working_dir@\\bacula.sql"
}
}
>
<Tool
Name="VCNMakeTool"
- BuildCommandLine="build-installer $(SolutionDir) $(ConfigurationName) VC8_DEBUG "$(VCInstallDir)redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT"
"
- ReBuildCommandLine="del $(SolutionDir)$(ConfigurationName)\winbacula-*.exe
build-installer $(SolutionDir) $(ConfigurationName) VC8_DEBUG "$(VCInstallDir)redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT"
"
+ BuildCommandLine="build-installer $(SolutionDir) $(ConfigurationName) VC8_DEBUG "$(VCInstallDir)redist"
"
+ ReBuildCommandLine="del $(SolutionDir)$(ConfigurationName)\winbacula-*.exe
build-installer $(SolutionDir) $(ConfigurationName) VC8_DEBUG "$(VCInstallDir)redist"
"
CleanCommandLine="del $(SolutionDir)$(ConfigurationName)\winbacula-*.exe"
Output=""
PreprocessorDefinitions="VERSION=$(VERSION);DOC_DIR=..\..\..\..\docs;BUILD_TOOLS=VC8_DEBUG;VC_REDIST_DIR=$(VCInstallDir)redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT;DEPKGS_BIN=..\..\..\..\depkgs-msvc\bin;BACULA_BIN=..\$(ConfigurationName);CATS_DIR=..\cats;SCRIPT_DIR=..\scripts"
>
<Tool
Name="VCNMakeTool"
- BuildCommandLine="build-installer $(SolutionDir) $(ConfigurationName) VC8 "$(VCInstallDir)redist\x86\Microsoft.VC80.CRT"
"
- ReBuildCommandLine="del $(SolutionDir)$(ConfigurationName)\winbacula-*.exe
build-installer $(SolutionDir) $(ConfigurationName) VC8 "$(VCInstallDir)redist\x86\Microsoft.VC80.CRT"
"
+ BuildCommandLine="build-installer $(SolutionDir) $(ConfigurationName) VC8 "$(VCInstallDir)redist"
"
+ ReBuildCommandLine="del $(SolutionDir)$(ConfigurationName)\winbacula-*.exe
build-installer $(SolutionDir) $(ConfigurationName) VC8 "$(VCInstallDir)redist"
"
CleanCommandLine="del $(SolutionDir)$(ConfigurationName)\winbacula-*.exe"
Output=""
PreprocessorDefinitions=""
?write_state_file@@YAXPADPBDH@Z
?drop@@YAXPAD0@Z
?bfgets@@YAPADPADHPAU_iobuf@@@Z
+?escape_filename@@YAPADPBD@Z
; btime.obj
?bstrftime@@YAPADPADH_J@Z
RelativePath="..\..\..\stored\acquire.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\ansi_label.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\append.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\askdir.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\authenticate.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\autochanger.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\block.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\butil.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\dev.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\device.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\dircmd.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\dvd.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\ebcdic.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\fd_cmds.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\job.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\label.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\mac.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\match_bsr.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\mount.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\mtops.cpp"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\parse_bsr.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\pythonsd.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\read.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\read_record.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\record.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\reserve.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\scan.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\spool.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\stored_conf.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
RelativePath="..\..\..\stored\wait.c"\r
>\r
<FileConfiguration\r
- Name="Release|Win32"\r
+ Name="Debug|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
/>\r
</FileConfiguration>\r
<FileConfiguration\r
- Name="Debug|Win32"\r
+ Name="Release|Win32"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r