Thread (24 messages) flat view 24 messages, 4 authors, 2016-06-15

Re: [PATCH v3 05/10] abspath: convert real_path_internal() to strbuf

From: René Scharfe <hidden>
Date: 2016-06-15 23:02:03

Am 28.07.2014 um 21:09 schrieb Jeff King:
On Mon, Jul 28, 2014 at 08:28:30PM +0200, René Scharfe wrote:
quoted
  static const char *real_path_internal(const char *path, int die_on_error)
  {
-	static char bufs[2][PATH_MAX + 1], *buf = bufs[0], *next_buf = bufs[1];
+	static struct strbuf sb = STRBUF_INIT;
Hrm. I thought at first that this was our usual trick of keeping two
"simultaneous" static buffers, so that we can do:

   printf("paths '%s' and '%s'\n", real_path(foo), real_path(bar));

But it looks like that is not the case, and we only have two for
swapping back and forth as we figure out the answer (but they both need
to be static, because we do not know which one we will return in the
end). Is that right?
AFAICS it's only swapped to avoid copying the results of a readlink() 
call against one buffer into the other.  So, yes, that's how I 
understand it as well.

René
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help