about summary refs log tree commit diff
path: root/libio/vasprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libio/vasprintf.c')
-rw-r--r--libio/vasprintf.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/libio/vasprintf.c b/libio/vasprintf.c
index 8dda7d9b1b..1cab48512e 100644
--- a/libio/vasprintf.c
+++ b/libio/vasprintf.c
@@ -43,9 +43,6 @@ _IO_vasprintf (result_ptr, format, args)
   const _IO_size_t init_string_size = 100;
   char *string;
   _IO_strfile sf;
-#ifdef _IO_MTSAFE_IO
-  _IO_lock_t lock;
-#endif
   int ret;
   _IO_size_t needed;
   _IO_size_t allocated;
@@ -53,18 +50,15 @@ _IO_vasprintf (result_ptr, format, args)
   if (string == NULL)
     return -1;
 #ifdef _IO_MTSAFE_IO
-  sf._sbf._f._lock = &lock;
+  sf._sbf._f._lock = NULL;
 #endif
-  _IO_no_init ((_IO_FILE *) &sf._sbf, 0, -1, NULL, NULL);
+  _IO_no_init ((_IO_FILE *) &sf._sbf, _IO_USER_LOCK, -1, NULL, NULL);
   _IO_JUMPS ((struct _IO_FILE_plus *) &sf._sbf) = &_IO_str_jumps;
   _IO_str_init_static (&sf, string, init_string_size, string);
   sf._sbf._f._flags &= ~_IO_USER_BUF;
   sf._s._allocate_buffer = (_IO_alloc_type) malloc;
   sf._s._free_buffer = (_IO_free_type) free;
-#ifdef _IO_MTSAFE_IO
-  __fsetlocking ((FILE *) &sf, FSETLOCKING_BYCALLER);
-#endif
-  ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
+  ret = _IO_vfprintf (&sf._sbf._f, format, args);
   if (ret < 0)
     return ret;
   /* Only use realloc if the size we need is of the same order of