version 1.13, 2012/04/11 06:05:43 |
version 1.14, 2012/06/27 06:53:13 |
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
*/ |
*/ |
|
#include <err.h> |
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
|
|
char c; |
char c; |
|
|
for (len = 0; name[len] != '\0'; len++) { |
for (len = 0; name[len] != '\0'; len++) { |
if (len == OPT_NAMEMAX) { |
if (len == OPT_NAMEMAX) |
fprintf(stderr, "%s: name too long\n", name); |
errx(1, "%s: name too long", name); |
exit(1); |
|
} |
|
c = name[len]; |
c = name[len]; |
if ((c < 'a' || c > 'z') && |
if ((c < 'a' || c > 'z') && |
(c < 'A' || c > 'Z')) { |
(c < 'A' || c > 'Z')) |
fprintf(stderr, "%s: '%c' not allowed\n", name, c); |
errx(1, "%s: '%c' not allowed", name, c); |
exit(1); |
|
} |
|
} |
} |
o = malloc(sizeof(struct opt)); |
o = malloc(sizeof(struct opt)); |
if (o == NULL) { |
if (o == NULL) |
perror("opt_new: malloc"); |
err(1, "opt_new: malloc"); |
exit(1); |
|
} |
|
if (mode & MODE_RECMASK) |
if (mode & MODE_RECMASK) |
o->wpar = (mode & MODE_MON) ? *rpar : *wpar; |
o->wpar = (mode & MODE_MON) ? *rpar : *wpar; |
if (mode & MODE_PLAY) |
if (mode & MODE_PLAY) |
|
|
memcpy(o->name, name, len + 1); |
memcpy(o->name, name, len + 1); |
for (po = &opt_list; *po != NULL; po = &(*po)->next) { |
for (po = &opt_list; *po != NULL; po = &(*po)->next) { |
if (o->dev->num == (*po)->dev->num && |
if (o->dev->num == (*po)->dev->num && |
strcmp(o->name, (*po)->name) == 0) { |
strcmp(o->name, (*po)->name) == 0) |
fprintf(stderr, "%s: already defined\n", o->name); |
errx(1, "%s: already defined", o->name); |
exit(1); |
|
} |
|
} |
} |
o->next = NULL; |
o->next = NULL; |
*po = o; |
*po = o; |