<p align="center"><i>read ebooks with plugin gutenread (Android)</i></p>
<p align="center"><a href="https://asciinema.org/a/336443"><img src="https://asciinema.org/a/336443.png" width="734"/></a></p>
-<p align="center"><i>Live Previews</i></p>
+<p align="center"><i>Live Previews asciicast</i></p>
## Introduction
#endif
/* Tokens used for path creation */
-#define TOK_PLG 0
-#define TOK_SSN 1
-#define TOK_MNT 2
+#define TOK_SSN 0
+#define TOK_MNT 1
+#define TOK_PLG 2
static const char * const toks[] = {
- "plugins",
"sessions",
"mounts",
+ "plugins", /* must be the last entry */
};
/* Patterns */
xstrsncpy(cfgpath + r - 1, "/nnn", len - r);
DPRINTF_S(cfgpath);
- /* Create ~/.config/nnn/plugins */
- mkpath(cfgpath, toks[TOK_PLG], plgpath);
- if (!xmktree(plgpath, TRUE)) {
- xerror();
- return FALSE;
- }
-
- /* Create ~/.config/nnn/sessions */
- char ssnpath[len];
-
- mkpath(cfgpath, toks[TOK_SSN], ssnpath);
- if (!xmktree(ssnpath, TRUE)) {
- xerror();
- return FALSE;
- }
-
- /* Create ~/.config/nnn/mounts */
- char mntpath[len];
-
- mkpath(cfgpath, toks[TOK_MNT], mntpath);
- if (!xmktree(mntpath, TRUE)) {
- xerror();
- return FALSE;
+ /* Create sessions, mounts and plugins directories */
+ for (r = 0; r < ELEMENTS(toks); ++r) {
+ mkpath(cfgpath, toks[r], plgpath);
+ if (!xmktree(plgpath, TRUE)) {
+ DPRINTF_S(toks[r]);
+ xerror();
+ return FALSE;
+ }
}
/* Set selection file path */