Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / lib / DtSearch / raima / dbtaf.c
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: dbtaf.c /main/3 1996/05/09 04:03:32 drk $ */
24 /*
25  *   COMPONENT_NAME: austext
26  *
27  *   FUNCTIONS: d_dbtaf
28  *
29  *   ORIGINS: 157
30  *
31  *   OBJECT CODE ONLY SOURCE MATERIALS
32  */
33 /*-----------------------------------------------------------------------
34    dbtaf.c -- db_VISTA transaction activity filename/path set module.
35
36    (C) Copyright 1987 by Raima Corporation.
37 -----------------------------------------------------------------------*/
38
39 /* ********************** EDIT HISTORY *******************************
40
41  SCR    DATE    INI                   DESCRIPTION
42 ----- --------- --- -----------------------------------------------------
43       04-Aug-88 RTK MULTI_TASK changes
44       05-May-89 WLW Added TASK_PARM for multi-tasking
45 */
46
47 #include <stdio.h>
48 #include "vista.h"
49 #include "dbtype.h"
50
51 static char VISTATAF[] = "vista.taf";
52
53 /* Set database transaction activity file name/path
54 */
55 d_dbtaf(taf TASK_PARM)
56 CONST char FAR *taf;
57 TASK_DECL
58 {
59    char dbtaf[FILENMLEN];
60    int len;
61
62    DB_ENTER(NO_DB_ID TASK_ID LOCK_SET(LOCK_NONE));
63    if (dbopen)
64       dberr(S_DBOPEN);
65    else {
66       len = strlen(taf);
67       if (len > (FILENMLEN - 1)) {
68          strncpy(dbtaf, taf, FILENMLEN - 1);
69          dbtaf[FILENMLEN - 1] = '\0';
70       }
71       else if (taf[len - 1] == DIRCHAR) {
72          if (len > (FILENMLEN - sizeof(VISTATAF))) {
73             strncpy(dbtaf, taf, FILENMLEN - sizeof(VISTATAF) - 1);
74             dbtaf[(len = (FILENMLEN - sizeof(VISTATAF))) - 1] = DIRCHAR;
75          }
76          else
77             strcpy(dbtaf, taf);
78          strcpy(&dbtaf[len], VISTATAF);
79       }
80       else
81          strcpy(dbtaf, taf);
82       db_status = S_OKAY;
83    }
84    RETURN (db_status = S_OKAY);
85 }
86 /* vpp -nOS2 -dUNIX -nBSD -nVANILLA_BSD -nVMS -nMEMLOCK -nWINDOWS -nFAR_ALLOC -f/usr/users/master/config/nonwin dbtaf.c */