diff options
-rw-r--r-- | mtasim/mtasim.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/mtasim/mtasim.c b/mtasim/mtasim.c index 6804d461..208044d1 100644 --- a/mtasim/mtasim.c +++ b/mtasim/mtasim.c @@ -1186,7 +1186,7 @@ _def_strerror (int rc) static int _def_write (void *sd, char *data, size_t size, size_t * nbytes) { - int n = write ((int) sd, data, size); + int n = write (*(int*) sd, data, size); if (n != size) return errno; if (nbytes) @@ -1197,7 +1197,7 @@ _def_write (void *sd, char *data, size_t size, size_t * nbytes) static int _def_read (void *sd, char *data, size_t size, size_t * nbytes) { - int n = read ((int) sd, data, size); + int n = read (*(int*) sd, data, size); if (n && n != size) return errno; if (nbytes) @@ -1208,7 +1208,7 @@ _def_read (void *sd, char *data, size_t size, size_t * nbytes) static int _def_close (void *sd) { - return close ((int) sd); + return close (*(int*) sd); } int (*_mta_read) (void *, char *, size_t, size_t *) = _def_read; @@ -2499,7 +2499,7 @@ mta_daemon () return 1; } - in = out = (void *) fd; + in = out = &fd; smtp (); break; } @@ -2510,8 +2510,9 @@ mta_daemon () int mta_stdio () { - in = (void *) fileno (stdin); - out = (void *) fileno (stdout); + int ifd = fileno (stdin), ofd = fileno (stdout); + in = &ifd; + out = &ofd; smtp (); return 0; } |