]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix problem of accents with new Win32 code.
authorKern Sibbald <kern@sibbald.com>
Sat, 29 Apr 2006 18:58:37 +0000 (18:58 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 29 Apr 2006 18:58:37 +0000 (18:58 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2987 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/kes-1.39
bacula/src/bacula.h
bacula/src/filed/win32/winbacula.h
bacula/src/win32/compat/compat.cpp
bacula/src/win32/compat/compat.h
bacula/src/win32/compat/print.cpp
bacula/src/win32/compat/sys/stat.h
bacula/src/win32/compat/vss.cpp

index 651b525d9a340f373aa63da05d6b510266179249..9b331436bb4720ab494dc5d6b4403766b83a1a70 100644 (file)
@@ -3,6 +3,7 @@
 
 General:
 29Apr06
+- Fix problem of accents with new Win32 code.
 - Integrate Howard's VSS patch. Tweak it a bit. VSS now
   works in the MinGW build with the exception that there
   is a problem with accented characters -- i.e. there is
index 081611040d69cbf3b437cf023b80a4e1f3ecb127..5fd1d1f7a7c2d6eb5484e18c2a262c5da1aa0fb6 100644 (file)
@@ -30,6 +30,8 @@
 #ifdef HAVE_MINGW
 #include "mingwconfig.h"
 #include "winhost.h"
+#define _STAT_H       /* don't pull in MinGW stat.h */
+#define _STAT_DEFINED /* don't pull in MinGW stat.h */
 #else
 #include "winconfig.h"
 #include "winhost.h"
 #if defined(HAVE_WIN32) & !defined(HAVE_MINGW)
 #include <winsock2.h>
 #else
-#include <sys/stat.h>
+//#include <sys/stat.h>
 #endif
 #include <sys/time.h>
 #if HAVE_SYS_WAIT_H
index f56b9ed92b4906c417fcbd57528fe37248f3b8db..c61d39e8d4d7138569cfc87215207c4ee1788392 100755 (executable)
 
 // WinUPS header file
 
+#ifdef HAVE_MINGW
+#include "compat.h"
+#endif
+
 #define STRICT 1
 #include <windows.h>
 #include <stdio.h>
 #include <process.h>
 #include "winres.h"
 
-#ifdef HAVE_MINGW
-#include "compat.h"
-#endif
 
 // Application specific messages
 
index 72f8edd1730a71df924f75a24676a792dd669685..e843d7965358b66333a1849ee929662f2417f44c 100644 (file)
@@ -453,7 +453,6 @@ errorString(void)
    return rval;
 }
 
-#ifndef HAVE_MINGW
 
 static int
 statDir(const char *file, struct stat *sb)
@@ -547,7 +546,7 @@ stat2(const char *file, struct stat *sb)
     char tmpbuf[1024];
     conv_unix_to_win32_path(file, tmpbuf, 1024);
 
-    DWORD attr = -1;
+    DWORD attr = (DWORD)-1;
 
     if (p_GetFileAttributesW) {
       POOLMEM* pwszBuf = get_pool_memory(PM_FNAME);
@@ -689,8 +688,6 @@ stat(const char *file, struct stat *sb)
    return 0;
 }
 
-#endif //HAVE_MINGW
-
 int
 lstat(const char *file, struct stat *sb)
 {
index e6308d2efe3258f44cd0bdcca314f82ef5bde4bf..54ddf1e24549eb9b7f7249ab7013d5b7fff923a1 100644 (file)
 
 #ifndef __COMPAT_H_
 #define __COMPAT_H_
+#ifndef _STAT_H
+#define _STAT_H       /* don't pull in MinGW stat.h */
+#define _STAT_DEFINED /* don't pull in MinGW stat.h */
+#endif
 
 #if (defined _MSC_VER) && (_MSC_VER >= 1400) // VC8+
 #pragma warning(disable : 4996) // Either disable all deprecation warnings,
@@ -175,10 +179,6 @@ int gettimeofday(struct timeval *, struct timezone *);
 
 #define ETIMEDOUT 55
 
-#ifndef HAVE_MINGW
-int strncasecmp(const char*, const char *, int);
-
-#ifndef _STAT_DEFINED
 struct stat
 {
     _dev_t      st_dev;
@@ -195,7 +195,6 @@ struct stat
     uint32_t    st_blksize;
     uint64_t    st_blocks;
 };
-#endif
 
 #undef  S_IFMT
 #define S_IFMT         0170000         /* file type mask */
@@ -218,7 +217,6 @@ struct stat
 #define S_ISCHR(x) 0
 #define S_ISBLK(x)  (((x) & S_IFMT) == S_IFBLK)
 #define S_ISFIFO(x) 0
-#endif //HAVE_MINGW
 
 #define S_IRGRP         000040
 #define S_IWGRP         000020
@@ -273,6 +271,7 @@ int fork();
 int waitpid(int, int *, int);
 
 #ifndef HAVE_MINGW
+int strncasecmp(const char*, const char *, int);
 int utime(const char *filename, struct utimbuf *buf);
 int open(const char *, int, int);
 #define vsnprintf __vsnprintf
@@ -307,6 +306,7 @@ struct tm *gmtime_r(const time_t *, struct tm *);
 long int random(void);
 void srandom(unsigned int seed);
 int lstat(const char *, struct stat *);
+int stat(const char *file, struct stat *sb);
 long pathconf(const char *, int);
 int readlink(const char *, char *, int);
 #define _PC_PATH_MAX 1
index 789cf2d0d04c0c498b88e58b81d314b304e4f76a..7d7ace4838fc9bf03df3ae5c5baf04554f37eb61 100644 (file)
  *
  *  Brandon Long <blong@fiction.net> 10/22/97 for mutt 0.87.1
  *    Ok, added some minimal floating point support, which means this
- *    probably requires libm on most operating systems.         Don't yet
+ *    probably requires libm on most operating systems.  Don't yet
  *    support the exponent(e, E) and sigfig(g, G).  Also, fmtint()
  *    was pretty badly broken, it just wasn't being exercised in ways
  *    which showed it, so that's been fixed.  Also, formated the code
  *    to mutt conventions, and removed dead code left over from the
- *    original.         Also, there is now a builtin-test, just compile with:
- *          gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
+ *    original.  Also, there is now a builtin-test, just compile with:
+ *           gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
  *    and run snprintf for results.
  * 
  *  Thomas Roessler <roessler@guug.de> 01/27/98 for mutt 0.89i
@@ -35,7 +35,7 @@
  *
  *  Michael Elkins <me@cs.hmc.edu> 03/05/98 for mutt 0.90.8
  *    The original code assumed that both snprintf() and vsnprintf() were
- *    missing. Some systems only have snprintf() but not vsnprintf(), so
+ *    missing.  Some systems only have snprintf() but not vsnprintf(), so
  *    the code is now broken down under HAVE_SNPRINTF and HAVE_VSNPRINTF.
  *
  *  Ben Lindstrom <mouring@eviladmin.org> 09/27/00 for OpenSSH
@@ -49,6 +49,7 @@
  *    acceptable.  Consider stealing from mutt or enlightenment.
  **************************************************************/
 
+#include "bacula.h"
 #include "compat.h"
 
 typedef void (prfun)(char *, size_t *, size_t, int);
@@ -76,7 +77,9 @@ dopr_outch(char *buffer, size_t *currlen, size_t maxlen, int c);
  * dopr(): poor man's version of doprintf
  */
 
+#ifndef MAX
 #define MAX(a,b) ((a)>(b)?(a):(b))
+#endif
 
 /* format read states */
 #define DP_S_DEFAULT 0
@@ -89,13 +92,13 @@ dopr_outch(char *buffer, size_t *currlen, size_t maxlen, int c);
 #define DP_S_DONE    7
 
 /* format flags - Bits */
-#define DP_F_MINUS     (1 << 0)
-#define DP_F_PLUS      (1 << 1)
-#define DP_F_SPACE     (1 << 2)
-#define DP_F_NUM       (1 << 3)
-#define DP_F_ZERO      (1 << 4)
-#define DP_F_UP                (1 << 5)
-#define DP_F_UNSIGNED  (1 << 6)
+#define DP_F_MINUS      (1 << 0)
+#define DP_F_PLUS       (1 << 1)
+#define DP_F_SPACE      (1 << 2)
+#define DP_F_NUM        (1 << 3)
+#define DP_F_ZERO       (1 << 4)
+#define DP_F_UP         (1 << 5)
+#define DP_F_UNSIGNED   (1 << 6)
 
 /* Conversion Flags */
 #define DP_C_SHORT     1
@@ -103,8 +106,8 @@ dopr_outch(char *buffer, size_t *currlen, size_t maxlen, int c);
 #define DP_C_LDOUBLE   3
 #define DP_C_LONG_LONG 4
 
-#define char_to_int(p) (p - '0')
-#define abs_val(p)     (p < 0 ? -p : p)
+#define char_to_int(p)  (p - '0')
+#define abs_val(p)      (p < 0 ? -p : p)
 
 static const char digitval[] = "0123456789abcdef0123456789ABCDEF";
 
@@ -126,265 +129,265 @@ dopr(char *buffer, size_t maxlen, const char *format, va_list args, prfun outch)
 
     while (state != DP_S_DONE)
     {
-       if ((ch == '\0') || (currlen >= maxlen)) 
-           state = DP_S_DONE;
-
-       switch (state)
-       {
-       case DP_S_DEFAULT:
-           if (ch == '%') 
-               state = DP_S_FLAGS;
-           else 
-               outch(buffer, &currlen, maxlen, ch);
-           ch = *format++;
-           break;
-       case DP_S_FLAGS:
-           switch (ch)
-           {
-           case '-':
-               flags |= DP_F_MINUS;
-               ch = *format++;
-               break;
-           case '+':
-               flags |= DP_F_PLUS;
-               ch = *format++;
-               break;
-           case ' ':
-               flags |= DP_F_SPACE;
-               ch = *format++;
-               break;
-           case '#':
-               flags |= DP_F_NUM;
-               ch = *format++;
-               break;
-           case '0':
-               flags |= DP_F_ZERO;
-               ch = *format++;
-               break;
-           default:
-               state = DP_S_MIN;
-               break;
-           }
-           break;
-       case DP_S_MIN:
-           if (isdigit((unsigned char)ch))
-           {
-               min = 10*min + char_to_int(ch);
-               ch = *format++;
-           }
-           else if (ch == '*')
-           {
-               min = va_arg(args, int);
-               ch = *format++;
-               state = DP_S_DOT;
-           }
-           else 
-               state = DP_S_DOT;
-           break;
-       case DP_S_DOT:
-           if (ch == '.')
-           {
-               state = DP_S_MAX;
-               ch = *format++;
-           }
-           else 
-               state = DP_S_MOD;
-           break;
-       case DP_S_MAX:
-           if (isdigit((unsigned char)ch))
-           {
-               if (max < 0)
-                   max = 0;
-               max = 10*max + char_to_int(ch);
-               ch = *format++;
-           }
-           else if (ch == '*')
-           {
-               max = va_arg(args, int);
-               ch = *format++;
-               state = DP_S_MOD;
-           }
-           else 
-               state = DP_S_MOD;
-           break;
-       case DP_S_MOD:
-           switch (ch)
-           {
-           case 'h':
-               cflags = DP_C_SHORT;
-               ch = *format++;
-               break;
-           case 'l':
-               cflags = DP_C_LONG;
-               ch = *format++;
-               if (ch == 'l')
-               {
-                   cflags = DP_C_LONG_LONG;
-                   ch = *format++;
-               }
-               break;
-           case 'q':
-               cflags = DP_C_LONG_LONG;
-               ch = *format++;
-               break;
-           case 'L':
-               cflags = DP_C_LDOUBLE;
-               ch = *format++;
-               break;
-           default:
-               break;
-           }
-           state = DP_S_CONV;
-           break;
-       case DP_S_CONV:
-           switch (ch)
-           {
-           case 'b':
-               flags |= DP_F_UNSIGNED;
-               if (cflags == DP_C_SHORT) 
-                   value = va_arg(args, unsigned int);
-               else if (cflags == DP_C_LONG)
-                   value = va_arg(args, unsigned long int);
-               else if (cflags == DP_C_LONG_LONG)
-                   value = va_arg(args, UINT64);
-               else
-                   value = va_arg(args, unsigned int);
-               fmtint(buffer, &currlen, maxlen, value, 2, min, max, flags, outch);
-               break;
-           case 'd':
-           case 'i':
-               if (cflags == DP_C_SHORT) 
-                   value = va_arg(args, int);
-               else if (cflags == DP_C_LONG)
-                   value = va_arg(args, long int);
-               else if (cflags == DP_C_LONG_LONG)
-                   value = va_arg(args, INT64);
-               else
-                   value = va_arg(args, int);
-               fmtint(buffer, &currlen, maxlen, value, 10, min, max, flags, outch);
-               break;
-           case 'o':
-               flags |= DP_F_UNSIGNED;
-               if (cflags == DP_C_SHORT)
-                   value = va_arg(args, unsigned int);
-               else if (cflags == DP_C_LONG)
-                   value = va_arg(args, unsigned long int);
-               else if (cflags == DP_C_LONG_LONG)
-                   value = va_arg(args, UINT64);
-               else
-                   value = va_arg(args, unsigned int);
-               fmtint(buffer, &currlen, maxlen, value, 8, min, max, flags, outch);
-               break;
-           case 'u':
-               flags |= DP_F_UNSIGNED;
-               if (cflags == DP_C_SHORT)
-                   value = va_arg(args, unsigned int);
-               else if (cflags == DP_C_LONG)
-                   value = va_arg(args, unsigned long int);
-               else if (cflags == DP_C_LONG_LONG)
-                   value = va_arg(args, UINT64);
-               else
-                   value = va_arg(args, unsigned int);
-               fmtint(buffer, &currlen, maxlen, value, 10, min, max, flags, outch);
-               break;
-           case 'X':
-               flags |= DP_F_UP;
-           case 'x':
-               flags |= DP_F_UNSIGNED;
-               if (cflags == DP_C_SHORT)
-                   value = va_arg(args, unsigned int);
-               else if (cflags == DP_C_LONG)
-                   value = va_arg(args, unsigned long int);
-               else if (cflags == DP_C_LONG_LONG)
-                   value = va_arg(args, UINT64);
-               else
-                   value = va_arg(args, unsigned int);
-               fmtint(buffer, &currlen, maxlen, value, 16, min, max, flags, outch);
-               break;
-           case 'f':
-               if (cflags == DP_C_LDOUBLE)
-                   fvalue = va_arg(args, long double);
-               else
-                   fvalue = va_arg(args, double);
-               /* um, floating point? */
-               fmtfp(buffer, &currlen, maxlen, fvalue, min, max, flags, outch);
-               break;
-           case 'E':
-               flags |= DP_F_UP;
-           case 'e':
-               if (cflags == DP_C_LDOUBLE)
-                   fvalue = va_arg(args, long double);
-               else
-                   fvalue = va_arg(args, double);
-               break;
-           case 'G':
-               flags |= DP_F_UP;
-           case 'g':
-               if (cflags == DP_C_LDOUBLE)
-                   fvalue = va_arg(args, long double);
-               else
-                   fvalue = va_arg(args, double);
-               break;
-           case 'c':
-               outch(buffer, &currlen, maxlen, va_arg(args, int));
-               break;
-           case 's':
-               strvalue = va_arg(args, char *);
-               if (max < 0) 
-                   max = maxlen; /* ie, no max */
-               fmtstr(buffer, &currlen, maxlen, strvalue, flags, min, max, outch);
-               break;
-           case 'p':
-               strvalue = (char *) va_arg(args, void *);
-               flags |= DP_F_UNSIGNED;
-               fmtint(buffer, &currlen, maxlen, (long) strvalue, 16, min, max,
-                      flags, outch);
-               break;
-           case 'n':
-               if (cflags == DP_C_SHORT)
-               {
-                   short int *num;
-                   num = va_arg(args, short int *);
-                   *num = currlen;
-               }
-               else if (cflags == DP_C_LONG)
-               {
-                   long int *num;
-                   num = va_arg(args, long int *);
-                   *num = currlen;
-               }
-               else if (cflags == DP_C_LONG_LONG)
-               {
-                   INT64 *num;
-                   num = va_arg(args, INT64 *);
-                   *num = currlen;
-               }
-               else
-               {
-                   int *num;
-                   num = va_arg(args, int *);
-                   *num = currlen;
-               }
-               break;
-           case '%':
-               outch(buffer, &currlen, maxlen, ch);
-               break;
-           case 'w': /* not supported yet, treat as next char */
-               ch = *format++;
-               break;
-           default: /* Unknown, skip */
-               break;
-           }
-           ch = *format++;
-           state = DP_S_DEFAULT;
-           flags = cflags = min = 0;
-           max = -1;
-           break;
-       case DP_S_DONE:
-           break;
-       default: /* hmm? */
-           break; /* some picky compilers need this */
-       }
+        if ((ch == '\0') || (currlen >= maxlen)) 
+            state = DP_S_DONE;
+
+        switch (state)
+        {
+        case DP_S_DEFAULT:
+            if (ch == '%') 
+                state = DP_S_FLAGS;
+            else 
+                outch(buffer, &currlen, maxlen, ch);
+            ch = *format++;
+            break;
+        case DP_S_FLAGS:
+            switch (ch)
+            {
+            case '-':
+                flags |= DP_F_MINUS;
+                ch = *format++;
+                break;
+            case '+':
+                flags |= DP_F_PLUS;
+                ch = *format++;
+                break;
+            case ' ':
+                flags |= DP_F_SPACE;
+                ch = *format++;
+                break;
+            case '#':
+                flags |= DP_F_NUM;
+                ch = *format++;
+                break;
+            case '0':
+                flags |= DP_F_ZERO;
+                ch = *format++;
+                break;
+            default:
+                state = DP_S_MIN;
+                break;
+            }
+            break;
+        case DP_S_MIN:
+            if (isdigit((unsigned char)ch))
+            {
+                min = 10*min + char_to_int(ch);
+                ch = *format++;
+            }
+            else if (ch == '*')
+            {
+                min = va_arg(args, int);
+                ch = *format++;
+                state = DP_S_DOT;
+            }
+            else 
+                state = DP_S_DOT;
+            break;
+        case DP_S_DOT:
+            if (ch == '.')
+            {
+                state = DP_S_MAX;
+                ch = *format++;
+            }
+            else 
+                state = DP_S_MOD;
+            break;
+        case DP_S_MAX:
+            if (isdigit((unsigned char)ch))
+            {
+                if (max < 0)
+                    max = 0;
+                max = 10*max + char_to_int(ch);
+                ch = *format++;
+            }
+            else if (ch == '*')
+            {
+                max = va_arg(args, int);
+                ch = *format++;
+                state = DP_S_MOD;
+            }
+            else 
+                state = DP_S_MOD;
+            break;
+        case DP_S_MOD:
+            switch (ch)
+            {
+            case 'h':
+                cflags = DP_C_SHORT;
+                ch = *format++;
+                break;
+            case 'l':
+                cflags = DP_C_LONG;
+                ch = *format++;
+                if (ch == 'l')
+                {
+                    cflags = DP_C_LONG_LONG;
+                    ch = *format++;
+                }
+                break;
+            case 'q':
+                cflags = DP_C_LONG_LONG;
+                ch = *format++;
+                break;
+            case 'L':
+                cflags = DP_C_LDOUBLE;
+                ch = *format++;
+                break;
+            default:
+                break;
+            }
+            state = DP_S_CONV;
+            break;
+        case DP_S_CONV:
+            switch (ch)
+            {
+            case 'b':
+                flags |= DP_F_UNSIGNED;
+                if (cflags == DP_C_SHORT) 
+                    value = va_arg(args, unsigned int);
+                else if (cflags == DP_C_LONG)
+                    value = va_arg(args, unsigned long int);
+                else if (cflags == DP_C_LONG_LONG)
+                    value = va_arg(args, UINT64);
+                else
+                    value = va_arg(args, unsigned int);
+                fmtint(buffer, &currlen, maxlen, value, 2, min, max, flags, outch);
+                break;
+            case 'd':
+            case 'i':
+                if (cflags == DP_C_SHORT) 
+                    value = va_arg(args, int);
+                else if (cflags == DP_C_LONG)
+                    value = va_arg(args, long int);
+                else if (cflags == DP_C_LONG_LONG)
+                    value = va_arg(args, INT64);
+                else
+                    value = va_arg(args, int);
+                fmtint(buffer, &currlen, maxlen, value, 10, min, max, flags, outch);
+                break;
+            case 'o':
+                flags |= DP_F_UNSIGNED;
+                if (cflags == DP_C_SHORT)
+                    value = va_arg(args, unsigned int);
+                else if (cflags == DP_C_LONG)
+                    value = va_arg(args, unsigned long int);
+                else if (cflags == DP_C_LONG_LONG)
+                    value = va_arg(args, UINT64);
+                else
+                    value = va_arg(args, unsigned int);
+                fmtint(buffer, &currlen, maxlen, value, 8, min, max, flags, outch);
+                break;
+            case 'u':
+                flags |= DP_F_UNSIGNED;
+                if (cflags == DP_C_SHORT)
+                    value = va_arg(args, unsigned int);
+                else if (cflags == DP_C_LONG)
+                    value = va_arg(args, unsigned long int);
+                else if (cflags == DP_C_LONG_LONG)
+                    value = va_arg(args, UINT64);
+                else
+                    value = va_arg(args, unsigned int);
+                fmtint(buffer, &currlen, maxlen, value, 10, min, max, flags, outch);
+                break;
+            case 'X':
+                flags |= DP_F_UP;
+            case 'x':
+                flags |= DP_F_UNSIGNED;
+                if (cflags == DP_C_SHORT)
+                    value = va_arg(args, unsigned int);
+                else if (cflags == DP_C_LONG)
+                    value = va_arg(args, unsigned long int);
+                else if (cflags == DP_C_LONG_LONG)
+                    value = va_arg(args, UINT64);
+                else
+                    value = va_arg(args, unsigned int);
+                fmtint(buffer, &currlen, maxlen, value, 16, min, max, flags, outch);
+                break;
+            case 'f':
+                if (cflags == DP_C_LDOUBLE)
+                    fvalue = va_arg(args, long double);
+                else
+                    fvalue = va_arg(args, double);
+                /* um, floating point? */
+                fmtfp(buffer, &currlen, maxlen, fvalue, min, max, flags, outch);
+                break;
+            case 'E':
+                flags |= DP_F_UP;
+            case 'e':
+                if (cflags == DP_C_LDOUBLE)
+                    fvalue = va_arg(args, long double);
+                else
+                    fvalue = va_arg(args, double);
+                break;
+            case 'G':
+                flags |= DP_F_UP;
+            case 'g':
+                if (cflags == DP_C_LDOUBLE)
+                    fvalue = va_arg(args, long double);
+                else
+                    fvalue = va_arg(args, double);
+                break;
+            case 'c':
+                outch(buffer, &currlen, maxlen, va_arg(args, int));
+                break;
+            case 's':
+                strvalue = va_arg(args, char *);
+                if (max < 0) 
+                    max = maxlen; /* ie, no max */
+                fmtstr(buffer, &currlen, maxlen, strvalue, flags, min, max, outch);
+                break;
+            case 'p':
+                strvalue = (char *) va_arg(args, void *);
+                flags |= DP_F_UNSIGNED;
+                fmtint(buffer, &currlen, maxlen, (long) strvalue, 16, min, max,
+                       flags, outch);
+                break;
+            case 'n':
+                if (cflags == DP_C_SHORT)
+                {
+                    short int *num;
+                    num = va_arg(args, short int *);
+                    *num = currlen;
+                }
+                else if (cflags == DP_C_LONG)
+                {
+                    long int *num;
+                    num = va_arg(args, long int *);
+                    *num = currlen;
+                }
+                else if (cflags == DP_C_LONG_LONG)
+                {
+                    INT64 *num;
+                    num = va_arg(args, INT64 *);
+                    *num = currlen;
+                }
+                else
+                {
+                    int *num;
+                    num = va_arg(args, int *);
+                    *num = currlen;
+                }
+                break;
+            case '%':
+                outch(buffer, &currlen, maxlen, ch);
+                break;
+            case 'w': /* not supported yet, treat as next char */
+                ch = *format++;
+                break;
+            default: /* Unknown, skip */
+                break;
+            }
+            ch = *format++;
+            state = DP_S_DEFAULT;
+            flags = cflags = min = 0;
+            max = -1;
+            break;
+        case DP_S_DONE:
+            break;
+        default: /* hmm? */
+            break; /* some picky compilers need this */
+        }
     }
     outch(buffer, &currlen, maxlen, -1);
     return currlen;
@@ -394,35 +397,35 @@ static void
 fmtstr(char *buffer, size_t *currlen, size_t maxlen, 
        char *value, int flags, int min, int max, prfun outch)
 {
-    int padlen, strln;    /* amount to pad */
+    int padlen, strln;     /* amount to pad */
     int cnt = 0;
   
     if (value == NULL) 
-       value = "<NULL>";
+        value = "<NULL>";
 
     for (strln = 0; value[strln]; ++strln); /* strlen */
     padlen = min - strln;
     if (padlen < 0) 
-       padlen = 0;
+        padlen = 0;
     if (flags & DP_F_MINUS) 
-       padlen = -padlen; /* Left Justify */
+        padlen = -padlen; /* Left Justify */
 
     while ((padlen > 0) && (cnt < max))
     {
-       outch(buffer, currlen, maxlen, ' ');
-       --padlen;
-       ++cnt;
+        outch(buffer, currlen, maxlen, ' ');
+        --padlen;
+        ++cnt;
     }
     while (*value && (cnt < max))
     {
-       outch(buffer, currlen, maxlen, *value++);
-       ++cnt;
+        outch(buffer, currlen, maxlen, *value++);
+        ++cnt;
     }
     while ((padlen < 0) && (cnt < max))
     {
-       outch(buffer, currlen, maxlen, ' ');
-       ++padlen;
-       ++cnt;
+        outch(buffer, currlen, maxlen, ' ');
+        ++padlen;
+        ++cnt;
     }
 }
 
@@ -441,34 +444,34 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen,
     int caps = 0;
     
     if (max < 0)
-       max = 0;
+        max = 0;
     
     uvalue = value;
 
     if (!(flags & DP_F_UNSIGNED))
     {
-       if (value < 0)
-       {
-           signvalue = '-';
-           uvalue = -value;
-       }
-       else if (flags & DP_F_PLUS)  /* Do a sign(+/i) */
-           signvalue = '+';
-       else if (flags & DP_F_SPACE)
-           signvalue = ' ';
+        if (value < 0)
+        {
+            signvalue = '-';
+            uvalue = -value;
+        }
+        else if (flags & DP_F_PLUS)  /* Do a sign(+/i) */
+            signvalue = '+';
+        else if (flags & DP_F_SPACE)
+            signvalue = ' ';
     }
   
     if (flags & DP_F_UP) 
-       caps = 16; /* Should characters be upper case? */
+        caps = 16; /* Should characters be upper case? */
 
     do
     {
-       convert[place++] = digitval[(uvalue%base)+caps];
-       uvalue = (uvalue / (unsigned)base);
+        convert[place++] = digitval[(uvalue%base)+caps];
+        uvalue = (uvalue / (unsigned)base);
     } while (uvalue && (place < 20));
 
     if (place == 20) 
-       place--;
+        place--;
 
     convert[place] = 0;
 
@@ -476,48 +479,48 @@ fmtint(char *buffer, size_t *currlen, size_t maxlen,
     spadlen = min - MAX(max, place) - (signvalue ? 1 : 0);
 
     if (zpadlen < 0)
-       zpadlen = 0;
+        zpadlen = 0;
     if (spadlen < 0)
-       spadlen = 0;
+        spadlen = 0;
     if (flags & DP_F_ZERO)
     {
-       zpadlen = MAX(zpadlen, spadlen);
-       spadlen = 0;
+        zpadlen = MAX(zpadlen, spadlen);
+        spadlen = 0;
     }
     if (flags & DP_F_MINUS) 
-       spadlen = -spadlen; /* Left Justifty */
+        spadlen = -spadlen; /* Left Justifty */
 
 
     /* Spaces */
     while (spadlen > 0)
     {
-       outch(buffer, currlen, maxlen, ' ');
-       --spadlen;
+        outch(buffer, currlen, maxlen, ' ');
+        --spadlen;
     }
 
     /* Sign */
     if (signvalue) 
-       outch(buffer, currlen, maxlen, signvalue);
+        outch(buffer, currlen, maxlen, signvalue);
 
     /* Zeros */
     if (zpadlen > 0)
     {
-       while (zpadlen > 0)
-       {
-           outch(buffer, currlen, maxlen, '0');
-           --zpadlen;
-       }
+        while (zpadlen > 0)
+        {
+            outch(buffer, currlen, maxlen, '0');
+            --zpadlen;
+        }
     }
 
     /* Digits */
     while (place > 0) 
-       outch(buffer, currlen, maxlen, convert[--place]);
+        outch(buffer, currlen, maxlen, convert[--place]);
   
     /* Left Justified spaces */
     while (spadlen < 0)
     {
-       outch(buffer, currlen, maxlen, ' ');
-       ++spadlen;
+        outch(buffer, currlen, maxlen, ' ');
+        ++spadlen;
     }
 }
 
@@ -528,8 +531,8 @@ pow10(int exp)
 
     while (exp)
     {
-       result *= 10;
-       exp--;
+        result *= 10;
+        exp--;
     }
   
     return result;
@@ -542,7 +545,7 @@ round(long double value)
 
     value -= intpart;
     if (value >= 0.5)
-       intpart++;
+        intpart++;
 
     return intpart;
 }
@@ -567,16 +570,16 @@ fmtfp(char *buffer, size_t *currlen, size_t maxlen, long double fvalue,
      * is 6, and sprintf on AIX defaults to 6
      */
     if (max < 0)
-       max = 6;
+        max = 6;
 
     ufvalue = abs_val(fvalue);
 
     if (fvalue < 0)
-       signvalue = '-';
-    else if (flags & DP_F_PLUS)         /* Do a sign(+/i) */
-       signvalue = '+';
+        signvalue = '-';
+    else if (flags & DP_F_PLUS)  /* Do a sign(+/i) */
+        signvalue = '+';
     else if (flags & DP_F_SPACE)
-       signvalue = ' ';
+        signvalue = ' ';
 
     intpart = (long)ufvalue;
 
@@ -585,7 +588,7 @@ fmtfp(char *buffer, size_t *currlen, size_t maxlen, long double fvalue,
      * conversion method
      */
     if (max > 9)
-       max = 9;
+        max = 9;
 
     /* We "cheat" by converting the fractional part to integer by
      * multiplying by a factor of 10
@@ -594,31 +597,31 @@ fmtfp(char *buffer, size_t *currlen, size_t maxlen, long double fvalue,
 
     if (fracpart >= pow10 (max))
     {
-       intpart++;
-       fracpart -= (long)pow10 (max);
+        intpart++;
+        fracpart -= (long)pow10 (max);
     }
 
     /* Convert integer part */
     do
     {
-       iconvert[iplace++] = digitval[intpart % 10];
-       intpart = (intpart / 10);
+        iconvert[iplace++] = digitval[intpart % 10];
+        intpart = (intpart / 10);
     } while (intpart && (iplace < 20));
 
     if (iplace == 20) 
-       iplace--;
+        iplace--;
 
     iconvert[iplace] = 0;
 
     /* Convert fractional part */
     do
     {
-       fconvert[fplace++] = digitval[fracpart % 10];
-       fracpart = (fracpart / 10);
+        fconvert[fplace++] = digitval[fracpart % 10];
+        fracpart = (fracpart / 10);
     } while (fracpart && (fplace < 20));
 
     if (fplace == 20) 
-       fplace--;
+        fplace--;
 
     fconvert[fplace] = 0;
 
@@ -626,38 +629,38 @@ fmtfp(char *buffer, size_t *currlen, size_t maxlen, long double fvalue,
     padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); 
     zpadlen = max - fplace;
     if (zpadlen < 0)
-       zpadlen = 0;
+        zpadlen = 0;
     if (padlen < 0) 
-       padlen = 0;
+        padlen = 0;
     if (flags & DP_F_MINUS) 
-       padlen = -padlen; /* Left Justifty */
+        padlen = -padlen; /* Left Justifty */
 
     if ((flags & DP_F_ZERO) && (padlen > 0))
     {
-       if (signvalue)
-       {
-           outch(buffer, currlen, maxlen, signvalue);
-           --padlen;
-           signvalue = 0;
-       }
-       while (padlen > 0)
-       {
-           outch(buffer, currlen, maxlen, '0');
-           --padlen;
-       }
+        if (signvalue)
+        {
+            outch(buffer, currlen, maxlen, signvalue);
+            --padlen;
+            signvalue = 0;
+        }
+        while (padlen > 0)
+        {
+            outch(buffer, currlen, maxlen, '0');
+            --padlen;
+        }
     }
 
     while (padlen > 0)
     {
-       outch(buffer, currlen, maxlen, ' ');
-       --padlen;
+        outch(buffer, currlen, maxlen, ' ');
+        --padlen;
     }
 
     if (signvalue) 
-       outch(buffer, currlen, maxlen, signvalue);
+        outch(buffer, currlen, maxlen, signvalue);
 
     while (iplace > 0) 
-       outch(buffer, currlen, maxlen, iconvert[--iplace]);
+        outch(buffer, currlen, maxlen, iconvert[--iplace]);
 
     /*
      * Decimal point.  This should probably use locale to find the correct
@@ -666,18 +669,18 @@ fmtfp(char *buffer, size_t *currlen, size_t maxlen, long double fvalue,
     outch(buffer, currlen, maxlen, '.');
 
     while (fplace > 0) 
-       outch(buffer, currlen, maxlen, fconvert[--fplace]);
+        outch(buffer, currlen, maxlen, fconvert[--fplace]);
 
     while (zpadlen > 0)
     {
-       outch(buffer, currlen, maxlen, '0');
-       --zpadlen;
+        outch(buffer, currlen, maxlen, '0');
+        --zpadlen;
     }
 
     while (padlen < 0)
     {
-       outch(buffer, currlen, maxlen, ' ');
-       ++padlen;
+        outch(buffer, currlen, maxlen, ' ');
+        ++padlen;
     }
 }
 
@@ -686,13 +689,13 @@ dopr_outch(char *buffer, size_t *currlen, size_t maxlen, int c)
 {
     if (c == -1)
     {
-       if (*currlen < maxlen - 1) 
-           buffer[*currlen] = '\0';
-       else 
-           buffer[maxlen - 1] = '\0';
+        if (*currlen < maxlen - 1) 
+            buffer[*currlen] = '\0';
+        else 
+            buffer[maxlen - 1] = '\0';
     }
     else if (*currlen < maxlen)
-       buffer[(*currlen)++] = c;
+        buffer[(*currlen)++] = c;
 }
 
 int
@@ -733,4 +736,3 @@ __vsnprintf(char *s, size_t count, const char *format, va_list args)
     s[0] = 0;
     return dopr(s, count, format, args, dopr_outch);
 }
-
index cba282e7932580b968880f95df0049bae77771a3..7273fef6deb36f7cc1a92fe89da75db00128bbff 100644 (file)
@@ -1,5 +1 @@
-#ifndef HAVE_MINGW
 #include "compat.h"
-#else
-#include_next <sys/stat.h>
-#endif
index 5151da8db95cacb04ce9fb0907726f4ac8b2186c..bddb856f5fe39c12f06b749657c09a735bf74445 100644 (file)
@@ -22,8 +22,8 @@
 
 
 #ifdef WIN32_VSS
-#include "compat.h"
 #include "bacula.h"
+#include "compat.h"
 
 #include "ms_atl.h"
 #include <objbase.h>