summaryrefslogtreecommitdiffstats
path: root/man3p/strcmp.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man3p/strcmp.3p')
-rw-r--r--man3p/strcmp.3p100
1 files changed, 100 insertions, 0 deletions
diff --git a/man3p/strcmp.3p b/man3p/strcmp.3p
new file mode 100644
index 000000000..0f082174c
--- /dev/null
+++ b/man3p/strcmp.3p
@@ -0,0 +1,100 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "STRCMP" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" strcmp
+.SH NAME
+strcmp \- compare two strings
+.SH SYNOPSIS
+.LP
+\fB#include <string.h>
+.br
+.sp
+int strcmp(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB);
+.br
+\fP
+.SH DESCRIPTION
+.LP
+The \fIstrcmp\fP() function shall compare the string pointed to by
+\fIs1\fP to the string pointed to by \fIs2\fP.
+.LP
+The sign of a non-zero return value shall be determined by the sign
+of the difference between the values of the first pair of
+bytes (both interpreted as type \fBunsigned char\fP) that differ in
+the strings being compared.
+.SH RETURN VALUE
+.LP
+Upon completion, \fIstrcmp\fP() shall return an integer greater than,
+equal to, or less than 0, if the string pointed to by
+\fIs1\fP is greater than, equal to, or less than the string pointed
+to by \fIs2\fP, respectively.
+.SH ERRORS
+.LP
+No errors are defined.
+.LP
+\fIThe following sections are informative.\fP
+.SH EXAMPLES
+.SS Checking a Password Entry
+.LP
+The following example compares the information read from standard
+input to the value of the name of the user entry. If the
+\fIstrcmp\fP() function returns 0 (indicating a match), a further
+check will be made to see if the user entered the proper old
+password. The \fIcrypt\fP() function shall encrypt the old password
+entered by the user,
+using the value of the encrypted password in the \fBpasswd\fP structure
+as the salt. If this value matches the value of the
+encrypted \fBpasswd\fP in the structure, the entered password \fIoldpasswd\fP
+is the correct user's password. Finally, the
+program encrypts the new password so that it can store the information
+in the \fBpasswd\fP structure.
+.sp
+.RS
+.nf
+
+\fB#include <string.h>
+#include <unistd.h>
+#include <stdio.h>
+\&...
+int valid_change;
+struct passwd *p;
+char user[100];
+char oldpasswd[100];
+char newpasswd[100];
+char savepasswd[100];
+\&...
+if (strcmp(p->pw_name, user) == 0) {
+ if (strcmp(p->pw_passwd, crypt(oldpasswd, p->pw_passwd)) == 0) {
+ strcpy(savepasswd, crypt(newpasswd, user));
+ p->pw_passwd = savepasswd;
+ valid_change = 1;
+ }
+ else {
+ fprintf(stderr, "Old password is not valid\\n");
+ }
+}
+\&...
+\fP
+.fi
+.RE
+.SH APPLICATION USAGE
+.LP
+None.
+.SH RATIONALE
+.LP
+None.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIstrncmp\fP() , the Base Definitions volume of IEEE\ Std\ 1003.1-2001,
+\fI<string.h>\fP
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .