update dev300-m58
[ooovba.git] / testshl2 / source / file.cxx
blob5d07e40b78b1161c983f80319303316e89a91ce7
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: file.cxx,v $
10 * $Revision: 1.6 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_testshl2.hxx"
34 #include <string.h>
35 #include <stdlib.h>
36 #include <stdio.h>
37 #include <string>
39 // -----------------------------------------------------------------------------
40 // taken from setup2
41 std::string getTempPath()
43 std::string sTempDir;
45 char* pTmp = getenv( "TEMP" );
46 if (pTmp == NULL) pTmp = getenv("temp");
47 if (pTmp == NULL) pTmp = getenv("TMP");
48 if (pTmp == NULL) pTmp = getenv("tmp");
50 if( pTmp && strlen(pTmp) >= 2 )
52 sTempDir = std::string( pTmp );
54 else
56 #if (defined UNX) || (defined OS2)
57 int nLen;
58 pTmp = P_tmpdir;
59 nLen = strlen(pTmp);
60 if (pTmp[ nLen - 1] == '/')
62 char cBuf[256];
63 char* pBuf = cBuf;
64 strncpy( pBuf, pTmp, nLen - 1 );
65 pBuf[nLen - 1] = '\0';
66 sTempDir = std::string( pBuf );
68 else
70 sTempDir = std::string( pTmp );
72 #else
73 fprintf(stderr, "error: No temp dir found.\n");
74 #endif
76 return sTempDir;