return fcntl(fd,F_SETLK,&lock) == 0;
}
+
+
+void glob_expand(char **argv, int *argc, int maxargs)
+{
+#ifndef HAVE_GLOB
+ (*argc)++;
+ return;
+#else
+ glob_t globbuf;
+ int i;
+
+ rprintf(FINFO,"glob(%s) -> %d\n", argv[*argc], globbuf.gl_pathc);
+ memset(&globbuf, 0, sizeof(globbuf));
+ glob(argv[*argc], 0, NULL, &globbuf);
+ if (globbuf.gl_pathc == 0) {
+ (*argc)++;
+ globfree(&globbuf);
+ return;
+ }
+ for (i=0; i<(maxargs - (*argc)) && i<globbuf.gl_pathc;i++) {
+ if (i == 0) free(argv[*argc]);
+ argv[(*argc) + i] = strdup(globbuf.gl_pathv[i]);
+ if (!argv[(*argc) + i]) out_of_memory("glob_expand");
+ }
+ globfree(&globbuf);
+ (*argc) += i;
+#endif
+}