MCPcopy Create free account
hub / github.com/boostorg/build / cwd_init

Function cwd_init

v2/engine/cwd.c:38–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36
37
38void cwd_init( void )
39{
40 int buffer_size = PATH_MAX;
41 char * cwd_buffer = 0;
42 int error;
43
44 assert( !cwd_ );
45
46 do
47 {
48 char * const buffer = BJAM_MALLOC_RAW( buffer_size );
49 cwd_buffer = getcwd( buffer, buffer_size );
50 error = errno;
51 if ( cwd_buffer )
52 {
53 /* We store the path using its canonical/long/key format. */
54 OBJECT * const cwd = object_new( cwd_buffer );
55 cwd_ = path_as_key( cwd );
56 object_free( cwd );
57 }
58 buffer_size *= 2;
59 BJAM_FREE_RAW( buffer );
60 }
61 while ( !cwd_ && error == ERANGE );
62
63 if ( !cwd_ )
64 {
65 perror( "can not get current working directory" );
66 exit( EXITBAD );
67 }
68}
69
70
71OBJECT * cwd( void )

Callers 1

mainFunction · 0.85

Calls 3

object_newFunction · 0.85
object_freeFunction · 0.85
path_as_keyFunction · 0.70

Tested by

no test coverage detected