/*
* scan.c -- scanning routines for Bacula
- *
+ *
* Kern Sibbald, MM separated from util.c MMIII
*
* Version $Id$
/*
* Skip spaces
- * Returns: 0 on failure (EOF)
+ * Returns: 0 on failure (EOF)
* 1 on success
- * new address in passed parameter
+ * new address in passed parameter
*/
bool skip_spaces(char **msg)
{
/*
* Skip nonspaces
- * Returns: 0 on failure (EOF)
+ * Returns: 0 on failure (EOF)
* 1 on success
- * new address in passed parameter
+ * new address in passed parameter
*/
bool skip_nonspaces(char **msg)
{
/* folded search for string - case insensitive */
int
-fstrsch(const char *a, const char *b) /* folded case search */
+fstrsch(const char *a, const char *b) /* folded case search */
{
const char *s1,*s2;
char c1, c2;
}
-/*
+/*
* Return next argument from command line. Note, this
* routine is destructive.
*/
/* skip past spaces to next arg */
for (p=*s; *p && B_ISSPACE(*p); ) {
p++;
- }
- Dmsg1(400, "Next arg=%s\n", p);
+ }
+ Dmsg1(900, "Next arg=%s\n", p);
for (n = q = p; *p ; ) {
if (*p == '\\') {
p++;
}
*q = 0;
*s = p;
- Dmsg2(400, "End arg=%s next=%s\n", n, p);
+ Dmsg2(900, "End arg=%s next=%s\n", n, p);
return n;
-}
+}
/*
* This routine parses the input command line.
* It makes a copy in args, then builds an
* argc, argv like list where
- *
+ *
* argc = count of arguments
* argk[i] = argument keyword (part preceding =)
* argv[i] = argument value (part after =)
* argk[1] = arg2
* argv[1] = abc
* argk[2] = arg3
- * argv[2] =
+ * argv[2] =
*/
-int parse_args(POOLMEM *cmd, POOLMEM **args, int *argc,
- char **argk, char **argv, int max_args)
+int parse_args(POOLMEM *cmd, POOLMEM **args, int *argc,
+ char **argk, char **argv, int max_args)
{
char *p, *q, *n;
*argc = 0;
/* Pick up all arguments */
while (*argc < max_args) {
- n = next_arg(&p);
+ n = next_arg(&p);
if (*n) {
argk[*argc] = n;
argv[(*argc)++] = NULL;
void split_path_and_filename(const char *fname, POOLMEM **path, int *pnl,
POOLMEM **file, int *fnl)
{
- const char *p, *f;
+ const char *f;
int slen;
int len = slen = strlen(fname);
/*
- * Find path without the filename.
+ * Find path without the filename.
* I.e. everything after the last / is a "filename".
* OK, maybe it is a directory name, but we treat it like
* a filename. If we don't find a / then the whole name
* must be a path name (e.g. c:).
*/
- p = fname;
f = fname + len - 1;
/* "strip" any trailing slashes */
while (slen > 1 && *f == '/') {
}
/*
- * Extremely simple sscanf. Handles only %(u,d,ld,lu,lld,llu,c,nns)
+ * Extremely simple sscanf. Handles only %(u,d,ld,qd,qu,lu,lld,llu,c,nns)
*/
const int BIG = 1000;
int bsscanf(const char *buf, const char *fmt, ...)
int cnt;
char *helloreq= "Hello *UserAgent* calling\n";
char *hello = "Hello %127s calling\n";
- char *catreq =
+ char *catreq =
"CatReq Job=NightlySave.2004-06-11_19.11.32 CreateJobMedia FirstIndex=1 LastIndex=114 StartFile=0 EndFile=0 StartBlock=208 EndBlock=2903248";
static char Create_job_media[] = "CatReq Job=%127s CreateJobMedia "
"FirstIndex=%u LastIndex=%u StartFile=%u EndFile=%u "
uint64_t VolWriteTime; /* time spent writing this Volume */
char VolCatStatus[20]; /* Volume status */
char VolCatName[MAX_NAME_LENGTH]; /* Desired volume to mount */
-};
+};
struct VOLUME_CAT_INFO vol;
#ifdef xxx