Skip to content

Commit e45bc43

Browse files
committed
Helper function to set Lbufname
1 parent 40d345f commit e45bc43

File tree

5 files changed

+16
-12
lines changed

5 files changed

+16
-12
lines changed

bcmds.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ static struct zbuff *Bufflist_tail;
3030
struct zbuff *Curbuff; /* the current buffer */
3131
struct buff *Bbuff; /* the current low-level buffer */
3232

33+
/* Set Lbufname */
34+
void set_last_bufname(struct zbuff *buff)
35+
{
36+
strlcpy(Lbufname, buff->bname, sizeof(Lbufname));
37+
}
38+
3339
/* Get the word at the current buffer point and store in 'word'.
3440
* Get at the most 'max' characters.
3541
* Leaves the point alone.
@@ -86,15 +92,15 @@ static void switchto_part(void)
8692
void Zswitch_to_buffer(void)
8793
{
8894
int rc;
89-
char *was = Curbuff->bname;
95+
struct zbuff *was = Curbuff;
9096

9197
Arg = 0;
9298
Nextpart = switchto_part;
9399
rc = getplete("Buffer: ", Lbufname, Bnames, sizeof(char *), Numbnames);
94100
Nextpart = NULL;
95101
if (rc == -1)
96102
return;
97-
strlcpy(Lbufname, was, sizeof(Lbufname));
103+
set_last_bufname(was);
98104
uncomment(Curbuff);
99105
cswitchto(cfindbuff(Bnames[rc]));
100106
}
@@ -106,7 +112,7 @@ void Znext_buffer(void)
106112
if (!next)
107113
next = Bufflist;
108114
if (next) {
109-
strlcpy(Lbufname, Curbuff->bname, sizeof(Lbufname));
115+
set_last_bufname(Curbuff);
110116
uncomment(Curbuff);
111117
cswitchto(next);
112118
reframe();

file.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -320,18 +320,17 @@ static bool readone(char *bname, char *path)
320320
else if (access(path, R_OK | W_OK) == EOF)
321321
Curbuff->bmode |= VIEW;
322322
#endif
323-
strcpy(Lbufname, was->bname);
323+
set_last_bufname(was);
324324
return true;
325325
}
326326

327327
bool findfile(char *path)
328328
{
329329
char tbname[BUFNAMMAX + 1];
330-
char *was;
331330
struct zbuff *tbuff;
331+
struct zbuff *was = Curbuff;
332332

333333
Arg = 0;
334-
was = Curbuff->bname;
335334

336335
/* limit name to BUFNAMMAX */
337336
strncpy(tbname, lastpart(path), BUFNAMMAX);
@@ -345,7 +344,7 @@ bool findfile(char *path)
345344
zswitchto(tbuff);
346345
if (Initializing)
347346
return true;
348-
strcpy(Lbufname, was);
347+
set_last_bufname(was);
349348
break;
350349
}
351350

tags.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ void Znext_bookmark(void)
194194
}
195195

196196
if (Bookmrks[Bookmark]->mbuff != Bbuff) {
197-
strcpy(Lbufname, Curbuff->bname);
197+
set_last_bufname(Curbuff);
198198
wgoto(Bookmrks[Bookmark]->mbuff);
199199
}
200200
bpnttomrk(Bbuff, Bookmrks[Bookmark]);

z.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,9 +264,7 @@ int main(int argc, char **argv)
264264
if (tbuff) {
265265
zswitchto(tbuff);
266266

267-
strlcpy(Lbufname,
268-
Curbuff->prev ? Curbuff->prev->bname : MAINBUFF,
269-
BUFNAMMAX + 1);
267+
set_last_bufname(Curbuff->prev ? Curbuff->prev : Curbuff);
270268
}
271269

272270
winit();

z.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ extern int raw_mode;
189189

190190
#define CMD(n) (*Cmds[n][Curcmds])()
191191

192-
extern char Lbufname[];
193192
extern struct zbuff *Bufflist;
194193
extern struct zbuff *Buff_save;
195194
extern struct mark *Sstart;
@@ -215,6 +214,8 @@ extern void (*Nextpart)(void);
215214
#endif
216215
#define T_REGION T_REVERSE
217216

217+
void set_last_bufname(struct zbuff *buff);
218+
218219
char *zgetcwd(char *cwd, int len);
219220
#ifdef WIN32
220221
char *gethomedir(void);

0 commit comments

Comments
 (0)