mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +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:
parent
e2e56e84f0
commit
134c0d27cc
@ -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)
|
||||
|
@ -851,7 +851,8 @@ 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) {
|
||||
|
||||
if (err < 0)
|
||||
errno = smbc_errno(&srv->cli);
|
||||
else if (err == ERRnosuchprintjob)
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user