#include "system.h"
+#include "basename.h"
+#include "safe-read.h"
+
/* Try hard to get EOPNOTSUPP defined. 486/ISC has it in net/errno.h,
3B2/SVR3 has it in sys/inet.h. Otherwise, like on MSDOS, use EINVAL. */
counter < COMMAND_BUFFER_SIZE;
counter++, cursor++)
{
- if (full_read (READ_SIDE (handle), cursor, 1) != 1)
+ if (safe_read (READ_SIDE (handle), cursor, 1) != 1)
{
_rmt_shutdown (handle, EIO);
return 0;
{
char character;
- while (full_read (READ_SIDE (handle), &character, 1) == 1)
+ while (safe_read (READ_SIDE (handle), &character, 1) == 1)
if (character == '\n')
break;
}
return -1;
#endif
}
- remote_shell_basename = strrchr (remote_shell, '/');
+ remote_shell_basename = base_name (remote_shell);
if (remote_shell_basename)
remote_shell_basename++;
else
for (counter = 0; counter < status; counter += rlen, buffer += rlen)
{
- rlen = full_read (READ_SIDE (handle), buffer, status - counter);
+ rlen = safe_read (READ_SIDE (handle), buffer, status - counter);
if (rlen <= 0)
{
_rmt_shutdown (handle, EIO);
if (offset < 0)
*--p = '-';
+ switch (whence)
+ {
+ case SEEK_SET: whence = 0; break;
+ case SEEK_CUR: whence = 1; break;
+ case SEEK_END: whence = 2; break;
+ default: abort ();
+ }
+
sprintf (command_buffer, "L%s\n%d\n", p, whence);
if (do_command (handle, command_buffer) == -1)
for (; status > 0; status -= counter, argument += counter)
{
- counter = full_read (READ_SIDE (handle),
+ counter = safe_read (READ_SIDE (handle),
argument, (size_t) status);
if (counter <= 0)
{