1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

smb.h: add one error code for no such printer job

libsmbclient.c: fix problems with return codes on smbc_unlink_print_job
(This used to be commit 7557f9145c)
This commit is contained in:
Richard Sharpe 2001-03-05 13:34:48 +00:00
parent e2e56e84f0
commit 134c0d27cc
2 changed files with 29 additions and 3 deletions

View File

@ -174,6 +174,7 @@ implemented */
#define ERRbaddirectory 267 /* Invalid directory name in a path. */
#define ERRunknownipc 2142
#define ERRbuftoosmall 2123
#define ERRnosuchprintjob 2151
#define ERROR_SUCCESS (0)
#define ERROR_INVALID_FUNCTION (1)

View File

@ -851,8 +851,9 @@ int smbc_unlink(const char *fname)
return -1;
}
if (cli_printjob_del(&srv->cli, job) != 0) {
if ((err = cli_printjob_del(&srv->cli, job)) != 0) {
return -1;
}
@ -2102,6 +2103,7 @@ off_t smbc_telldir(int fd)
int smbc_lseekdir(int fd, off_t offset, int whence)
{
struct smbc_file *fe;
if (!smbc_initialized) {
@ -2117,6 +2119,24 @@ int smbc_lseekdir(int fd, off_t offset, int whence)
}
fe = smbc_file_table[fd - smbc_start_fd];
if (!fe) {
errno = EBADF;
return -1;
}
if (fe->file != False) { /* FIXME, should be dir, perhaps */
errno = ENOTDIR;
return -1;
}
/* Now, check what we were passed and see if it is OK ... */
return ENOSYS; /* Not implemented so far ... */
}
@ -2309,6 +2329,7 @@ int smbc_unlink_print_job(const char *fname, int id)
struct smbc_server *srv;
fstring server, share, user, password;
pstring path;
int err;
if (!smbc_initialized) {
@ -2338,11 +2359,15 @@ int smbc_unlink_print_job(const char *fname, int id)
}
if (cli_printjob_del(&srv->cli, id) < 0) {
if ((err = cli_printjob_del(&srv->cli, id)) != 0) {
errno = smbc_errno(&srv->cli);
if (err < 0)
errno = smbc_errno(&srv->cli);
else if (err == ERRnosuchprintjob)
errno = EINVAL;
return -1;
}
return 0;