awd.c 567 B

12345678910111213141516171819202122232425262728293031323334
  1. #include <u.h>
  2. #include <libc.h>
  3. void
  4. main(int argc, char **argv)
  5. {
  6. int fd, n, m;
  7. char buf[1024], dir[512], *str;
  8. fd = open("/dev/acme/ctl", OWRITE);
  9. if(fd < 0)
  10. exits(0);
  11. getwd(dir, 512);
  12. strcpy(buf, "name ");
  13. strcpy(buf+5, dir);
  14. n = strlen(buf);
  15. if(n>0 && buf[n-1]!='/')
  16. buf[n++] = '/';
  17. buf[n++] = '-';
  18. if(argc > 1)
  19. str = argv[1];
  20. else
  21. str = "rc";
  22. m = strlen(str);
  23. strcpy(buf+n, str);
  24. n += m;
  25. buf[n++] = '\n';
  26. write(fd, buf, n);
  27. strcpy(buf, "dumpdir ");
  28. strcpy(buf+8, dir);
  29. strcat(buf, "\n");
  30. write(fd, buf, strlen(buf));
  31. exits(0);
  32. }