Lines Matching refs:unc
437 smb_unc_init(const char *path, smb_unc_t *unc) in smb_unc_init() argument
441 if (path == NULL || unc == NULL || (*path != '\\' && *path != '/')) in smb_unc_init()
444 bzero(unc, sizeof (smb_unc_t)); in smb_unc_init()
447 unc->unc_buf = smb_mem_strdup(path); in smb_unc_init()
449 if ((unc->unc_buf = strdup(path)) == NULL) in smb_unc_init()
453 (void) strsubst(unc->unc_buf, '\\', '/'); in smb_unc_init()
454 (void) strcanon(unc->unc_buf, "/"); in smb_unc_init()
456 unc->unc_server = unc->unc_buf + 1; in smb_unc_init()
457 if (*unc->unc_server == '\0') { in smb_unc_init()
458 smb_unc_free(unc); in smb_unc_init()
462 if ((p = strchr(unc->unc_server, '/')) == NULL) { in smb_unc_init()
463 smb_unc_free(unc); in smb_unc_init()
468 unc->unc_share = p; in smb_unc_init()
470 if (*unc->unc_share == '\0') { in smb_unc_init()
471 smb_unc_free(unc); in smb_unc_init()
475 unc->unc_path = strchr(unc->unc_share, '/'); in smb_unc_init()
476 if ((p = unc->unc_path) == NULL) in smb_unc_init()
479 unc->unc_path++; in smb_unc_init()
483 if ((p = strchr(unc->unc_path, '\0')) != NULL) { in smb_unc_init()
492 smb_unc_free(smb_unc_t *unc) in smb_unc_free() argument
494 if (unc == NULL) in smb_unc_free()
498 smb_mem_free(unc->unc_buf); in smb_unc_free()
500 free(unc->unc_buf); in smb_unc_free()
502 unc->unc_buf = NULL; in smb_unc_free()