default.c
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:2k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. /* @(#)default.c 1.2 98/12/01 Copyright 1997 J. Schilling */
  2. #ifndef lint
  3. static char sccsid[] =
  4. "@(#)default.c 1.2 98/12/01 Copyright 1997 J. Schilling";
  5. #endif
  6. /*
  7.  * Copyright (c) 1997 J. Schilling
  8.  */
  9. /*
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License as published by
  12.  * the Free Software Foundation; either version 2, or (at your option)
  13.  * any later version.
  14.  *
  15.  * This program is distributed in the hope that it will be useful,
  16.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  * GNU General Public License for more details.
  19.  *
  20.  * You should have received a copy of the GNU General Public License
  21.  * along with this program; see the file COPYING.  If not, write to
  22.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  23.  */
  24. #include <mconfig.h>
  25. #include <stdio.h>
  26. #include <strdefs.h>
  27. #include <deflts.h>
  28. #define MAXLINE 512
  29. static FILE *dfltfile = (FILE *)NULL;
  30. int
  31. defltopen(name)
  32. const char *name;
  33. {
  34. if (dfltfile != (FILE *)NULL)
  35. fclose(dfltfile);
  36. if (name == (char *)NULL) {
  37. dfltfile = NULL;
  38. return (0);
  39. }
  40. if ((dfltfile = fopen(name, "r")) == (FILE *)NULL) {
  41. return (-1);
  42. }
  43. return (0);
  44. }
  45. int
  46. defltclose()
  47. {
  48. int ret;
  49. if (dfltfile != (FILE *)NULL) {
  50. ret = fclose(dfltfile);
  51. dfltfile = NULL;
  52. return (ret);
  53. }
  54. return (0);
  55. }
  56. char *
  57. defltread(name)
  58. const char *name;
  59. {
  60. register int len;
  61. register int namelen;
  62. static  char buf[MAXLINE];
  63. if (dfltfile == (FILE *)NULL) {
  64. return ((char *)NULL);
  65. }
  66. namelen = strlen(name);
  67. rewind(dfltfile);
  68. while (fgets(buf, sizeof(buf), dfltfile)) {
  69. len = strlen(buf);
  70. if (buf[len-1] == 'n') {
  71. buf[len-1] = 0;
  72. } else {
  73. return ((char *)NULL);
  74. }
  75. if (strncmp(name, buf, namelen) == 0) {
  76. return (&buf[namelen]);
  77. }
  78. }
  79. return ((char *)NULL);
  80. }
  81. int
  82. defltcntl(cmd, flags)
  83. int cmd;
  84. int flags;
  85. {
  86. int  oldflags = 0;
  87. return (oldflags);
  88. }