]> andersk Git - moira.git/blame_incremental - lib/mr_access.c
Initial revision
[moira.git] / lib / mr_access.c
... / ...
CommitLineData
1/*
2 * $Source$
3 * $Author$
4 * $Header$
5 *
6 * Copyright (C) 1987, 1990 by the Massachusetts Institute of Technology
7 * For copying and distribution information, please see the file
8 * <mit-copyright.h>.
9 */
10
11#ifndef lint
12static char *rcsid_sms_access_c = "$Header$";
13#endif lint
14
15#include <mit-copyright.h>
16#include "mr_private.h"
17
18/*
19 * Check access to a named query.
20 */
21int mr_access(name, argc, argv)
22 char *name; /* Query name */
23 int argc; /* Arg count */
24 char **argv; /* Args */
25{
26 register char **nargv = (char **)malloc(sizeof(char *) * (argc+1));
27 register int status = 0;
28 nargv[0] = name;
29 bcopy((char *)argv, (char *)(nargv+1), sizeof(char *) * argc);
30 status = mr_access_internal(argc+1, nargv);
31 free(nargv);
32 return status;
33}
34/*
35 * Check access to a named query, where the query name is argv[0]
36 * and the arguments are the rest of argv[].
37 */
38int mr_access_internal(argc, argv)
39 int argc; /* Arg count */
40 char **argv; /* Args */
41{
42 int status;
43 mr_params params_st;
44 register mr_params *params = NULL;
45 mr_params *reply = NULL;
46
47 CHECK_CONNECTED;
48
49 params = &params_st;
50 params->mr_version_no = sending_version_no;
51 params->mr_procno = MR_ACCESS;
52 params->mr_argc = argc;
53 params->mr_argl = NULL;
54 params->mr_argv = argv;
55
56 if ((status = mr_do_call(params, &reply)) == 0)
57 status = reply->mr_status;
58
59 mr_destroy_reply(reply);
60
61 return status;
62}
This page took 0.035018 seconds and 5 git commands to generate.