diff --git a/src/client/main.c b/src/client/main.c index 0f7d525c4b769e315b6ed3ac39e3277f137b1a09..83c66e27cba02db724b19c983d9038b2033d2d2c 100644 --- a/src/client/main.c +++ b/src/client/main.c @@ -816,10 +816,10 @@ int main(int argc, char *argv[]) if( j > 1 ) { printf("%i items dispensed\n", j); } + Dispense_ShowUser(sock, gsUserName); close(sock); - } - Dispense_ShowUser(sock, gsUserName); + } return ret; } diff --git a/src/server/dispense.c b/src/server/dispense.c index c3426fd718a59104d00fa94869281f989cb77313..15962a3e36f3544a97d7be6d0c120a08c5fd19be 100644 --- a/src/server/dispense.c +++ b/src/server/dispense.c @@ -120,6 +120,10 @@ int DispenseGive(int ActualUser, int SrcUser, int DestUser, int Ammount, const c char *actualUsername; char *srcName, *dstName; + // HACK: Naming a slot "dead" disables it (catch for snack) + if( strcmp(ReasonGiven, "dead") == 0 ) + return 1; + if( Ammount < 0 ) return 1; // Um... negative give? Not on my watch! ret = _Transfer( SrcUser, DestUser, Ammount, ReasonGiven ); diff --git a/src/server/server.c b/src/server/server.c index 483806ab41f7d8d032fd50cdfad2282f28a98429..9ee4ec7f6349d81ad595b5209d0fe8dfbe31f6cd 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -164,9 +164,15 @@ void Server_Start(void) } // In child // - Sort out stdin/stdout + #if 0 dup2( open("/dev/null", O_RDONLY, 0644), STDIN_FILENO ); dup2( open(gsServer_LogFile, O_CREAT|O_APPEND, 0644), STDOUT_FILENO ); dup2( open(gsServer_ErrorLog, O_CREAT|O_APPEND, 0644), STDERR_FILENO ); + #else + freopen("/dev/null", "r", stdin); + freopen(gsServer_LogFile, "a", stdout); + freopen(gsServer_ErrorLog, "a", stderr); + #endif } // Start the helper thread