diff --git a/.gitattributes b/.gitattributes index 1c7c6a093c865460ffdd6b19e872e18fbd4ad7af..fd97dd4fc1c8cbe1c45be4deec5ea71a5e731b79 100644 --- a/.gitattributes +++ b/.gitattributes @@ -399,6 +399,7 @@ testfont binary /src/modules/files/file.c foreign_ident /src/modules/files/file.h foreign_ident /src/modules/files/sendfile.c foreign_ident +/src/modules/files/sendfiletest.pike foreign_ident /src/modules/files/socket.c foreign_ident /src/modules/files/socktest.pike foreign_ident /src/modules/files/termios.c foreign_ident diff --git a/src/modules/files/sendfiletest.pike b/src/modules/files/sendfiletest.pike new file mode 100644 index 0000000000000000000000000000000000000000..4658817f656031385d910d92a9590436250fe45f --- /dev/null +++ b/src/modules/files/sendfiletest.pike @@ -0,0 +1,37 @@ +#!/usr/local/bin/pike + +/* $Id: sendfiletest.pike,v 1.1 1999/10/14 20:52:01 grubba Exp $ */ + +void done(int sent) +{ + rm("conftest.Makefile"); + exit(0); +} + +int main(int argc, array(string) argv) +{ + object from = Stdio.File(); + object to = Stdio.File(); + + if (!from->open("Makefile", "r")) { + werror("Failed to open \"Makefile\" for reading!\n"); + exit(1); + } + if (!from->open("conftest.Makefile", "cwt")) { + werror("Failed to open \"conftest.Makefile\" for writing!\n"); + exit(1); + } + mixed err = catch { + if (!Stdio.sendfile(0, from, 0, -1, 0, to, done)) { + werror("Stdio,sendfile() failed!\n"); + exit(1); + } + return(-1); + }; + catch { + werror("Stdio.sendfile() failed!\n" + "%s\n", + describe_backtrace(err)); + }; + exit(1); +}