mktemp rewrited

This commit is contained in:
Your Name 2023-12-20 17:51:19 +03:00
parent 944ede280c
commit 76dfcb5328
5 changed files with 18 additions and 33 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
PROJECT_DIR=$(pwd)
CFLAGS="-pedantic -s -Os -Wall -Wextra -I$PROJECT_DIR -I$PROJECT_DIR/include/libmu -lm"
CFLAGS="-pedantic -s -Os -flto -Werror -Wall -Wextra -I$PROJECT_DIR -I$PROJECT_DIR/include/libmu -lm"
projects="console-tools coreutils sysutils sysutils-linux findutils networking miscutils shell loginutils procps"
CC=cc

View File

@ -10,11 +10,10 @@ typedef struct {
} MU_MOUNT_OPTS;
#if defined(__BSD__)
/* Todo */
#define MS_RDONLY MNT_RDONLY
#define MS_REMOUNT 0
#define MS_SYNCHRONOUS MNT_SYNCHRONOUS
#define MS_NODEV 0
#define MS_NODEV MNT_NODEV
#endif
MU_MOUNT_OPTS mu_options[] = {
@ -45,7 +44,6 @@ unsigned long mu_parse_opts(char *str) {
token = strtok(NULL, ",");
}
printf("%lu\n", opt);
return opt;
}

View File

@ -3,6 +3,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include "make_path.h"
int make_temp_dir(char *tmp) {
if (!mkdtemp(tmp)) {
@ -45,7 +46,6 @@ int make_temp_file(char *tmp) {
int main(int argc, char **argv) {
unsigned int d_flag = 0;
unsigned int flag = 0;
char *path = NULL;
int opt;
@ -68,37 +68,31 @@ int main(int argc, char **argv) {
argv += optind;
argc -= optind;
if (argc == 0) {
if (path == NULL) {
path = getenv("TMPDIR");
if (!path || path[0] == '\0')
path = "/tmp/";
}
if (chdir(path)) {
fprintf(stderr, "mktemp: %s\n", strerror(errno));
return 1;
}
flag = 1;
if (path == NULL) {
path = getenv("TMPDIR");
if (!path || path[0] == '\0')
path = "/tmp/";
}
else
path = "";
char def[] = "tmp.XXXXXX";
char *x = (argc == 0) ? def : argv[0];
char *x = mu_make_path("mktemp", path, (argc == 0) ? "tmp.XXXXXX" : argv[0]);
if (x == NULL)
return 1;
if (d_flag) {
if (make_temp_dir(x))
if (make_temp_dir(x)) {
free(x);
return 1;
}
}
else {
if (make_temp_file(x))
if (make_temp_file(x)) {
free(x);
return 1;
}
}
printf("%s%c%s\n", path, (flag) ? '/' : 0, x);
puts(x);
free(x);
return 0;
}

View File

@ -1,2 +0,0 @@
#!/bin/sh
echo ./*.c $CFLAGS $OUTPUT | xargs $CC

View File

@ -1,5 +0,0 @@
#include <stdio.h>
int main(int argc, char **argv) {
return 0;
}