Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / libgo / runtime / go-getgoroot.c
blobe74fee886a141bcfb8e0f56b910f6663d0210aba
1 /* go-getgoroot.c -- getgoroot function for runtime package.
3 Copyright 2010 The Go Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style
5 license that can be found in the LICENSE file. */
7 #include <stdlib.h>
9 #include "go-string.h"
11 struct __go_string getgoroot (void) asm ("libgo_runtime.runtime.getgoroot");
13 struct __go_string
14 getgoroot ()
16 const char *p;
17 struct __go_string ret;
19 p = getenv ("GOROOT");
20 ret.__data = (const unsigned char *) p;
21 if (ret.__data == NULL)
22 ret.__length = 0;
23 else
24 ret.__length = __builtin_strlen (p);
25 return ret;