hFILE *hopen(const char *fname, const char *mode) { if (strncmp(fname, "http://", 7) == 0 || strncmp(fname, "ftp://", 6) == 0) return hopen_net(fname, mode); else if (strncmp(fname, "data:", 5) == 0) return hopen_mem(fname + 5, mode, strlen(fname + 5), 0); // Data must be text for length to be correctly specified else if (strcmp(fname, "-") == 0) return hopen_fd_stdinout(mode); else return hopen_fd(fname, mode); }
hFILE *hopen(const char *fname, const char *mode) { if (strncmp(fname, "http://", 7) == 0 || strncmp(fname, "ftp://", 6) == 0) return hopen_net(fname, mode); else if (strncmp(fname, "data:", 5) == 0) return hopen_mem(fname + 5, mode); else if (strcmp(fname, "-") == 0) return hopen_fd_stdinout(mode); else return hopen_fd(fname, mode); }