Path: blob/main/crypto/krb5/src/util/windows/libecho.c
34907 views
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */1/*2* libecho.c3*4* For each argument on the command line, echo it. Should expand5* DOS wildcards correctly.6*7* Syntax: libecho [-p prefix] list...8*/9#include <stdio.h>10#include <io.h>11#include <string.h>1213void echo_files(char *, char *);1415int16main(int argc, char *argv[])17{18int i;19char *prefix;2021prefix = "";2223if (argc < 2) {24fprintf(stderr, "Usage: libecho [-p prefix] list...\n");25return 1;26}2728for (i = 1 ; i < argc ; i++)29if (!stricmp(argv[i], "-p"))30prefix = argv[++i];31else32echo_files(prefix, argv[i]);3334return 0;35}3637void38echo_files(char *prefix, char *f)39{40intptr_t ff;41struct _finddata_t fdt;42char *slash;43char filepath[256];4445/*46* We're unix based quite a bit here. Look for normal slashes and47* make them reverse slashes.48*/49while((slash = strrchr(f, '/')) != NULL)50*slash = '\\';5152strcpy(filepath, f);5354slash = strrchr(filepath, '\\');5556if (slash) {57slash++;58*slash = 0;59} else {60filepath[0] = '\0';61}6263ff = _findfirst(f, &fdt);6465if (ff < 0)66return;6768printf("%s%s%s\n", prefix, filepath, fdt.name);6970for (;;) {71if (_findnext(ff, &fdt) < 0)72break;73printf("%s%s%s\n", prefix, filepath, fdt.name);74}75_findclose(ff);76}777879