MCPcopy Create free account
hub / github.com/acl-dev/acl / parse_path

Method parse_path

lib_acl_cpp/src/queue/queue_manager.cpp:234–265  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232}
233
234bool queue_manager::parse_path(const char* path, string* home,
235 string* queueName, string* queueSub)
236{
237 if (path == NULL || *path == 0) {
238 logger_error("path invalid!");
239 return false;
240 }
241
242 /* WINDOWS ֧�� '/' �� '\\' ���ַָ��� */
243 // ���ݸ�ʽ: /home/queueName/queueSub
244 ACL_ARGV *argv = acl_argv_split(path, "/\\");
245 if (argv->argc < 3) {
246 logger_error("path(%s) invalid", path);
247 acl_argv_free(argv);
248 return false;
249 }
250
251 // ȡ��home
252 home->clear();
253 // �����һ���ַ�Ϊ PATH_SEP ����Ҫ����
254 if (*path == PATH_SEP) {
255 home->push_back(PATH_SEP);
256 }
257 *home += argv->argv[argv->argc - 3];
258
259 // ȡ�ö�����
260 *queueName = argv->argv[argv->argc - 2];
261 // ȡ�ö�����Ŀ¼��
262 *queueSub = argv->argv[argv->argc - 1];
263 acl_argv_free(argv);
264 return true;
265}
266
267unsigned int queue_manager::hash_queueSub(const char* partName, unsigned width)
268{

Callers

nothing calls this directly

Calls 4

acl_argv_splitFunction · 0.85
acl_argv_freeFunction · 0.85
clearMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected