⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readsubdir.c

📁 linux下qmail的源码 本人加了一些注释
💻 C
字号:
#include "readsubdir.h"#include "fmt.h"#include "scan.h"#include "str.h"#include "auto_split.h"void readsubdir_init(rs,name,pause)readsubdir *rs;char *name;void (*pause)();{ rs->name = name; rs->pause = pause; rs->dir = 0; rs->pos = 0;}static char namepos[FMT_ULONG + 4 + READSUBDIR_NAMELEN];int readsubdir_next(rs,id)readsubdir *rs;unsigned long *id;{ direntry *d; unsigned int len; if (!rs->dir)  {   if (rs->pos >= auto_split) return 0;   if (str_len(rs->name) > READSUBDIR_NAMELEN) { rs->pos++; return -1; }   len = 0;   len += fmt_str(namepos + len,rs->name);   namepos[len++] = '/';   len += fmt_ulong(namepos + len,(unsigned long) rs->pos);   namepos[len] = 0;   while (!(rs->dir = opendir(namepos))) rs->pause(namepos);   rs->pos++;   return -1;  } d = readdir(rs->dir); if (!d) { closedir(rs->dir); rs->dir = 0; return -1; } if (str_equal(d->d_name,".")) return -1; if (str_equal(d->d_name,"..")) return -1; len = scan_ulong(d->d_name,id); if (!len || d->d_name[len]) return -2; return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -