diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2015-05-25 17:55:41 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2015-05-25 17:55:41 +0200 |
commit | 66079abd1083a00f165b8fc62eec885f872b903c (patch) | |
tree | 59ea7cba7e00a5c8e793a8e870961b922a900ea8 /src/worker.c | |
parent | 1c0c08414529cc10c45cd34a1a5188970c98a892 (diff) | |
download | biruda-66079abd1083a00f165b8fc62eec885f872b903c.tar.gz biruda-66079abd1083a00f165b8fc62eec885f872b903c.tar.bz2 |
various fixes on Windows
Diffstat (limited to 'src/worker.c')
-rw-r--r-- | src/worker.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/worker.c b/src/worker.c index 17c7f5e..7529394 100644 --- a/src/worker.c +++ b/src/worker.c @@ -11,7 +11,9 @@ #include <stdio.h> #include <string.h> +#ifndef _WIN32 #include <strings.h> +#endif #include <stdlib.h> #include <ctype.h> @@ -263,11 +265,11 @@ static char *expand_system_variables( const char *s ) size_t r_size = strlen( s ) * 2; char *r = (char *)malloc( r_size ); char *d = r; - enum { COPYING, DOLLAR, OPEN_BRACE, VARIABLE, CLOSE_BRACE, ERROR } state = COPYING; + enum { COPYING, DOLLAR, OPEN_BRACE, VARIABLE, CLOSE_BRACE, _ERROR } state = COPYING; const char *var = NULL; const char *p = s; - while( state != ERROR && *p != '\0' && d - r < r_size - 1 ) { + while( state != _ERROR && *p != '\0' && d - r < r_size - 1 ) { switch( state ) { case COPYING: if( *p == '$' ) { @@ -286,14 +288,14 @@ static char *expand_system_variables( const char *s ) p++; } else { fprintf( stderr, "ERROR: Unexpected '{' at position %d in '%s'\n", (int)( p - s ), s ); - state = ERROR; + state = _ERROR; } break; case OPEN_BRACE: if( *p == '}' ) { fprintf( stderr, "ERROR: Empty variable declaration '${}' at position %d in '%s'\n", (int)( p - s ), s ); - state = ERROR; + state = _ERROR; p++; } else if( isalpha( *p ) ) { // ok, part of variable name @@ -302,7 +304,7 @@ static char *expand_system_variables( const char *s ) p++; } else { fprintf( stderr, "ERROR: Illegal character '%c' at position %d in variable in '%s'\n", *p, (int)( p - s ), s ); - state = ERROR; + state = _ERROR; } break; @@ -314,7 +316,7 @@ static char *expand_system_variables( const char *s ) p++; } else { fprintf( stderr, "ERROR: Illegal character '%c' at position %d in variable in '%s'\n", *p, (int)( p - s ), s ); - state = ERROR; + state = _ERROR; } break; @@ -346,12 +348,12 @@ static char *expand_system_variables( const char *s ) state = COPYING; } else { fprintf( stderr, "ERROR: Unknown variable '${%*s}' at position %d in '%s'\n", (int)( p-var ), var, (int)( p - s ), s ); - state = ERROR; + state = _ERROR; } p++; break; - case ERROR: + case _ERROR: default: break; } @@ -360,7 +362,7 @@ static char *expand_system_variables( const char *s ) if( d - r >= r_size - 1 ) { fprintf( stderr, "ERROR: out of memory while substituting variables in '%s'\n", s ); - state = ERROR; + state = _ERROR; } switch( state ) { @@ -378,7 +380,7 @@ static char *expand_system_variables( const char *s ) fprintf( stderr, "ERROR: illegal state while parsing command '%s'\n", s ); break; - case ERROR: + case _ERROR: return NULL; } |